38                 $this->lng->loadLanguageModule(
'crs');
 
   39                 $this->tabs_gui =& $ilTabs;
 
   41                 $this->container_gui =& $container_gui_obj;
 
   42                 $this->container_obj =& $this->container_gui->object;
 
   51                 if(!$ilAccess->checkAccess(
'read',
'',$this->container_obj->getRefId()))
 
   53                         $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),$ilErr->WARNING);
 
   60                 $this->tabs_gui->setTabActive(
'view_content');
 
   61                 $cmd = $this->ctrl->getCmd();
 
   63                 switch($this->ctrl->getNextClass($this))
 
   65                         case 'ilcourseitemadministrationgui':
 
   67                                 include_once 
'Modules/Course/classes/class.ilCourseItemAdministrationGUI.php';
 
   68                                 $this->tabs_gui->clearSubTabs();
 
   69                                 $this->ctrl->setReturn($this,
'view');
 
   72                                 $this->ctrl->forwardCommand($item_adm_gui);
 
   75                         case 'ilcoursearchivesgui':
 
   79                         case 'ilcourseobjectivepresentationgui':
 
   84                                 $ilCtrl->saveParameterByClass(
"ilcolumngui", 
"col_return");
 
   85                                 $ilTabs->setSubTabActive(
"crs_content");
 
   97                                 if(!$this->is_tutor = $ilAccess->checkAccess(
'write',
'',$this->course_obj->getRefId()) and
 
   98                                    $this->course_obj->isArchived())
 
  105                                 if((!$this->is_tutor and
 
  106                                    $this->container_obj->getType() == 
'crs' and
 
  107                                    $this->container_obj->enabledObjectiveView()) ||
 
  108                                    $_GET[
"col_return"] == 
"objectives")
 
  110                                         $this->use_objective_presentation = 
true;
 
  131                 if(
$_SESSION[
'crs_timings_panel'][$this->course_obj->getId()])
 
  133                         return 'editTimings';
 
  135                 if($ilAccess->checkAccess(
'write',
'',$this->container_obj->getRefId()))
 
  139                 if($this->container_obj->getType() == 
'crs' and
 
  142                         return 'editUserTimings';
 
  149                 include_once 
'Modules/Course/classes/class.ilCourseObjectivePresentationGUI.php';
 
  151                 $this->ctrl->setReturn($this,
'');
 
  154                 if(!$this->ctrl->getNextClass())
 
  156                         $this->ctrl->setCmdClass(get_class($objectives_gui));
 
  158                 $this->ctrl->forwardCommand($objectives_gui);
 
  164                 include_once 
'Modules/Course/classes/class.ilCourseArchivesGUI.php';
 
  166                 $this->ctrl->setReturn($this,
'');
 
  168                 $this->ctrl->forwardCommand($archives_gui);
 
  170                 $this->tabs_gui->setTabActive(
'view_content');
 
  171                 $this->tabs_gui->setSubTabActive(
'crs_archives');
 
  178                 include_once 
'./Modules/Course/classes/class.ilCourseStart.php';
 
  180                 global $ilAccess,$ilUser;
 
  182                 if($ilAccess->checkAccess(
'write',
'',$this->course_obj->getRefId()))
 
  186                 $this->start_obj = 
new ilCourseStart($this->course_obj->getRefId(),$this->course_obj->getId());
 
  187                 if(count($this->start_obj->getStartObjects()) and !$this->start_obj->allFullfilled($ilUser->getId()))
 
  196                 include_once 
'./Modules/Course/classes/class.ilCourseLMHistory.php';
 
  197                 include_once 
'./Services/Repository/classes/class.ilRepositoryExplorer.php';
 
  198                 include_once 
'./classes/class.ilLink.php';
 
  200                 global $rbacsystem,
$ilias,$ilUser,$ilAccess,$ilObjDataCache;
 
  202                 $this->tabs_gui->setSubTabActive(
'crs_content');
 
  204                 $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.crs_start_view.html",
'Modules/Course');
 
  205                 $this->tpl->setVariable(
"INFO_STRING",$this->lng->txt(
'crs_info_start'));
 
  206                 $this->tpl->setVariable(
"TBL_TITLE_START",$this->lng->txt(
'crs_table_start_objects'));
 
  207                 $this->tpl->setVariable(
"HEADER_NR",$this->lng->txt(
'crs_nr'));
 
  208                 $this->tpl->setVariable(
"HEADER_DESC",$this->lng->txt(
'description'));
 
  209                 $this->tpl->setVariable(
"HEADER_EDITED",$this->lng->txt(
'crs_objective_accomplished'));
 
  212                 $lm_continue =& 
new ilCourseLMHistory($this->course_obj->getRefId(),$ilUser->getId());
 
  216                 foreach($this->start_obj->getStartObjects() as $start)
 
  218                         $obj_id = $ilObjDataCache->lookupObjId($start[
'item_ref_id']);
 
  219                         $ref_id = $start[
'item_ref_id'];
 
  220                         $type = $ilObjDataCache->lookupType(
$obj_id);
 
  226                         $obj_frame = $obj_frame ? $obj_frame : 
'';
 
  229                         $obj_frame = $type == 
'tst' ? 
'' : $obj_frame;
 
  233                         if($ilAccess->checkAccess(
'read',
'',
$ref_id))
 
  235                                 $this->tpl->setCurrentBlock(
"start_read");
 
  236                                 $this->tpl->setVariable(
"READ_TITLE_START",$ilObjDataCache->lookupTitle(
$obj_id));
 
  237                                 $this->tpl->setVariable(
"READ_TARGET_START",$obj_frame);
 
  238                                 $this->tpl->setVariable(
"READ_LINK_START", $obj_link.
'&crs_show_result='.$this->course_obj->getRefId());
 
  239                                 $this->tpl->parseCurrentBlock();
 
  243                                 $this->tpl->setCurrentBlock(
"start_visible");
 
  244                                 $this->tpl->setVariable(
"VISIBLE_LINK_START",$ilObjDataCache->lookupTitle(
$obj_id));
 
  245                                 $this->tpl->parseCurrentBlock();
 
  249                         if(isset($continue_data[
$ref_id]))
 
  251                                 $this->tpl->setCurrentBlock(
"link");
 
  252                                 $this->tpl->setVariable(
"LINK_HREF",
ilLink::_getLink($ref_id,
'',array(
'obj_id',
 
  253                                                                                                                                                                           $continue_data[$ref_id][
'lm_page_id'])));
 
  254                                 #$this->tpl->setVariable("CONTINUE_LINK_TARGET",$target); 
  255                                 $this->tpl->setVariable(
"LINK_NAME",$this->lng->txt(
'continue_work'));
 
  256                                 $this->tpl->parseCurrentBlock();
 
  260                         if(!$ilUser->isDesktopItem($ref_id,$type) and
 
  261                            $this->course_obj->getAboStatus())
 
  263                                 if ($ilAccess->checkAccess(
'read',
'',$ref_id))
 
  265                                         $this->tpl->setCurrentBlock(
"link");
 
  266                                         $this->ctrl->setParameterByClass(get_class($this->container_gui),
'item_ref_id',$ref_id);
 
  267                                         $this->ctrl->setParameterByClass(get_class($this->container_gui),
'item_id',$ref_id);
 
  268                                         $this->ctrl->setParameterByClass(get_class($this->container_gui),
'type',$type);
 
  270                                         $this->tpl->setVariable(
"LINK_HREF",$this->ctrl->getLinkTarget($this->container_gui,
'addToDesk'));
 
  271                                         $this->tpl->setVariable(
"LINK_NAME", $this->lng->txt(
"to_desktop"));
 
  272                                         $this->tpl->parseCurrentBlock();
 
  275                         elseif($this->course_obj->getAboStatus())
 
  277                                         $this->tpl->setCurrentBlock(
"link");
 
  278                                         $this->ctrl->setParameterByClass(get_class($this->container_gui),
'item_ref_id',$ref_id);
 
  279                                         $this->ctrl->setParameterByClass(get_class($this->container_gui),
'item_id',$ref_id);
 
  280                                         $this->ctrl->setParameterByClass(get_class($this->container_gui),
'type',$type);
 
  282                                         $this->tpl->setVariable(
"LINK_HREF",$this->ctrl->getLinkTarget($this->container_gui,
'removeFromDesk'));
 
  283                                         $this->tpl->setVariable(
"LINK_NAME", $this->lng->txt(
"unsubscribe"));
 
  284                                         $this->tpl->parseCurrentBlock();
 
  289                         if(strlen($ilObjDataCache->lookupDescription(
$obj_id)))
 
  291                                 $this->tpl->setCurrentBlock(
"start_description");
 
  292                                 $this->tpl->setVariable(
"DESCRIPTION_START",$ilObjDataCache->lookupDescription(
$obj_id));
 
  293                                 $this->tpl->parseCurrentBlock();
 
  297                         if($this->start_obj->isFullfilled($ilUser->getId(),
$ref_id))
 
  299                                 $accomplished = 
'accomplished';
 
  303                                 $accomplished = 
'not_accomplished';
 
  305                         $this->tpl->setCurrentBlock(
"start_row");
 
  307                         $this->tpl->setVariable(
"EDITED_ALT",$this->lng->txt(
'crs_objective_'.$accomplished));
 
  308                         $this->tpl->setVariable(
"ROW_CLASS",
'option_value');
 
  309                         $this->tpl->setVariable(
"ROW_CLASS_CENTER",
'option_value_center');
 
  310                         $this->tpl->setVariable(
"OBJ_NR_START",++$counter.
'.');
 
  311                         $this->tpl->parseCurrentBlock();
 
  322                 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
 
  328                                 $this->container_obj->getType(), $this->container_obj->getRefId(),
 
  334                 if (!$this->no_right_column)
 
  347                 if ($ilCtrl->getNextClass() == 
"ilcourseobjectivepresentationgui")
 
  349                         $ilCtrl->setParameterByClass(
"ilcolumngui", 
"col_return", 
"objectives");
 
  351                 $ilCtrl->saveParameterByClass(
"ilcolumngui", 
"col_return");
 
  356                 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
 
  366                 if ($ilCtrl->getNextClass() == 
"ilcolumngui" &&
 
  371                         $html = $ilCtrl->forwardCommand($column_gui);
 
  375                         if (!$ilCtrl->isAsynch())
 
  377                                 $html = $ilCtrl->getHTML($column_gui);
 
  391                 $this->tabs_gui->setSubTabActive(
'crs_content');
 
  393                 $ilCtrl->saveParameterByClass(
"ilcolumngui", 
"col_return");
 
  395                 if ($this->use_objective_presentation)
 
  399                 switch ($ilCtrl->getNextClass())
 
  403                                 if (
$_GET[
"col_return"] == 
"objectives")
 
  405                                         $ilCtrl->setParameter($this, 
"col_return", 
"objectives");
 
  406                                         $ilCtrl->setReturn($this, 
"view");
 
  410                                         $this->tabs_gui->setSubTabActive(
'crs_content');
 
  411                                         $ilCtrl->setReturn($this, 
"view");
 
  416                         case "ilcourseobjectivepresentationgui":
 
  421                 $this->no_right_column = 
true;  
 
  426                 if(
$_SESSION[
'crs_timings_panel'][$this->course_obj->getId()])
 
  433                 include_once 
'Services/Object/classes/class.ilObjectListGUIFactory.php';
 
  441                 $this->__showFeedBack();
 
  445                 #$this->container_gui->renderContainer(); 
  446                 $this->container_gui->showAdministrationPanel($this->tpl);
 
  451                 global $ilAccess, 
$lng;
 
  453                 $column_gui->setRepositoryMode(
true);
 
  454                 $column_gui->setEnableEdit(
false);
 
  455                 $column_gui->setBlockProperty(
"news", 
"title",
 
  456                         $lng->txt(
"crs_news"));
 
  458                 $grouped_items = array();
 
  459                 foreach($this->course_obj->items_obj->items as $item)
 
  461                         $grouped_items[$item[
"type"]][] = $item;
 
  464                 $column_gui->setRepositoryItems($grouped_items);
 
  465                 if ($ilAccess->checkAccess(
"write", 
"", $this->container_obj->getRefId()))
 
  467                         $column_gui->setEnableEdit(
true);
 
  471                 if ($this->is_tutor &&
 
  472                         $this->container_gui->isActiveAdministrationPanel())
 
  474                         $column_gui->setEnableMovement(
true);
 
  480                         $column_gui->setBlockProperty(
"news", 
"settings", 
true);
 
  482                         $column_gui->setBlockProperty(
"news", 
"default_visibility_option", 
true);
 
  483                         $column_gui->setBlockProperty(
"news", 
"hide_news_block_option", 
true);
 
  486                 if ($this->container_gui->isActiveAdministrationPanel())
 
  488                         $column_gui->setAdminCommands(
true);
 
  500                 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
 
  503                 $this->course_obj->initCourseItemObject($this->container_obj->getRefId());
 
  508                 if (!$ilCtrl->isAsynch())
 
  518                                         $html = $ilCtrl->forwardCommand($column_gui);
 
  525                                         $html = $ilCtrl->forwardCommand($column_gui);
 
  530                                 if (
$_GET[
"col_return"] == 
"objectives")
 
  533                                         include_once 
'Modules/Course/classes/class.ilCourseObjectivePresentationGUI.php';
 
  534                                         $this->ctrl->setReturn($this,
'');
 
  536                                         $this->ctrl->getHTML($objectives_gui);
 
  563                 if(!$ilAccess->checkAccess(
'visible',
'',$cont_data[
'ref_id']))
 
  572                 if (!$this->container_gui->isActiveAdministrationPanel())
 
  574                         require_once 
'Modules/File/classes/class.ilObjFileAccess.php';
 
  584                         $tpl = 
new ilTemplate(
'tpl.crs_subcontent_row.html',
true,
true,
'Modules/Course');
 
  589                         $tpl = 
new ilTemplate(
'tpl.crs_content_row.html',
true,
true,
'Modules/Course');
 
  595                 $html = $item_list_gui->getListItemHTML($cont_data[
'ref_id'],
 
  596                                                                                                 $cont_data[
'obj_id'], $cont_data[
'title'], $cont_data[
'description']);
 
  605                         foreach($this->
__getOptions($cont_data,$num) as $key => $image)
 
  607                                 $tpl->setCurrentBlock(
"img");
 
  608                                 $tpl->setVariable(
"IMG_TYPE",$image[
"gif"]);
 
  609                                 $tpl->setVariable(
"IMG_ALT",$image[
"lng"]);
 
  610                                 $tpl->setVariable(
"IMG_LINK",$image[
"lnk"]);
 
  611                                 $tpl->setVariable(
"IMG_TARGET",$image[
"tar"]);
 
  612                                 $tpl->parseCurrentBlock();
 
  618                         $tpl->setCurrentBlock(
"options");
 
  620                         $tpl->parseCurrentBlock();
 
  623                 if ($this->container_gui->isActiveAdministrationPanel())
 
  625                         $tpl->setCurrentBlock(
"block_row_check");
 
  626                         $tpl->setVariable(
"ITEM_ID", $cont_data[
'ref_id']);
 
  627                         $tpl->parseCurrentBlock();
 
  631                 $tpl->setVariable(
"ITEM_HTML",$html);
 
  636                 $tpl->setVariable(
"ALT_IMG", $this->lng->txt(
"obj_".$cont_data[
"type"]));
 
  637                 $tpl->setCurrentBlock(
"tbl_content");
 
  638                 $tpl->parseCurrentBlock();
 
  643                 if($cont_data[
'type'] == 
'sess')
 
  645                         foreach($this->course_obj->items_obj->getItemsByEvent($cont_data[
'obj_id']) as $item)
 
  657                 $this->course_obj->initCourseItemObject($this->container_obj->getRefId());
 
  661                                 $this->cont_arr = $this->course_obj->items_obj->getFilteredItems($this->container_obj->getRefId());
 
  667                                 $this->cont_arr = $this->course_obj->items_obj->getFilteredItems($this->container_obj->getRefId());
 
  672                                 $this->cont_arr = $this->course_obj->items_obj->getFilteredItems($this->container_obj->getRefId());
 
  678                 if(!count($this->cont_arr))
 
  680                         #ilUtil::sendInfo($this->lng->txt("crs_no_items_found")); 
  681                         $this->tpl->addBlockFile(
"CONTENT_TABLE", 
"content_tab", 
"tpl.container_page.html",
 
  682                                 "Services/Container");
 
  683                         $this->tpl->setVariable(
"FORM_ACTION", $this->ctrl->getFormAction($this));
 
  684                         $this->tpl->setVariable(
"CONTAINER_PAGE_CONTENT", 
"");
 
  690                 $cont_num = count($this->cont_arr);
 
  692                 $this->container_gui->clearAdminCommandsDetermination();
 
  697                 foreach ($this->cont_arr as $cont_data)
 
  702                                         $html .= $this->
displayRow($cont_data,$item_list_gui);
 
  706                                         if($cont_data[
'type'] == 
'sess')
 
  708                                                 $html .= $this->
displayRow($cont_data,$item_list_gui);
 
  713                                         if($cont_data[
'type'] != 
'sess')
 
  715                                                 $html .= $this->
displayRow($cont_data,$item_list_gui);
 
  722                         $tpl->setVariable(
'TBL_CONTENT',$html);
 
  729                 include_once 
"./Services/Table/classes/class.ilTableGUI.php";
 
  731                 $tbl->setStyle(
'table',
'il_ContainerBlock');
 
  735                 if($a_selection == 
'session')
 
  737                         $title = $this->lng->txt(
'events');
 
  741                         $title = $this->lng->txt(
"crs_content");                        
 
  745                 $tbl->setHelp(
"tbl_help.php",
"icon_help.gif",$this->lng->txt(
"help"));
 
  749                         $tbl->setHeaderNames(array($this->lng->txt(
"type"),$this->lng->txt(
"title"),
 
  751                         $tbl->setHeaderVars(array(
"type",
"title",
"options"),
 
  752                                                                 array(
"ref_id" => $this->course_obj->getRefId(),
 
  753                                                                           "cmdClass" => 
"ilobjcoursecontentgui",
 
  754                                                                           "cmdNode" => 
$_GET[
"cmdNode"]));
 
  755                         $tbl->setColumnWidth(array(
"1px",
"100%",
"24px"));
 
  756                         $tbl->disable(
"header");
 
  760                         $tbl->setHeaderNames(array($this->lng->txt(
"type"),$this->lng->txt(
"title"),
''));
 
  761                         $tbl->setHeaderVars(array(
"type",
"title",
'options'),
 
  762                                                                 array(
"ref_id" => $this->course_obj->getRefId(),
 
  763                                                                           "cmdClass" => 
"ilobjcoursecontentgui",
 
  764                                                                           "cmdNode" => 
$_GET[
"cmdNode"]));
 
  765                         $tbl->setColumnWidth(array(
"1px",
""));
 
  766                         $tbl->disable(
"header");
 
  770                 $tbl->disable(
"footer");
 
  771                 $tbl->disable(
'sort');
 
  772                 $tbl->disable(
"form");
 
  775                 $tbl->setTemplate(
$tpl);
 
  778                 $this->tpl->setVariable(
"FORM_ACTION", $this->ctrl->getFormAction($this));
 
  779                 $this->tpl->setCurrentBlock(
"cont_page_content");
 
  780                 $this->tpl->setVariable(
"CONTAINER_PAGE_CONTENT", 
$tpl->get());
 
  781                 $this->tpl->parseCurrentBlock();
 
  791                 include_once 
'Services/MetaData/classes/class.ilMDEducational.php';
 
  792                 include_once 
'classes/class.ilLink.php';
 
  794                 $this->lng->loadLanguageModule(
'meta');
 
  796                 if(!$ilAccess->checkAccess(
'write',
'',$this->container_obj->getRefId()))
 
  798                         $ilErr->raiseError($this->lng->txt(
'msg_no_perm_write'),$ilErr->WARNING);
 
  801                 $this->tabs_gui->setSubTabActive(
'timings_timings');
 
  803                 $this->course_obj->initCourseItemObject($this->container_obj->getRefId());
 
  804                 $this->cont_arr = $this->course_obj->items_obj->getAllItems($this->container_obj->getId());
 
  806                 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_edit_items.html',
'Modules/Course');
 
  807                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
  809                 $this->tpl->setVariable(
"HEADER_ALT",$this->lng->txt(
'crs_materials'));
 
  810                 $this->tpl->setVariable(
"BLOCK_HEADER_CONTENT",$this->lng->txt(
'edit_timings_list'));
 
  811                 $this->tpl->setVariable(
"TXT_TITLE",$this->lng->txt(
'title'));
 
  814                 $this->tpl->setVariable(
"TXT_DURATION",$this->lng->txt(
'crs_timings_time_frame'));
 
  815                 $this->tpl->setVariable(
"TXT_INFO_DURATION",$this->lng->txt(
'crs_timings_in_days'));
 
  817                 $this->tpl->setVariable(
"TXT_START_END",$this->lng->txt(
'crs_timings_short_start_end'));
 
  818                 $this->tpl->setVariable(
"TXT_INFO_START_END",$this->lng->txt(
'crs_timings_start_end_info'));
 
  820                 $this->tpl->setVariable(
"TXT_CHANGEABLE",$this->lng->txt(
'crs_timings_short_changeable'));
 
  822                 $this->tpl->setVariable(
"TXT_INFO_LIMIT",$this->lng->txt(
'crs_timings_from_until'));
 
  823                 $this->tpl->setVariable(
"TXT_LIMIT",$this->lng->txt(
'crs_timings_short_limit_start_end'));
 
  824                 $this->tpl->setVariable(
"TXT_ACTIVE",$this->lng->txt(
'crs_timings_short_active'));
 
  825                 $this->tpl->setVariable(
"TXT_INFO_ACTIVE",$this->lng->txt(
'crs_timings_info_active'));
 
  828                 foreach($this->cont_arr as $item)
 
  837                         $item_prefix = 
"item[$item[ref_id]]";
 
  838                         $item_change_prefix = 
"item_change[$item[ref_id]]";
 
  839                         $item_active_prefix = 
"item_active[$item[ref_id]]";
 
  841                         if($item[
'type'] == 
'grp' or
 
  842                            $item[
'type'] == 
'fold')
 
  844                                 $this->tpl->setVariable(
"TITLE_LINK",
ilLink::_getLink($item[
'ref_id'],$item[
'type']));
 
  846                                 $this->tpl->setVariable(
"TITLE_LINK_NAME",$item[
'title']);
 
  850                                 $this->tpl->setVariable(
"TITLE",$item[
'title']);
 
  853                         if(strlen($item[
'description']))
 
  855                                 $this->tpl->setCurrentBlock(
"item_description");
 
  856                                 $this->tpl->setVariable(
"DESC",$item[
'description']);
 
  857                                 $this->tpl->parseCurrentBlock();
 
  862                                 $this->tpl->setCurrentBlock(
"tlt");
 
  863                                 $this->tpl->setVariable(
"TXT_TLT",$this->lng->txt(
'meta_typical_learning_time'));
 
  865                                 $this->tpl->parseCurrentBlock();
 
  868                         $this->tpl->setCurrentBlock(
"container_standard_row");
 
  871                         if(is_array(
$_POST[
'item'][
"$item[ref_id]"][
'sug_start']))
 
  873                                 $start = $this->
__toUnix(
$_POST[
'item'][
"$item[ref_id]"][
'sug_start']);
 
  877                                 $start = $item[
'suggestion_start'];
 
  879                         $end = $item[
'suggestion_end'];
 
  881                         $this->tpl->setVariable(
"SUG_START",
 
  883                                                                                                                    $date[
'y'],$date[
'm'],$date[
'd'],date(
'Y',time()),
false));
 
  885                         $this->tpl->setVariable(
"NAME_DURATION_A",$item_prefix.
"[duration_a]");
 
  886                         if(isset(
$_POST[
'item'][
"$item[ref_id]"][
'duration_a']))
 
  888                                 $this->tpl->setVariable(
"VAL_DURATION_A",abs(
$_POST[
'item'][
"$item[ref_id]"][
'duration_a']));
 
  892                                 $this->tpl->setVariable(
"VAL_DURATION_A",intval(($end-$start)/(60*60*24)));
 
  898                         if(is_array(
$_POST[
'item'][
"$item[ref_id]"][
'lim_end']))
 
  900                                 $end = $this->
__toUnix(
$_POST[
'item'][
"$item[ref_id]"][
'lim_end']);
 
  904                                 $end = $item[
'latest_end'];
 
  908                         $this->tpl->setVariable(
"LIM_END",
 
  910                                                                                                                    $date[
'y'],$date[
'm'],$date[
'd'],date(
'Y',time()),
false));
 
  912                         $this->tpl->setVariable(
"NAME_CHANGE",$item_change_prefix.
"[change]");
 
  913                         $this->tpl->setVariable(
"NAME_ACTIVE",$item_active_prefix.
"[active]");
 
  917                                 $change = 
$_POST[
'item_change'][
"$item[ref_id]"][
'change'];
 
  918                                 $active = 
$_POST[
'item_active'][
"$item[ref_id]"][
'active'];
 
  922                                 $change = $item[
'changeable'];
 
  926                         $this->tpl->setVariable(
"CHECKED_ACTIVE",$active ? 
'checked="checked"' : 
'');
 
  927                         $this->tpl->setVariable(
"CHECKED_CHANGE",$change ? 
'checked="checked"' : 
'');
 
  929                         if(isset($this->failed[
"$item[ref_id]"]))
 
  931                                 $this->tpl->setVariable(
"ROWCLASS",
'tblrowmarked');
 
  937                         $this->tpl->parseCurrentBlock();
 
  942                 $this->tpl->setVariable(
"SELECT_ALL",$this->lng->txt(
'select_all'));
 
  944                 $this->tpl->setVariable(
"BTN_SAVE",$this->lng->txt(
'save'));
 
  945                 $this->tpl->setVariable(
"BTN_CANCEL",$this->lng->txt(
'cancel'));
 
  953                 include_once 
'Modules/Course/classes/Timings/class.ilTimingAccepted.php';
 
  954                 $accept_obj = 
new ilTimingAccepted($this->course_obj->getId(),$ilUser->getId());
 
  956                 $this->tpl->setVariable(
"REMARK",$accept_obj->getRemark());
 
  957                 $this->tpl->setVariable(
"ACCEPT_CHECKED",$accept_obj->isAccepted() ? 
'checked="checked"' : 
'');
 
  958                 $this->tpl->setVariable(
"TUTOR_CHECKED",$accept_obj->isVisible() ? 
'checked="checked"' : 
'');
 
  960                 $this->tpl->setVariable(
"TIMING_ACCEPT",$this->lng->txt(
'timing_accept_table'));
 
  961                 $this->tpl->setVariable(
"TXT_ACCEPT",$this->lng->txt(
'timing_user_accept'));
 
  962                 $this->tpl->setVariable(
"TXT_REMARK",$this->lng->txt(
'timing_remark'));
 
  963                 $this->tpl->setVariable(
"TXT_TUTOR",$this->lng->txt(
'timing_tutor_visible'));
 
  964                 $this->tpl->setVariable(
"TXT_BTN_UPDATE",$this->lng->txt(
'save'));
 
  970                 include_once 
'Modules/Course/classes/Timings/class.ilTimingAccepted.php';
 
  971                 $accept_obj = 
new ilTimingAccepted($this->course_obj->getId(),$ilUser->getId());
 
  974                 $accept_obj->accept(
$_POST[
'accepted']);
 
  975                 $accept_obj->setVisible(
$_POST[
'tutor']);
 
  976                 $accept_obj->update();
 
  983                 if(
$_SESSION[
'crs_timings_panel'][$this->course_obj->getId()])
 
  989                 if(!$ilAccess->checkAccess(
'read',
'',$this->container_obj->getRefId()))
 
  991                         $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),$ilErr->WARNING);
 
  993                 $this->tabs_gui->setSubTabActive(
'timings_timings');
 
  997                 include_once 
'Modules/Course/classes/class.ilCourseItems.php';
 
 1010                 $this->ctrl->returnToParent($this);
 
 1015                 global $ilObjDataCache;
 
 1017                 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_user_timings.html',
'Modules/Course');
 
 1018                 $this->tabs_gui->clearSubTabs();
 
 1019                 $this->tabs_gui->setTabActive(
'members');
 
 1021                 if(!
$_GET[
'member_id'])
 
 1024                         $this->ctrl->returnToParent($this);
 
 1029                 $this->tpl->addBlockfile(
"BUTTONS", 
"buttons", 
"tpl.buttons.html");
 
 1030                 $this->tpl->setCurrentBlock(
"btn_cell");
 
 1031                 $this->tpl->setVariable(
"BTN_LINK",$this->ctrl->getLinkTarget($this,
'returnToMembers'));
 
 1032                 $this->tpl->setVariable(
"BTN_TXT",$this->lng->txt(
"back"));
 
 1033                 $this->tpl->parseCurrentBlock();
 
 1035                 include_once 
'Modules/Course/classes/Timings/class.ilTimingAccepted.php';
 
 1038                 if($usr_accepted->isAccepted())
 
 1041                         $this->tpl->setVariable(
"ACC_ALT",$this->lng->txt(
'timing_accepted'));
 
 1046                         $this->tpl->setVariable(
"ACC_ALT",$this->lng->txt(
'timing_not_accepted'));
 
 1048                 if($usr_accepted->isVisible() and strlen($usr_accepted->getRemark()))
 
 1050                         $this->tpl->setVariable(
"REMARK",nl2br($usr_accepted->getRemark()));
 
 1054                         $this->tpl->setVariable(
"REMARK",$this->lng->txt(
'not_available'));
 
 1057                 $this->tpl->setVariable(
"TIMING_ACCEPT",$this->lng->txt(
'timing_accept_table'));
 
 1058                 $this->tpl->setVariable(
"TXT_ACCEPTED",$this->lng->txt(
'timing_user_accepted'));
 
 1059                 $this->tpl->setVariable(
"TXT_REMARK",$this->lng->txt(
'timing_remark'));
 
 1062                 $this->tpl->setVariable(
"HEADER_ALT",$this->lng->txt(
'obj_usr'));
 
 1063                 $this->tpl->setVariable(
"TABLE_HEADER",$this->lng->txt(
'timings_of'));
 
 1065                 $this->tpl->setVariable(
"USER_NAME",$name[
'lastname'].
', '.$name[
'firstname']);
 
 1067                 $this->tpl->setVariable(
"TXT_TITLE",$this->lng->txt(
'title'));
 
 1068                 $this->tpl->setVariable(
"TXT_START_END",$this->lng->txt(
'crs_timings_short_start_end'));
 
 1069                 $this->tpl->setVariable(
"TXT_INFO_START_END",$this->lng->txt(
'crs_timings_start_end_info'));
 
 1070                 $this->tpl->setVariable(
"TXT_CHANGED",$this->lng->txt(
'crs_timings_changed'));
 
 1071                 $this->tpl->setVariable(
"TXT_OWN_PRESETTING",$this->lng->txt(
'crs_timings_planed_start'));
 
 1072                 $this->tpl->setVariable(
"TXT_INFO_OWN_PRESETTING",$this->lng->txt(
'crs_timings_from_until'));
 
 1074                 $this->items_obj = 
new ilCourseItems($this->course_obj->getRefId(),$this->container_obj->getRefId());
 
 1075                 $items =& $this->items_obj->
getItems();
 
 1077                 foreach($items as $item)
 
 1089                 global $ilUser,$ilAccess;
 
 1091                 include_once 
'Modules/Course/classes/Timings/class.ilTimingPlaned.php';
 
 1092                 include_once 
'./Services/MetaData/classes/class.ilMDEducational.php';
 
 1094                 $this->lng->loadLanguageModule(
'meta');
 
 1097                 for($i = 0;$i < $level;$i++)
 
 1099                         $this->tpl->touchBlock(
'start_indent');
 
 1100                         $this->tpl->touchBlock(
'end_indent');
 
 1102                 if(strlen($item[
'description']))
 
 1104                         $this->tpl->setCurrentBlock(
"item_description");
 
 1105                         $this->tpl->setVariable(
"DESC",$item[
'description']);
 
 1106                         $this->tpl->parseCurrentBlock();
 
 1110                         $this->tpl->setCurrentBlock(
"tlt");
 
 1111                         $this->tpl->setVariable(
"TXT_TLT",$this->lng->txt(
'meta_typical_learning_time'));
 
 1113                         $this->tpl->parseCurrentBlock();
 
 1116                 $this->tpl->setCurrentBlock(
"title_plain");
 
 1117                 $this->tpl->setVariable(
"TITLE",$item[
'title']);
 
 1118                 $this->tpl->parseCurrentBlock();
 
 1120                 $this->tpl->setCurrentBlock(
"container_standard_row");
 
 1122                 $this->tpl->setVariable(
"ROWCLASS",
ilUtil::switchColor($this->counter++,
'tblrow1',
'tblrow2'));
 
 1123                 #$this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_'.$item['type'].'.gif')); 
 1125                 $this->tpl->setVariable(
"TYPE_ALT_IMG",$this->lng->txt(
'obj_'.$item[
'type']));
 
 1135                         if($usr_planed->getPlanedStartingTime())
 
 1137                                 $start = $usr_planed->getPlanedStartingTime();
 
 1141                                 $start = $item[
'suggestion_start'];
 
 1145                         if($usr_planed->getPlanedEndingTime())
 
 1147                                 $end = $usr_planed->getPlanedEndingTime();
 
 1151                                 $end = $item[
'suggestion_end'];
 
 1153                         if($start != $item[
'suggestion_start'] or $end != $item[
'suggestion_end'])
 
 1156                                 $this->tpl->setVariable(
"OK_ALT",$this->lng->txt(
'crs_timings_changed'));
 
 1161                                 $this->tpl->setVariable(
"OK_ALT",$this->lng->txt(
'crs_timings_not_changed'));
 
 1166                 $this->tpl->parseCurrentBlock();
 
 1168                 $sub_items_obj = 
new ilCourseItems($this->course_obj->getRefId(),$item[
'ref_id'],
$_GET[
'member_id']);
 
 1169                 foreach($sub_items_obj->getItems() as $item_data)
 
 1183                 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_usr_edit_timings_adv.html',
'Modules/Course');
 
 1187                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 1189                 $this->tpl->setVariable(
"HEADER_ALT",$this->lng->txt(
'obj_crs'));
 
 1190                 $this->tpl->setVariable(
"BLOCK_HEADER_CONTENT",$this->lng->txt(
'timings_usr_edit'));
 
 1192                 if(!
$_SESSION[
'crs_timings_user_hidden'])
 
 1194                         $this->tpl->setVariable(
"SHOW_HIDE_TEXT",$this->lng->txt(
'show_details'));
 
 1195                         $this->ctrl->setParameter($this,
'show_details',1);
 
 1196                         $this->tpl->setVariable(
"SHOW_HIDE_LINK",$this->ctrl->getLinkTarget($this,
'editUserTimings'));
 
 1200                         $this->tpl->setVariable(
"SHOW_HIDE_TEXT",$this->lng->txt(
'hide_details'));
 
 1201                         $this->ctrl->setParameter($this,
'show_details',0);
 
 1202                         $this->tpl->setVariable(
"SHOW_HIDE_LINK",$this->ctrl->getLinkTarget($this,
'editUserTimings'));
 
 1204                 $this->ctrl->clearParameters($this);
 
 1205                 $this->tpl->setVariable(
"TXT_TITLE",$this->lng->txt(
'title'));
 
 1206                 $this->tpl->setVariable(
"TXT_START_END",$this->lng->txt(
'crs_timings_short_start_end'));
 
 1207                 $this->tpl->setVariable(
"TXT_INFO_START_END",$this->lng->txt(
'crs_timings_start_end_info'));
 
 1209                 $this->tpl->setVariable(
"TXT_LIMIT",$this->lng->txt(
'crs_timings_short_limit_start_end'));
 
 1210                 $this->tpl->setVariable(
"TXT_INFO_LIMIT",$this->lng->txt(
'crs_timings_from_until'));
 
 1212                 $this->tpl->setVariable(
"TXT_OWN_PRESETTING",$this->lng->txt(
'crs_timings_planed_start'));
 
 1213                 $this->tpl->setVariable(
"TXT_INFO_OWN_PRESETTING",$this->lng->txt(
'crs_timings_start_end_info'));
 
 1215                 $this->tpl->setVariable(
"TXT_DURATION",$this->lng->txt(
'crs_timings_time_frame'));
 
 1216                 $this->tpl->setVariable(
"TXT_INFO_DURATION",$this->lng->txt(
'crs_timings_in_days'));
 
 1218                 $this->tpl->setVariable(
"TXT_BTN_UPDATE",$this->lng->txt(
'save'));
 
 1219                 $this->tpl->setVariable(
"TXT_CANCEL",$this->lng->txt(
'cancel'));
 
 1221                 $this->items_obj = 
new ilCourseItems($this->course_obj->getRefId(),$this->container_obj->getRefId());
 
 1222                 $items =& $this->items_obj->
getItems();
 
 1224                 $all_items = $this->items_obj->getFilteredItems($this->course_obj->getRefId());
 
 1228                 foreach($sorted_items as $item)
 
 1230                         switch($item[
'type'])
 
 1246                 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_usr_edit_timings.html',
'Modules/Course');
 
 1251                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 1253                 $this->tpl->setVariable(
"HEADER_ALT",$this->lng->txt(
'obj_crs'));
 
 1255                 if(!
$_SESSION[
'crs_timings_user_hidden'])
 
 1257                         $this->tpl->setVariable(
"SHOW_HIDE_TEXT",$this->lng->txt(
'show_details'));
 
 1258                         $this->ctrl->setParameter($this,
'show_details',1);
 
 1259                         $this->tpl->setVariable(
"SHOW_HIDE_LINK",$this->ctrl->getLinkTarget($this,
'editUserTimings'));
 
 1263                         $this->tpl->setVariable(
"SHOW_HIDE_TEXT",$this->lng->txt(
'hide_details'));
 
 1264                         $this->ctrl->setParameter($this,
'show_details',0);
 
 1265                         $this->tpl->setVariable(
"SHOW_HIDE_LINK",$this->ctrl->getLinkTarget($this,
'editUserTimings'));
 
 1267                 $this->ctrl->clearParameters($this);
 
 1269                 $this->tpl->setVariable(
"BLOCK_HEADER_CONTENT",$this->lng->txt(
'timings_timings'));
 
 1270                 $this->tpl->setVariable(
"TXT_TITLE",$this->lng->txt(
'title'));
 
 1271                 $this->tpl->setVariable(
"TXT_START",$this->lng->txt(
'crs_timings_sug_begin'));
 
 1272                 $this->tpl->setVariable(
"TXT_END",$this->lng->txt(
'crs_timings_sug_end'));
 
 1275                 $this->items_obj = 
new ilCourseItems($this->course_obj->getRefId(),$this->container_obj->getRefId());
 
 1277                 $all_items = $this->items_obj->
getFilteredItems($this->course_obj->getRefId());
 
 1281                 foreach($sorted_items as $item)
 
 1283                         switch($item[
'type'])
 
 1301                 foreach($a_items as $item)
 
 1305                                 $inactive[] = $item;
 
 1315                 return array_merge($sorted_active,$sorted_inactive);
 
 1322                 if(strlen($item[
'description']))
 
 1324                         $this->tpl->setCurrentBlock(
"item_description");
 
 1325                         $this->tpl->setVariable(
"DESC",$item[
'description']);
 
 1326                         $this->tpl->parseCurrentBlock();
 
 1329                 if($ilAccess->checkAccess(
'read',
'',$item[
'ref_id']))
 
 1331                         $this->tpl->setCurrentBlock(
"title_as_link");
 
 1333                         include_once 
'./classes/class.ilLink.php';
 
 1334                         $this->tpl->setVariable(
"TITLE_LINK",
ilLink::_getLink($item[
'ref_id'],$item[
'type']));
 
 1335                         $this->tpl->setVariable(
"TITLE_NAME",$item[
'title']);
 
 1336                         $this->tpl->parseCurrentBlock();
 
 1340                         $this->tpl->setCurrentBlock(
"title_plain");
 
 1341                         $this->tpl->setVariable(
"TITLE",$item[
'title']);
 
 1342                         $this->tpl->parseCurrentBlock();
 
 1349                 $this->tpl->setCurrentBlock(
"tlt");
 
 1350                 $this->tpl->setVariable(
"TXT_TLT",$this->lng->txt(
'event_date'));
 
 1351                 include_once(
'./Modules/Session/classes/class.ilSessionAppointment.php');
 
 1353                 $this->tpl->parseCurrentBlock();
 
 1355                 $this->tpl->setCurrentBlock(
"container_standard_row");
 
 1356                 $this->tpl->setVariable(
"ROWCLASS",
ilUtil::switchColor($this->counter++,
'tblrow1',
'tblrow2'));
 
 1358                 $this->tpl->setVariable(
"TYPE_ALT_IMG",$this->lng->txt(
'obj_'.$item[
'type']));
 
 1359                 $this->tpl->parseCurrentBlock();
 
 1361                 #if(!$_SESSION['crs_timings_user_hidden']) 
 1365                 foreach($this->items_obj->getItemsByEvent($item[
'event_id']) as $item)
 
 1373                 global $ilUser,$ilAccess;
 
 1375                 include_once 
'Modules/Course/classes/Timings/class.ilTimingPlaned.php';
 
 1376                 include_once 
'./classes/class.ilLink.php';
 
 1377                 include_once 
'./Services/MetaData/classes/class.ilMDEducational.php';
 
 1379                 if(!$ilAccess->checkAccess(
'visible',
'',$item[
'ref_id']))
 
 1384                 $this->lng->loadLanguageModule(
'meta');
 
 1386                 $usr_planed = 
new ilTimingPlaned($item[
'ref_id'],$ilUser->getId());
 
 1388                 for($i = 0;$i < $level;$i++)
 
 1390                         $this->tpl->touchBlock(
'start_indent');
 
 1391                         $this->tpl->touchBlock(
'end_indent');
 
 1393                 if(strlen($item[
'description']))
 
 1395                         $this->tpl->setCurrentBlock(
"item_description");
 
 1396                         $this->tpl->setVariable(
"DESC",$item[
'description']);
 
 1397                         $this->tpl->parseCurrentBlock();
 
 1401                         $this->tpl->setCurrentBlock(
"tlt");
 
 1402                         $this->tpl->setVariable(
"TXT_TLT",$this->lng->txt(
'meta_typical_learning_time'));
 
 1404                         $this->tpl->parseCurrentBlock();
 
 1407                 if($ilAccess->checkAccess(
'read',
'',$item[
'ref_id']))
 
 1409                         $this->tpl->setCurrentBlock(
"title_as_link");
 
 1410                         $this->tpl->setVariable(
"TITLE_LINK",
ilLink::_getLink($item[
'ref_id'],$item[
'type']));
 
 1411                         $this->tpl->setVariable(
"TITLE_NAME",$item[
'title']);
 
 1412                         $this->tpl->parseCurrentBlock();
 
 1416                         $this->tpl->setCurrentBlock(
"title_plain");
 
 1417                         $this->tpl->setVariable(
"TITLE",$item[
'title']);
 
 1418                         $this->tpl->parseCurrentBlock();
 
 1420                 $this->tpl->setCurrentBlock(
"container_standard_row");
 
 1422                 if(isset($this->invalid[
"$item[ref_id]"]))
 
 1424                         $this->tpl->setVariable(
"ROWCLASS",
'tblrowmarked');
 
 1428                         $this->tpl->setVariable(
"ROWCLASS",
ilUtil::switchColor($this->counter++,
'tblrow1',
'tblrow2'));
 
 1430                 #$this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_'.$item['type'].'.gif')); 
 1432                 $this->tpl->setVariable(
"TYPE_ALT_IMG",$this->lng->txt(
'obj_'.$item[
'type']));
 
 1441                 if($item[
'changeable'])
 
 1443                         $item_prefix = 
"item[".$item[
'ref_id'].
']';
 
 1445                         if(is_array(
$_POST[
'item'][
"$item[ref_id]"][
'own_start']))
 
 1447                                 #echo "Start post<br>"; 
 1448                                 $start = $this->
__toUnix(
$_POST[
'item'][
"$item[ref_id]"][
'own_start']);
 
 1450                         elseif($usr_planed->getPlanedStartingTime())
 
 1452                                 #echo "Own start<br>"; 
 1453                                 $start = $usr_planed->getPlanedStartingTime();
 
 1457                                 #echo "Empfehlung start<br>"; 
 1458                                 $start = $item[
'suggestion_start'];
 
 1462                         $this->tpl->setVariable(
"OWN_START",
 
 1464                                                                                                                    $date[
'y'],$date[
'm'],$date[
'd'],date(
'Y',time()),
false));
 
 1466                         if($usr_planed->getPlanedEndingTime())
 
 1468                                 #echo "Own End<br>"; 
 1469                                 $end = $usr_planed->getPlanedEndingTime();
 
 1473                                 #echo "Empfehlung end<br>"; 
 1474                                 $end = $item[
'suggestion_end'];
 
 1477                         $this->tpl->setVariable(
"NAME_DURATION",$item_prefix.
"[duration]");
 
 1480                         if(isset(
$_POST[
'item'][
"$item[ref_id]"][
'duration']))
 
 1482                                 $this->tpl->setVariable(
"VAL_DURATION",
$_POST[
'item'][
"$item[ref_id]"][
'duration']);
 
 1486                                 $this->tpl->setVariable(
"VAL_DURATION",intval(($end - $start) / (60 * 60 * 24)));
 
 1492                 $this->tpl->parseCurrentBlock();
 
 1494                 if(!
$_SESSION[
'crs_timings_user_hidden'])
 
 1499                 $sub_items_obj = 
new ilCourseItems($this->course_obj->getRefId(),$item[
'ref_id']);
 
 1500                 foreach($sub_items_obj->getItems() as $item_data)
 
 1510                 if(!$ilAccess->checkAccess(
'write',
'',$this->container_obj->getRefId()))
 
 1515                 if(!
$_SESSION[
'crs_timings_panel'][$this->course_obj->getId()])
 
 1517                         $this->tpl->addBlockfile(
"BUTTONS", 
"buttons", 
"tpl.buttons.html");
 
 1518                         $this->tpl->setCurrentBlock(
"btn_cell");
 
 1519                         $this->tpl->setVariable(
"BTN_LINK",$this->ctrl->getLinkTarget($this,
'timingsOn'));
 
 1520                         $this->tpl->setVariable(
"BTN_TXT",$this->lng->txt(
"timings_timings_on"));
 
 1521                         $this->tpl->parseCurrentBlock();
 
 1525                         $this->tpl->addBlockfile(
"BUTTONS", 
"buttons", 
"tpl.buttons.html");
 
 1526                         $this->tpl->setCurrentBlock(
"btn_cell");
 
 1527                         $this->tpl->setVariable(
"BTN_LINK",$this->ctrl->getLinkTarget($this,
'timingsOff'));
 
 1528                         $this->tpl->setVariable(
"BTN_TXT",$this->lng->txt(
"timings_timings_off"));
 
 1529                         $this->tpl->parseCurrentBlock();
 
 1536                 $_SESSION[
'crs_timings_panel'][$this->course_obj->getId()] = 1;
 
 1538                 $ilTabs->clearSubTabs();
 
 1546                 $_SESSION[
'crs_timings_panel'][$this->course_obj->getId()] = 0;
 
 1548                 $ilTabs->clearSubTabs();
 
 1556                 global $ilUser,$ilObjDataCache;
 
 1557                 include_once 
'Modules/Course/classes/Timings/class.ilTimingPlaned.php';
 
 1560                 $this->invalid = array();
 
 1566                         if(isset(
$data[
'duration']))
 
 1568                                 $data[
'own_start'][
'd'] += 
$data[
'duration'];
 
 1569                                 $tmp_planed->setPlanedEndingTime($this->
__toUnix(
$data[
'own_start'],array(
'h' => 23,
'm' => 55)));
 
 1573                                 $tmp_planed->setPlanedEndingTime($this->
__toUnix(
$data[
'own_start']),array(
'h' => 23,
'm' => 55));
 
 1575                         if(!$tmp_planed->validate())
 
 1577                                 $this->invalid[
$ref_id] = $ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId(
$ref_id));
 
 1579                         $all_items[] = $tmp_planed;
 
 1581                 if(count($this->invalid))
 
 1583                         $message = $this->lng->txt(
'crs_timings_update_error');
 
 1584                         $message .= (
"<br />".$this->lng->txt(
'crs_materials').
': ');
 
 1585                         $message .= (implode(
',',$this->invalid));
 
 1590                 foreach($all_items as $new_item_obj)
 
 1592                         $new_item_obj->update();
 
 1609                 $item[
'suggestion_start'] = $this->
__toUnix(
$_POST[
'item'][$obj_id][
'sug_start']);
 
 1610                 $item[
'suggestion_end'] = $this->
__toUnix(
$_POST[
'item'][$obj_id][
'sug_end']);
 
 1611                 $item[
'earliest_start'] = $this->
__toUnix(
$_POST[
'item'][$obj_id][
'lim_start']);
 
 1612                 $item[
'latest_end'] = $this->
__toUnix(
$_POST[
'item'][$obj_id][
'lim_end']);
 
 1615                 $item[
'duration_a'] = 
$_POST[
'item'][
$obj_id][
'duration_a'];
 
 1616                 $item[
'duration_b'] = 
$_POST[
'item'][
$obj_id][
'duration_b'];
 
 1623                 include_once 
'Modules/Course/classes/class.ilCourseItems.php';
 
 1627                 if(!$ilAccess->checkAccess(
'write',
'',$this->container_obj->getRefId()))
 
 1629                         $ilErr->raiseError($this->lng->txt(
'msg_no_perm_write'),$ilErr->WARNING);
 
 1631                 $this->failed = array();
 
 1635                 $all_items = array();
 
 1639                         $item_obj =& 
new ilCourseItems($this->course_obj->getRefId(),$this->container_obj->getRefId());
 
 1643                         $item_obj->setTimingStart($old_data[
'timing_start']);
 
 1644                         $item_obj->setTimingEnd($old_data[
'timing_end']);
 
 1645                         $item_obj->setSuggestionStart($this->
__toUnix(
$data[
"sug_start"]));
 
 1648                         $data[
'sug_start'][
'd'] += abs(
$data[
'duration_a']);
 
 1649                         $item_obj->setSuggestionEnd($this->
__toUnix(
$data[
'sug_start'],array(
'h' => 23,
'm' => 55)));
 
 1651                         $item_obj->setEarliestStart(time());
 
 1652                         $item_obj->setLatestEnd($this->
__toUnix(
$data[
'lim_end'],array(
'h' => 23,
'm' => 55)));
 
 1654                         $item_obj->toggleVisible($old_data[
'visible']);
 
 1655                         $item_obj->toggleChangeable(
$_POST[
'item_change'][
$ref_id][
'change']);
 
 1657                         if(!$item_obj->validateActivation())
 
 1659                                 $this->failed[
$ref_id] = $old_data[
'title'];
 
 1661                         $all_items[
$ref_id] =& $item_obj;
 
 1665                 if(count($this->failed))
 
 1667                         $message = $this->lng->txt(
'crs_timings_update_error');
 
 1668                         $message .= (
"<br />".$this->lng->txt(
'crs_materials').
': ');
 
 1669                         $message .= (implode(
',',$this->failed));
 
 1676                 foreach($all_items as 
$ref_id => $item_obj_new)
 
 1678                         $item_obj_new->update(
$ref_id);
 
 1690                 include_once 
'Services/Object/classes/class.ilObjectListGUIFactory.php';
 
 1704                 if (!is_object ($this->list_gui[$cont_data[
"type"]]))
 
 1708                         $item_list_gui->setContainerObject($this->container_gui);
 
 1710                         $item_list_gui->enableSubscribe($this->course_obj->getAboStatus());
 
 1712                         $this->list_gui[$cont_data[
"type"]] =& $item_list_gui;
 
 1716                         $item_list_gui =& $this->list_gui[$cont_data[
"type"]];
 
 1720                 if (!$this->container_gui->isActiveAdministrationPanel())
 
 1722                         $item_list_gui->enableDelete(
false);
 
 1723                         $item_list_gui->enableLink(
false);
 
 1724                         $item_list_gui->enableCut(
false);
 
 1725                         $item_list_gui->enableCopy(
false);
 
 1729                 if ($activation != 
"")
 
 1731                         $item_list_gui->addCustomProperty($this->lng->txt($cont_data[
'activation_info']), $activation,
 
 1735                 if($a_show_path and $this->is_tutor)
 
 1737                         $item_list_gui->addCustomProperty($this->lng->txt(
'path'),
 
 1746                         $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"ref_id",
 
 1747                                                                                          $this->container_obj->getRefId());
 
 1748                         $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"item_id",
 
 1749                                                                                          $cont_data[
'child']);
 
 1751                         $item_list_gui->addCustomCommand($this->ctrl->getLinkTargetByClass(
'ilCourseItemAdministrationGUI',
 
 1756                 return $item_list_gui;
 
 1770                                         $tmp_array[
"lng"] = $this->lng->txt(
"crs_move_up");
 
 1772                                         $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"ref_id",
 
 1773                                                                                                          $this->container_obj->getRefId());
 
 1774                                         $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"item_id",
 
 1775                                                                                                          $cont_data[
'child']);
 
 1776                                         $tmp_array[
'lnk'] = $this->ctrl->getLinkTargetByClass(
'ilcourseitemadministrationgui',
'moveUp');
 
 1777                                         $tmp_array[
"tar"] = 
"";
 
 1779                                         $images[] = $tmp_array;
 
 1781                                 if($num != count($this->cont_arr) - 1)
 
 1784                                         $tmp_array[
"lng"] = $this->lng->txt(
"crs_move_down");
 
 1785                                         $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"ref_id",
 
 1786                                                                                                          $this->container_obj->getRefId());
 
 1787                                         $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"item_id",
 
 1788                                                                                                          $cont_data[
'child']);
 
 1789                                         $tmp_array[
'lnk'] = $this->ctrl->getLinkTargetByClass(
'ilcourseitemadministrationgui',
'moveDown');
 
 1791                                         $images[] = $tmp_array;
 
 1796                 return $images ? $images : array();
 
 1802                 if(!$this->is_tutor && $this->container_obj->getType() == 
'crs')
 
 1804                         include_once(
'Services/Feedback/classes/class.ilFeedbackGUI.php');
 
 1806                         $feedbackHTML = $feedbackGUI->getCRSFeedbackListHTML();
 
 1808                         if(strlen($feedbackHTML))
 
 1810                                 $this->tpl->setCurrentBlock(
"cont_page_content");
 
 1811                                 $this->tpl->setVariable(
"CONTAINER_PAGE_CONTENT",$feedbackHTML);
 
 1812                                 $this->tpl->parseCurrentBlock();
 
 1820                 if($this->container_obj->getType() == 
'crs')
 
 1822                         $this->container_gui->setContentSubTabs();
 
 1830                 if($this->container_obj->getType() == 
'crs')
 
 1838                         $course_ref_id = $tree->checkForParentType($this->container_obj->getRefId(),
'crs');
 
 1846                 return gmmktime($time[
'h'],$time[
'm'],0,$date[
'm'],$date[
'd'],$date[
'y']);
 
 1851                 return array(
'y' => date(
'Y',$a_unix_time),
 
 1852                                          'm' => date(
'm',$a_unix_time),
 
 1853                                          'd' => date(
'd',$a_unix_time));
 
 1858                 return array(
'h' => date(
'G',$a_unix_time),
 
 1859                                          'm' => date(
'i',$a_unix_time),
 
 1860                                          's' => date(
's',$a_unix_time));
 
 1868                 $path_arr = $tree->getPathFull($a_ref_id,$this->course_obj->getRefId());
 
 1870                 foreach($path_arr as 
$data)
 
 1876                         $path .= $data[
'title'];