58 $this->lng->loadLanguageModule(
'crs');
59 $this->tabs_gui =& $ilTabs;
61 $this->container_gui =& $container_gui_obj;
62 $this->container_obj =& $this->container_gui->object;
71 if(!$ilAccess->checkAccess(
'read',
'',$this->container_obj->getRefId()))
73 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),$ilErr->WARNING);
80 $this->tabs_gui->setTabActive(
'view_content');
81 $cmd = $this->ctrl->getCmd();
83 switch($this->ctrl->getNextClass($this))
85 case 'ilcourseitemadministrationgui':
87 include_once
'Modules/Course/classes/class.ilCourseItemAdministrationGUI.php';
88 $this->tabs_gui->clearSubTabs();
89 $this->ctrl->setReturn($this,
'view');
92 $this->ctrl->forwardCommand($item_adm_gui);
95 case 'ilcoursearchivesgui':
99 case 'ilcourseobjectivepresentationgui':
104 $ilCtrl->saveParameterByClass(
"ilcolumngui",
"col_return");
105 $ilTabs->setSubTabActive(
"crs_content");
117 if(!$this->is_tutor = $ilAccess->checkAccess(
'write',
'',$this->course_obj->getRefId()) and
118 $this->course_obj->isArchived())
125 if((!$this->is_tutor and
126 $this->container_obj->getType() ==
'crs' and
127 $this->container_obj->enabledObjectiveView()) ||
128 $_GET[
"col_return"] ==
"objectives")
130 $this->use_objective_presentation =
true;
151 if(
$_SESSION[
'crs_timings_panel'][$this->course_obj->getId()])
153 return 'editTimings';
155 if($ilAccess->checkAccess(
'write',
'',$this->container_obj->getRefId()))
159 if($this->container_obj->getType() ==
'crs' and
162 return 'editUserTimings';
169 include_once
'Modules/Course/classes/class.ilCourseObjectivePresentationGUI.php';
171 $this->ctrl->setReturn($this,
'');
174 if(!$this->ctrl->getNextClass())
176 $this->ctrl->setCmdClass(get_class($objectives_gui));
178 $this->ctrl->forwardCommand($objectives_gui);
184 include_once
'Modules/Course/classes/class.ilCourseArchivesGUI.php';
186 $this->ctrl->setReturn($this,
'');
188 $this->ctrl->forwardCommand($archives_gui);
190 $this->tabs_gui->setTabActive(
'view_content');
191 $this->tabs_gui->setSubTabActive(
'crs_archives');
198 include_once
'./Modules/Course/classes/class.ilCourseStart.php';
200 global $ilAccess,$ilUser;
202 if($ilAccess->checkAccess(
'write',
'',$this->course_obj->getRefId()))
206 $this->start_obj =
new ilCourseStart($this->course_obj->getRefId(),$this->course_obj->getId());
207 if(count($this->start_obj->getStartObjects()) and !$this->start_obj->allFullfilled($ilUser->getId()))
216 include_once
'./Modules/Course/classes/class.ilCourseLMHistory.php';
217 include_once
'./classes/class.ilRepositoryExplorer.php';
218 include_once
'./classes/class.ilLink.php';
220 global $rbacsystem,
$ilias,$ilUser,$ilAccess,$ilObjDataCache;
222 $this->tabs_gui->setSubTabActive(
'crs_content');
224 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.crs_start_view.html",
'Modules/Course');
225 $this->tpl->setVariable(
"INFO_STRING",$this->lng->txt(
'crs_info_start'));
226 $this->tpl->setVariable(
"TBL_TITLE_START",$this->lng->txt(
'crs_table_start_objects'));
227 $this->tpl->setVariable(
"HEADER_NR",$this->lng->txt(
'crs_nr'));
228 $this->tpl->setVariable(
"HEADER_DESC",$this->lng->txt(
'description'));
229 $this->tpl->setVariable(
"HEADER_EDITED",$this->lng->txt(
'crs_objective_accomplished'));
232 $lm_continue =&
new ilCourseLMHistory($this->course_obj->getRefId(),$ilUser->getId());
236 foreach($this->start_obj->getStartObjects() as $start)
238 $obj_id = $ilObjDataCache->lookupObjId($start[
'item_ref_id']);
239 $ref_id = $start[
'item_ref_id'];
240 $type = $ilObjDataCache->lookupType(
$obj_id);
246 $obj_frame = $obj_frame ? $obj_frame :
'';
249 $obj_frame = $type ==
'tst' ?
'' : $obj_frame;
253 if($ilAccess->checkAccess(
'read',
'',
$ref_id))
255 $this->tpl->setCurrentBlock(
"start_read");
256 $this->tpl->setVariable(
"READ_TITLE_START",$ilObjDataCache->lookupTitle(
$obj_id));
257 $this->tpl->setVariable(
"READ_TARGET_START",$obj_frame);
258 $this->tpl->setVariable(
"READ_LINK_START", $obj_link.
'&crs_show_result='.$this->course_obj->getRefId());
259 $this->tpl->parseCurrentBlock();
263 $this->tpl->setCurrentBlock(
"start_visible");
264 $this->tpl->setVariable(
"VISIBLE_LINK_START",$ilObjDataCache->lookupTitle(
$obj_id));
265 $this->tpl->parseCurrentBlock();
269 if(isset($continue_data[
$ref_id]))
271 $this->tpl->setCurrentBlock(
"link");
272 $this->tpl->setVariable(
"LINK_HREF",
ilLink::_getLink($ref_id,
'',array(
'obj_id',
273 $continue_data[$ref_id][
'lm_page_id'])));
274 #$this->tpl->setVariable("CONTINUE_LINK_TARGET",$target);
275 $this->tpl->setVariable(
"LINK_NAME",$this->lng->txt(
'continue_work'));
276 $this->tpl->parseCurrentBlock();
280 if(!$ilUser->isDesktopItem($ref_id,$type) and
281 $this->course_obj->getAboStatus())
283 if ($ilAccess->checkAccess(
'read',
'',$ref_id))
285 $this->tpl->setCurrentBlock(
"link");
286 $this->ctrl->setParameterByClass(get_class($this->container_gui),
'item_ref_id',$ref_id);
287 $this->ctrl->setParameterByClass(get_class($this->container_gui),
'item_id',$ref_id);
288 $this->ctrl->setParameterByClass(get_class($this->container_gui),
'type',$type);
290 $this->tpl->setVariable(
"LINK_HREF",$this->ctrl->getLinkTarget($this->container_gui,
'addToDesk'));
291 $this->tpl->setVariable(
"LINK_NAME", $this->lng->txt(
"to_desktop"));
292 $this->tpl->parseCurrentBlock();
295 elseif($this->course_obj->getAboStatus())
297 $this->tpl->setCurrentBlock(
"link");
298 $this->ctrl->setParameterByClass(get_class($this->container_gui),
'item_ref_id',$ref_id);
299 $this->ctrl->setParameterByClass(get_class($this->container_gui),
'item_id',$ref_id);
300 $this->ctrl->setParameterByClass(get_class($this->container_gui),
'type',$type);
302 $this->tpl->setVariable(
"LINK_HREF",$this->ctrl->getLinkTarget($this->container_gui,
'removeFromDesk'));
303 $this->tpl->setVariable(
"LINK_NAME", $this->lng->txt(
"unsubscribe"));
304 $this->tpl->parseCurrentBlock();
309 if(strlen($ilObjDataCache->lookupDescription(
$obj_id)))
311 $this->tpl->setCurrentBlock(
"start_description");
312 $this->tpl->setVariable(
"DESCRIPTION_START",$ilObjDataCache->lookupDescription(
$obj_id));
313 $this->tpl->parseCurrentBlock();
317 if($this->start_obj->isFullfilled($ilUser->getId(),
$ref_id))
319 $accomplished =
'accomplished';
323 $accomplished =
'not_accomplished';
325 $this->tpl->setCurrentBlock(
"start_row");
327 $this->tpl->setVariable(
"EDITED_ALT",$this->lng->txt(
'crs_objective_'.$accomplished));
328 $this->tpl->setVariable(
"ROW_CLASS",
'option_value');
329 $this->tpl->setVariable(
"ROW_CLASS_CENTER",
'option_value_center');
330 $this->tpl->setVariable(
"OBJ_NR_START",++$counter.
'.');
331 $this->tpl->parseCurrentBlock();
342 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
352 if (!$this->no_right_column)
365 if ($ilCtrl->getNextClass() ==
"ilcourseobjectivepresentationgui")
367 $ilCtrl->setParameterByClass(
"ilcolumngui",
"col_return",
"objectives");
369 $ilCtrl->saveParameterByClass(
"ilcolumngui",
"col_return");
374 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
384 if ($ilCtrl->getNextClass() ==
"ilcolumngui" &&
389 $html = $ilCtrl->forwardCommand($column_gui);
393 if (!$ilCtrl->isAsynch())
395 $html = $ilCtrl->getHTML($column_gui);
409 $this->tabs_gui->setSubTabActive(
'crs_content');
411 $ilCtrl->saveParameterByClass(
"ilcolumngui",
"col_return");
413 if ($this->use_objective_presentation)
417 switch ($ilCtrl->getNextClass())
421 if (
$_GET[
"col_return"] ==
"objectives")
423 $ilCtrl->setParameter($this,
"col_return",
"objectives");
424 $ilCtrl->setReturn($this,
"view");
428 $this->tabs_gui->setSubTabActive(
'crs_content');
429 $ilCtrl->setReturn($this,
"view");
434 case "ilcourseobjectivepresentationgui":
439 $this->no_right_column =
true;
444 if(
$_SESSION[
'crs_timings_panel'][$this->course_obj->getId()])
451 include_once
'./classes/class.ilObjectListGUIFactory.php';
459 $this->__showFeedBack();
463 #$this->container_gui->renderContainer();
464 $this->container_gui->showAdministrationPanel($this->tpl);
469 global $ilAccess,
$lng;
471 $column_gui->setRepositoryMode(
true);
472 $column_gui->setEnableEdit(
false);
473 $column_gui->setBlockProperty(
"news",
"title",
474 $lng->txt(
"crs_news"));
476 $grouped_items = array();
477 foreach($this->course_obj->items_obj->items as $item)
479 $grouped_items[$item[
"type"]][] = $item;
482 $column_gui->setRepositoryItems($grouped_items);
483 if ($ilAccess->checkAccess(
"write",
"", $this->container_obj->getRefId()))
485 $column_gui->setEnableEdit(
true);
489 if ($this->is_tutor &&
490 $this->container_gui->isActiveAdministrationPanel())
492 $column_gui->setEnableMovement(
true);
498 $column_gui->setBlockProperty(
"news",
"settings",
true);
500 $column_gui->setBlockProperty(
"news",
"default_visibility_option",
true);
501 $column_gui->setBlockProperty(
"news",
"hide_news_block_option",
true);
504 if ($this->container_gui->isActiveAdministrationPanel())
506 $column_gui->setAdminCommands(
true);
518 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
521 $this->course_obj->initCourseItemObject($this->container_obj->getRefId());
526 if (!$ilCtrl->isAsynch())
536 $html = $ilCtrl->forwardCommand($column_gui);
543 $html = $ilCtrl->forwardCommand($column_gui);
548 if (
$_GET[
"col_return"] ==
"objectives")
551 include_once
'Modules/Course/classes/class.ilCourseObjectivePresentationGUI.php';
552 $this->ctrl->setReturn($this,
'');
554 $this->ctrl->getHTML($objectives_gui);
581 if(!$ilAccess->checkAccess(
'visible',
'',$cont_data[
'ref_id']))
590 if (!$this->container_gui->isActiveAdministrationPanel())
592 require_once
'Modules/File/classes/class.ilObjFileAccess.php';
602 $tpl =
new ilTemplate(
'tpl.crs_subcontent_row.html',
true,
true,
'Modules/Course');
607 $tpl =
new ilTemplate(
'tpl.crs_content_row.html',
true,
true,
'Modules/Course');
613 $html = $item_list_gui->getListItemHTML($cont_data[
'ref_id'],
614 $cont_data[
'obj_id'], $cont_data[
'title'], $cont_data[
'description']);
623 foreach($this->
__getOptions($cont_data,$num) as $key => $image)
625 $tpl->setCurrentBlock(
"img");
626 $tpl->setVariable(
"IMG_TYPE",$image[
"gif"]);
627 $tpl->setVariable(
"IMG_ALT",$image[
"lng"]);
628 $tpl->setVariable(
"IMG_LINK",$image[
"lnk"]);
629 $tpl->setVariable(
"IMG_TARGET",$image[
"tar"]);
630 $tpl->parseCurrentBlock();
636 $tpl->setCurrentBlock(
"options");
638 $tpl->parseCurrentBlock();
641 if ($this->container_gui->isActiveAdministrationPanel())
643 $tpl->setCurrentBlock(
"block_row_check");
644 $tpl->setVariable(
"ITEM_ID", $cont_data[
'ref_id']);
645 $tpl->parseCurrentBlock();
649 $tpl->setVariable(
"ITEM_HTML",$html);
654 $tpl->setVariable(
"ALT_IMG", $this->lng->txt(
"obj_".$cont_data[
"type"]));
655 $tpl->setCurrentBlock(
"tbl_content");
656 $tpl->parseCurrentBlock();
661 if($cont_data[
'type'] ==
'sess')
663 foreach($this->course_obj->items_obj->getItemsByEvent($cont_data[
'obj_id']) as $item)
675 $this->course_obj->initCourseItemObject($this->container_obj->getRefId());
679 $this->cont_arr = $this->course_obj->items_obj->getFilteredItems($this->container_obj->getRefId());
685 $this->cont_arr = $this->course_obj->items_obj->getFilteredItems($this->container_obj->getRefId());
690 $this->cont_arr = $this->course_obj->items_obj->getFilteredItems($this->container_obj->getRefId());
696 if(!count($this->cont_arr))
698 #ilUtil::sendInfo($this->lng->txt("crs_no_items_found"));
699 $this->tpl->addBlockFile(
"CONTENT_TABLE",
"content_tab",
"tpl.container_page.html",
700 "Services/Container");
701 $this->tpl->setVariable(
"FORM_ACTION", $this->ctrl->getFormAction($this));
702 $this->tpl->setVariable(
"CONTAINER_PAGE_CONTENT",
"");
708 $cont_num = count($this->cont_arr);
710 $this->container_gui->clearAdminCommandsDetermination();
715 foreach ($this->cont_arr as $cont_data)
720 $html .= $this->
displayRow($cont_data,$item_list_gui);
724 if($cont_data[
'type'] ==
'sess')
726 $html .= $this->
displayRow($cont_data,$item_list_gui);
731 if($cont_data[
'type'] !=
'sess')
733 $html .= $this->
displayRow($cont_data,$item_list_gui);
740 $tpl->setVariable(
'TBL_CONTENT',$html);
747 include_once
"./Services/Table/classes/class.ilTableGUI.php";
749 $tbl->setStyle(
'table',
'il_ContainerBlock');
753 if($a_selection ==
'session')
755 $title = $this->lng->txt(
'events');
759 $title = $this->lng->txt(
"crs_content");
763 $tbl->setHelp(
"tbl_help.php",
"icon_help.gif",$this->lng->txt(
"help"));
767 $tbl->setHeaderNames(array($this->lng->txt(
"type"),$this->lng->txt(
"title"),
769 $tbl->setHeaderVars(array(
"type",
"title",
"options"),
770 array(
"ref_id" => $this->course_obj->getRefId(),
771 "cmdClass" =>
"ilobjcoursecontentgui",
772 "cmdNode" =>
$_GET[
"cmdNode"]));
773 $tbl->setColumnWidth(array(
"1px",
"100%",
"24px"));
774 $tbl->disable(
"header");
778 $tbl->setHeaderNames(array($this->lng->txt(
"type"),$this->lng->txt(
"title"),
''));
779 $tbl->setHeaderVars(array(
"type",
"title",
'options'),
780 array(
"ref_id" => $this->course_obj->getRefId(),
781 "cmdClass" =>
"ilobjcoursecontentgui",
782 "cmdNode" =>
$_GET[
"cmdNode"]));
783 $tbl->setColumnWidth(array(
"1px",
""));
784 $tbl->disable(
"header");
788 $tbl->disable(
"footer");
789 $tbl->disable(
'sort');
790 $tbl->disable(
"form");
793 $tbl->setTemplate(
$tpl);
796 $this->tpl->setVariable(
"FORM_ACTION", $this->ctrl->getFormAction($this));
797 $this->tpl->setCurrentBlock(
"cont_page_content");
798 $this->tpl->setVariable(
"CONTAINER_PAGE_CONTENT",
$tpl->get());
799 $this->tpl->parseCurrentBlock();
809 include_once
'Services/MetaData/classes/class.ilMDEducational.php';
810 include_once
'classes/class.ilLink.php';
812 $this->lng->loadLanguageModule(
'meta');
814 if(!$ilAccess->checkAccess(
'write',
'',$this->container_obj->getRefId()))
816 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_write'),$ilErr->WARNING);
819 $this->tabs_gui->setSubTabActive(
'timings_timings');
821 $this->course_obj->initCourseItemObject($this->container_obj->getRefId());
822 $this->cont_arr = $this->course_obj->items_obj->getAllItems($this->container_obj->getId());
824 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_edit_items.html',
'Modules/Course');
825 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
827 $this->tpl->setVariable(
"HEADER_ALT",$this->lng->txt(
'crs_materials'));
828 $this->tpl->setVariable(
"BLOCK_HEADER_CONTENT",$this->lng->txt(
'edit_timings_list'));
829 $this->tpl->setVariable(
"TXT_TITLE",$this->lng->txt(
'title'));
832 $this->tpl->setVariable(
"TXT_DURATION",$this->lng->txt(
'crs_timings_time_frame'));
833 $this->tpl->setVariable(
"TXT_INFO_DURATION",$this->lng->txt(
'crs_timings_in_days'));
835 $this->tpl->setVariable(
"TXT_START_END",$this->lng->txt(
'crs_timings_short_start_end'));
836 $this->tpl->setVariable(
"TXT_INFO_START_END",$this->lng->txt(
'crs_timings_start_end_info'));
838 $this->tpl->setVariable(
"TXT_CHANGEABLE",$this->lng->txt(
'crs_timings_short_changeable'));
840 $this->tpl->setVariable(
"TXT_INFO_LIMIT",$this->lng->txt(
'crs_timings_from_until'));
841 $this->tpl->setVariable(
"TXT_LIMIT",$this->lng->txt(
'crs_timings_short_limit_start_end'));
842 $this->tpl->setVariable(
"TXT_ACTIVE",$this->lng->txt(
'crs_timings_short_active'));
843 $this->tpl->setVariable(
"TXT_INFO_ACTIVE",$this->lng->txt(
'crs_timings_info_active'));
846 foreach($this->cont_arr as $item)
855 $item_prefix =
"item[$item[ref_id]]";
856 $item_change_prefix =
"item_change[$item[ref_id]]";
857 $item_active_prefix =
"item_active[$item[ref_id]]";
859 if($item[
'type'] ==
'grp' or
860 $item[
'type'] ==
'fold')
862 $this->tpl->setVariable(
"TITLE_LINK",
ilLink::_getLink($item[
'ref_id'],$item[
'type']));
864 $this->tpl->setVariable(
"TITLE_LINK_NAME",$item[
'title']);
868 $this->tpl->setVariable(
"TITLE",$item[
'title']);
871 if(strlen($item[
'description']))
873 $this->tpl->setCurrentBlock(
"item_description");
874 $this->tpl->setVariable(
"DESC",$item[
'description']);
875 $this->tpl->parseCurrentBlock();
880 $this->tpl->setCurrentBlock(
"tlt");
881 $this->tpl->setVariable(
"TXT_TLT",$this->lng->txt(
'meta_typical_learning_time'));
883 $this->tpl->parseCurrentBlock();
886 $this->tpl->setCurrentBlock(
"container_standard_row");
889 if(is_array($_POST[
'item'][
"$item[ref_id]"][
'sug_start']))
891 $start = $this->
__toUnix($_POST[
'item'][
"$item[ref_id]"][
'sug_start']);
895 $start = $item[
'suggestion_start'];
897 $end = $item[
'suggestion_end'];
899 $this->tpl->setVariable(
"SUG_START",
901 $date[
'y'],$date[
'm'],$date[
'd'],date(
'Y',time()),
false));
903 $this->tpl->setVariable(
"NAME_DURATION_A",$item_prefix.
"[duration_a]");
904 if(isset($_POST[
'item'][
"$item[ref_id]"][
'duration_a']))
906 $this->tpl->setVariable(
"VAL_DURATION_A",abs($_POST[
'item'][
"$item[ref_id]"][
'duration_a']));
910 $this->tpl->setVariable(
"VAL_DURATION_A",intval(($end-$start)/(60*60*24)));
916 if(is_array($_POST[
'item'][
"$item[ref_id]"][
'lim_end']))
918 $end = $this->
__toUnix($_POST[
'item'][
"$item[ref_id]"][
'lim_end']);
922 $end = $item[
'latest_end'];
926 $this->tpl->setVariable(
"LIM_END",
928 $date[
'y'],$date[
'm'],$date[
'd'],date(
'Y',time()),
false));
930 $this->tpl->setVariable(
"NAME_CHANGE",$item_change_prefix.
"[change]");
931 $this->tpl->setVariable(
"NAME_ACTIVE",$item_active_prefix.
"[active]");
933 if(isset($_POST[
'item']))
935 $change = $_POST[
'item_change'][
"$item[ref_id]"][
'change'];
936 $active = $_POST[
'item_active'][
"$item[ref_id]"][
'active'];
940 $change = $item[
'changeable'];
944 $this->tpl->setVariable(
"CHECKED_ACTIVE",$active ?
'checked="checked"' :
'');
945 $this->tpl->setVariable(
"CHECKED_CHANGE",$change ?
'checked="checked"' :
'');
947 if(isset($this->failed[
"$item[ref_id]"]))
949 $this->tpl->setVariable(
"ROWCLASS",
'tblrowmarked');
955 $this->tpl->parseCurrentBlock();
960 $this->tpl->setVariable(
"SELECT_ALL",$this->lng->txt(
'select_all'));
962 $this->tpl->setVariable(
"BTN_SAVE",$this->lng->txt(
'save'));
963 $this->tpl->setVariable(
"BTN_CANCEL",$this->lng->txt(
'cancel'));
971 include_once
'Modules/Course/classes/Timings/class.ilTimingAccepted.php';
972 $accept_obj =
new ilTimingAccepted($this->course_obj->getId(),$ilUser->getId());
974 $this->tpl->setVariable(
"REMARK",$accept_obj->getRemark());
975 $this->tpl->setVariable(
"ACCEPT_CHECKED",$accept_obj->isAccepted() ?
'checked="checked"' :
'');
976 $this->tpl->setVariable(
"TUTOR_CHECKED",$accept_obj->isVisible() ?
'checked="checked"' :
'');
978 $this->tpl->setVariable(
"TIMING_ACCEPT",$this->lng->txt(
'timing_accept_table'));
979 $this->tpl->setVariable(
"TXT_ACCEPT",$this->lng->txt(
'timing_user_accept'));
980 $this->tpl->setVariable(
"TXT_REMARK",$this->lng->txt(
'timing_remark'));
981 $this->tpl->setVariable(
"TXT_TUTOR",$this->lng->txt(
'timing_tutor_visible'));
982 $this->tpl->setVariable(
"TXT_BTN_UPDATE",$this->lng->txt(
'save'));
988 include_once
'Modules/Course/classes/Timings/class.ilTimingAccepted.php';
989 $accept_obj =
new ilTimingAccepted($this->course_obj->getId(),$ilUser->getId());
992 $accept_obj->accept($_POST[
'accepted']);
993 $accept_obj->setVisible($_POST[
'tutor']);
994 $accept_obj->update();
1001 if(
$_SESSION[
'crs_timings_panel'][$this->course_obj->getId()])
1007 if(!$ilAccess->checkAccess(
'read',
'',$this->container_obj->getRefId()))
1009 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),$ilErr->WARNING);
1011 $this->tabs_gui->setSubTabActive(
'timings_timings');
1015 include_once
'Modules/Course/classes/class.ilCourseItems.php';
1028 $this->ctrl->returnToParent($this);
1033 global $ilObjDataCache;
1035 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_user_timings.html',
'Modules/Course');
1036 $this->tabs_gui->clearSubTabs();
1037 $this->tabs_gui->setTabActive(
'members');
1039 if(!
$_GET[
'member_id'])
1042 $this->ctrl->returnToParent($this);
1047 $this->tpl->addBlockfile(
"BUTTONS",
"buttons",
"tpl.buttons.html");
1048 $this->tpl->setCurrentBlock(
"btn_cell");
1049 $this->tpl->setVariable(
"BTN_LINK",$this->ctrl->getLinkTarget($this,
'returnToMembers'));
1050 $this->tpl->setVariable(
"BTN_TXT",$this->lng->txt(
"back"));
1051 $this->tpl->parseCurrentBlock();
1053 include_once
'Modules/Course/classes/Timings/class.ilTimingAccepted.php';
1056 if($usr_accepted->isAccepted())
1059 $this->tpl->setVariable(
"ACC_ALT",$this->lng->txt(
'timing_accepted'));
1064 $this->tpl->setVariable(
"ACC_ALT",$this->lng->txt(
'timing_not_accepted'));
1066 if($usr_accepted->isVisible() and strlen($usr_accepted->getRemark()))
1068 $this->tpl->setVariable(
"REMARK",nl2br($usr_accepted->getRemark()));
1072 $this->tpl->setVariable(
"REMARK",$this->lng->txt(
'not_available'));
1075 $this->tpl->setVariable(
"TIMING_ACCEPT",$this->lng->txt(
'timing_accept_table'));
1076 $this->tpl->setVariable(
"TXT_ACCEPTED",$this->lng->txt(
'timing_user_accepted'));
1077 $this->tpl->setVariable(
"TXT_REMARK",$this->lng->txt(
'timing_remark'));
1080 $this->tpl->setVariable(
"HEADER_ALT",$this->lng->txt(
'obj_usr'));
1081 $this->tpl->setVariable(
"TABLE_HEADER",$this->lng->txt(
'timings_of'));
1083 $this->tpl->setVariable(
"USER_NAME",$name[
'lastname'].
', '.$name[
'firstname']);
1085 $this->tpl->setVariable(
"TXT_TITLE",$this->lng->txt(
'title'));
1086 $this->tpl->setVariable(
"TXT_START_END",$this->lng->txt(
'crs_timings_short_start_end'));
1087 $this->tpl->setVariable(
"TXT_INFO_START_END",$this->lng->txt(
'crs_timings_start_end_info'));
1088 $this->tpl->setVariable(
"TXT_CHANGED",$this->lng->txt(
'crs_timings_changed'));
1089 $this->tpl->setVariable(
"TXT_OWN_PRESETTING",$this->lng->txt(
'crs_timings_planed_start'));
1090 $this->tpl->setVariable(
"TXT_INFO_OWN_PRESETTING",$this->lng->txt(
'crs_timings_from_until'));
1092 $this->items_obj =
new ilCourseItems($this->course_obj,$this->container_obj->getRefId());
1093 $items =& $this->items_obj->
getItems();
1095 foreach($items as $item)
1107 global $ilUser,$ilAccess;
1109 include_once
'Modules/Course/classes/Timings/class.ilTimingPlaned.php';
1110 include_once
'./Services/MetaData/classes/class.ilMDEducational.php';
1112 $this->lng->loadLanguageModule(
'meta');
1115 for($i = 0;$i < $level;$i++)
1117 $this->tpl->touchBlock(
'start_indent');
1118 $this->tpl->touchBlock(
'end_indent');
1120 if(strlen($item[
'description']))
1122 $this->tpl->setCurrentBlock(
"item_description");
1123 $this->tpl->setVariable(
"DESC",$item[
'description']);
1124 $this->tpl->parseCurrentBlock();
1128 $this->tpl->setCurrentBlock(
"tlt");
1129 $this->tpl->setVariable(
"TXT_TLT",$this->lng->txt(
'meta_typical_learning_time'));
1131 $this->tpl->parseCurrentBlock();
1134 $this->tpl->setCurrentBlock(
"title_plain");
1135 $this->tpl->setVariable(
"TITLE",$item[
'title']);
1136 $this->tpl->parseCurrentBlock();
1138 $this->tpl->setCurrentBlock(
"container_standard_row");
1140 $this->tpl->setVariable(
"ROWCLASS",
ilUtil::switchColor($this->counter++,
'tblrow1',
'tblrow2'));
1141 #$this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_'.$item['type'].'.gif'));
1143 $this->tpl->setVariable(
"TYPE_ALT_IMG",$this->lng->txt(
'obj_'.$item[
'type']));
1153 if($usr_planed->getPlanedStartingTime())
1155 $start = $usr_planed->getPlanedStartingTime();
1159 $start = $item[
'suggestion_start'];
1163 if($usr_planed->getPlanedEndingTime())
1165 $end = $usr_planed->getPlanedEndingTime();
1169 $end = $item[
'suggestion_end'];
1171 if($start != $item[
'suggestion_start'] or $end != $item[
'suggestion_end'])
1174 $this->tpl->setVariable(
"OK_ALT",$this->lng->txt(
'crs_timings_changed'));
1179 $this->tpl->setVariable(
"OK_ALT",$this->lng->txt(
'crs_timings_not_changed'));
1184 $this->tpl->parseCurrentBlock();
1186 $sub_items_obj =
new ilCourseItems($this->course_obj,$item[
'ref_id'],
$_GET[
'member_id']);
1187 foreach($sub_items_obj->getItems() as $item_data)
1201 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_usr_edit_timings_adv.html',
'Modules/Course');
1205 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1207 $this->tpl->setVariable(
"HEADER_ALT",$this->lng->txt(
'obj_crs'));
1208 $this->tpl->setVariable(
"BLOCK_HEADER_CONTENT",$this->lng->txt(
'timings_usr_edit'));
1210 if(!
$_SESSION[
'crs_timings_user_hidden'])
1212 $this->tpl->setVariable(
"SHOW_HIDE_TEXT",$this->lng->txt(
'show_details'));
1213 $this->ctrl->setParameter($this,
'show_details',1);
1214 $this->tpl->setVariable(
"SHOW_HIDE_LINK",$this->ctrl->getLinkTarget($this,
'editUserTimings'));
1218 $this->tpl->setVariable(
"SHOW_HIDE_TEXT",$this->lng->txt(
'hide_details'));
1219 $this->ctrl->setParameter($this,
'show_details',0);
1220 $this->tpl->setVariable(
"SHOW_HIDE_LINK",$this->ctrl->getLinkTarget($this,
'editUserTimings'));
1222 $this->ctrl->clearParameters($this);
1223 $this->tpl->setVariable(
"TXT_TITLE",$this->lng->txt(
'title'));
1224 $this->tpl->setVariable(
"TXT_START_END",$this->lng->txt(
'crs_timings_short_start_end'));
1225 $this->tpl->setVariable(
"TXT_INFO_START_END",$this->lng->txt(
'crs_timings_start_end_info'));
1227 $this->tpl->setVariable(
"TXT_LIMIT",$this->lng->txt(
'crs_timings_short_limit_start_end'));
1228 $this->tpl->setVariable(
"TXT_INFO_LIMIT",$this->lng->txt(
'crs_timings_from_until'));
1230 $this->tpl->setVariable(
"TXT_OWN_PRESETTING",$this->lng->txt(
'crs_timings_planed_start'));
1231 $this->tpl->setVariable(
"TXT_INFO_OWN_PRESETTING",$this->lng->txt(
'crs_timings_start_end_info'));
1233 $this->tpl->setVariable(
"TXT_DURATION",$this->lng->txt(
'crs_timings_time_frame'));
1234 $this->tpl->setVariable(
"TXT_INFO_DURATION",$this->lng->txt(
'crs_timings_in_days'));
1236 $this->tpl->setVariable(
"TXT_BTN_UPDATE",$this->lng->txt(
'save'));
1237 $this->tpl->setVariable(
"TXT_CANCEL",$this->lng->txt(
'cancel'));
1239 $this->items_obj =
new ilCourseItems($this->course_obj,$this->container_obj->getRefId());
1240 $items =& $this->items_obj->
getItems();
1242 $all_items = $this->items_obj->getFilteredItems($this->course_obj->getRefId());
1246 foreach($sorted_items as $item)
1248 switch($item[
'type'])
1264 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_usr_edit_timings.html',
'Modules/Course');
1269 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1271 $this->tpl->setVariable(
"HEADER_ALT",$this->lng->txt(
'obj_crs'));
1273 if(!
$_SESSION[
'crs_timings_user_hidden'])
1275 $this->tpl->setVariable(
"SHOW_HIDE_TEXT",$this->lng->txt(
'show_details'));
1276 $this->ctrl->setParameter($this,
'show_details',1);
1277 $this->tpl->setVariable(
"SHOW_HIDE_LINK",$this->ctrl->getLinkTarget($this,
'editUserTimings'));
1281 $this->tpl->setVariable(
"SHOW_HIDE_TEXT",$this->lng->txt(
'hide_details'));
1282 $this->ctrl->setParameter($this,
'show_details',0);
1283 $this->tpl->setVariable(
"SHOW_HIDE_LINK",$this->ctrl->getLinkTarget($this,
'editUserTimings'));
1285 $this->ctrl->clearParameters($this);
1287 $this->tpl->setVariable(
"BLOCK_HEADER_CONTENT",$this->lng->txt(
'timings_timings'));
1288 $this->tpl->setVariable(
"TXT_TITLE",$this->lng->txt(
'title'));
1289 $this->tpl->setVariable(
"TXT_START",$this->lng->txt(
'crs_timings_sug_begin'));
1290 $this->tpl->setVariable(
"TXT_END",$this->lng->txt(
'crs_timings_sug_end'));
1293 $this->items_obj =
new ilCourseItems($this->course_obj,$this->container_obj->getRefId());
1295 $all_items = $this->items_obj->
getFilteredItems($this->course_obj->getRefId());
1299 foreach($sorted_items as $item)
1301 switch($item[
'type'])
1319 foreach($a_items as $item)
1323 $inactive[] = $item;
1333 return array_merge($sorted_active,$sorted_inactive);
1340 if(strlen($item[
'description']))
1342 $this->tpl->setCurrentBlock(
"item_description");
1343 $this->tpl->setVariable(
"DESC",$item[
'description']);
1344 $this->tpl->parseCurrentBlock();
1347 if($ilAccess->checkAccess(
'read',
'',$item[
'ref_id']))
1349 $this->tpl->setCurrentBlock(
"title_as_link");
1351 include_once
'./classes/class.ilLink.php';
1352 $this->tpl->setVariable(
"TITLE_LINK",
ilLink::_getLink($item[
'ref_id'],$item[
'type']));
1353 $this->tpl->setVariable(
"TITLE_NAME",$item[
'title']);
1354 $this->tpl->parseCurrentBlock();
1358 $this->tpl->setCurrentBlock(
"title_plain");
1359 $this->tpl->setVariable(
"TITLE",$item[
'title']);
1360 $this->tpl->parseCurrentBlock();
1367 $this->tpl->setCurrentBlock(
"tlt");
1368 $this->tpl->setVariable(
"TXT_TLT",$this->lng->txt(
'event_date'));
1369 include_once(
'./Modules/Session/classes/class.ilSessionAppointment.php');
1371 $this->tpl->parseCurrentBlock();
1373 $this->tpl->setCurrentBlock(
"container_standard_row");
1374 $this->tpl->setVariable(
"ROWCLASS",
ilUtil::switchColor($this->counter++,
'tblrow1',
'tblrow2'));
1376 $this->tpl->setVariable(
"TYPE_ALT_IMG",$this->lng->txt(
'obj_'.$item[
'type']));
1377 $this->tpl->parseCurrentBlock();
1379 #if(!$_SESSION['crs_timings_user_hidden'])
1383 foreach($this->items_obj->getItemsByEvent($item[
'event_id']) as $item)
1391 global $ilUser,$ilAccess;
1393 include_once
'Modules/Course/classes/Timings/class.ilTimingPlaned.php';
1394 include_once
'./classes/class.ilLink.php';
1395 include_once
'./Services/MetaData/classes/class.ilMDEducational.php';
1397 if(!$ilAccess->checkAccess(
'visible',
'',$item[
'ref_id']))
1402 $this->lng->loadLanguageModule(
'meta');
1404 $usr_planed =
new ilTimingPlaned($item[
'ref_id'],$ilUser->getId());
1406 for($i = 0;$i < $level;$i++)
1408 $this->tpl->touchBlock(
'start_indent');
1409 $this->tpl->touchBlock(
'end_indent');
1411 if(strlen($item[
'description']))
1413 $this->tpl->setCurrentBlock(
"item_description");
1414 $this->tpl->setVariable(
"DESC",$item[
'description']);
1415 $this->tpl->parseCurrentBlock();
1419 $this->tpl->setCurrentBlock(
"tlt");
1420 $this->tpl->setVariable(
"TXT_TLT",$this->lng->txt(
'meta_typical_learning_time'));
1422 $this->tpl->parseCurrentBlock();
1425 if($ilAccess->checkAccess(
'read',
'',$item[
'ref_id']))
1427 $this->tpl->setCurrentBlock(
"title_as_link");
1428 $this->tpl->setVariable(
"TITLE_LINK",
ilLink::_getLink($item[
'ref_id'],$item[
'type']));
1429 $this->tpl->setVariable(
"TITLE_NAME",$item[
'title']);
1430 $this->tpl->parseCurrentBlock();
1434 $this->tpl->setCurrentBlock(
"title_plain");
1435 $this->tpl->setVariable(
"TITLE",$item[
'title']);
1436 $this->tpl->parseCurrentBlock();
1438 $this->tpl->setCurrentBlock(
"container_standard_row");
1440 if(isset($this->invalid[
"$item[ref_id]"]))
1442 $this->tpl->setVariable(
"ROWCLASS",
'tblrowmarked');
1446 $this->tpl->setVariable(
"ROWCLASS",
ilUtil::switchColor($this->counter++,
'tblrow1',
'tblrow2'));
1448 #$this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_'.$item['type'].'.gif'));
1450 $this->tpl->setVariable(
"TYPE_ALT_IMG",$this->lng->txt(
'obj_'.$item[
'type']));
1459 if($item[
'changeable'])
1461 $item_prefix =
"item[".$item[
'ref_id'].
']';
1463 if(is_array($_POST[
'item'][
"$item[ref_id]"][
'own_start']))
1465 #echo "Start post<br>";
1466 $start = $this->
__toUnix($_POST[
'item'][
"$item[ref_id]"][
'own_start']);
1468 elseif($usr_planed->getPlanedStartingTime())
1470 #echo "Own start<br>";
1471 $start = $usr_planed->getPlanedStartingTime();
1475 #echo "Empfehlung start<br>";
1476 $start = $item[
'suggestion_start'];
1480 $this->tpl->setVariable(
"OWN_START",
1482 $date[
'y'],$date[
'm'],$date[
'd'],date(
'Y',time()),
false));
1484 if($usr_planed->getPlanedEndingTime())
1486 #echo "Own End<br>";
1487 $end = $usr_planed->getPlanedEndingTime();
1491 #echo "Empfehlung end<br>";
1492 $end = $item[
'suggestion_end'];
1495 $this->tpl->setVariable(
"NAME_DURATION",$item_prefix.
"[duration]");
1498 if(isset($_POST[
'item'][
"$item[ref_id]"][
'duration']))
1500 $this->tpl->setVariable(
"VAL_DURATION",$_POST[
'item'][
"$item[ref_id]"][
'duration']);
1504 $this->tpl->setVariable(
"VAL_DURATION",intval(($end - $start) / (60 * 60 * 24)));
1510 $this->tpl->parseCurrentBlock();
1512 if(!
$_SESSION[
'crs_timings_user_hidden'])
1517 $sub_items_obj =
new ilCourseItems($this->course_obj,$item[
'ref_id']);
1518 foreach($sub_items_obj->getItems() as $item_data)
1528 if(!$ilAccess->checkAccess(
'write',
'',$this->container_obj->getRefId()))
1533 if(!
$_SESSION[
'crs_timings_panel'][$this->course_obj->getId()])
1535 $this->tpl->addBlockfile(
"BUTTONS",
"buttons",
"tpl.buttons.html");
1536 $this->tpl->setCurrentBlock(
"btn_cell");
1537 $this->tpl->setVariable(
"BTN_LINK",$this->ctrl->getLinkTarget($this,
'timingsOn'));
1538 $this->tpl->setVariable(
"BTN_TXT",$this->lng->txt(
"timings_timings_on"));
1539 $this->tpl->parseCurrentBlock();
1543 $this->tpl->addBlockfile(
"BUTTONS",
"buttons",
"tpl.buttons.html");
1544 $this->tpl->setCurrentBlock(
"btn_cell");
1545 $this->tpl->setVariable(
"BTN_LINK",$this->ctrl->getLinkTarget($this,
'timingsOff'));
1546 $this->tpl->setVariable(
"BTN_TXT",$this->lng->txt(
"timings_timings_off"));
1547 $this->tpl->parseCurrentBlock();
1554 $_SESSION[
'crs_timings_panel'][$this->course_obj->getId()] = 1;
1556 $ilTabs->clearSubTabs();
1564 $_SESSION[
'crs_timings_panel'][$this->course_obj->getId()] = 0;
1566 $ilTabs->clearSubTabs();
1574 global $ilUser,$ilObjDataCache;
1575 include_once
'Modules/Course/classes/Timings/class.ilTimingPlaned.php';
1578 $this->invalid = array();
1584 if(isset(
$data[
'duration']))
1586 $data[
'own_start'][
'd'] +=
$data[
'duration'];
1587 $tmp_planed->setPlanedEndingTime($this->
__toUnix(
$data[
'own_start'],array(
'h' => 23,
'm' => 55)));
1591 $tmp_planed->setPlanedEndingTime($this->
__toUnix(
$data[
'own_start']),array(
'h' => 23,
'm' => 55));
1593 if(!$tmp_planed->validate())
1595 $this->invalid[
$ref_id] = $ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId(
$ref_id));
1597 $all_items[] = $tmp_planed;
1599 if(count($this->invalid))
1601 $message = $this->lng->txt(
'crs_timings_update_error');
1602 $message .= (
"<br />".$this->lng->txt(
'crs_materials').
': ');
1603 $message .= (implode(
',',$this->invalid));
1608 foreach($all_items as $new_item_obj)
1610 $new_item_obj->update();
1623 if(!isset($_POST[
'item'][
$obj_id]))
1627 $item[
'suggestion_start'] = $this->
__toUnix($_POST[
'item'][$obj_id][
'sug_start']);
1628 $item[
'suggestion_end'] = $this->
__toUnix($_POST[
'item'][$obj_id][
'sug_end']);
1629 $item[
'earliest_start'] = $this->
__toUnix($_POST[
'item'][$obj_id][
'lim_start']);
1630 $item[
'latest_end'] = $this->
__toUnix($_POST[
'item'][$obj_id][
'lim_end']);
1631 $item[
'changeable'] = $_POST[
'item'][
$obj_id][
'change'];
1633 $item[
'duration_a'] = $_POST[
'item'][
$obj_id][
'duration_a'];
1634 $item[
'duration_b'] = $_POST[
'item'][
$obj_id][
'duration_b'];
1641 include_once
'Modules/Course/classes/class.ilCourseItems.php';
1645 if(!$ilAccess->checkAccess(
'write',
'',$this->container_obj->getRefId()))
1647 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_write'),$ilErr->WARNING);
1649 $this->failed = array();
1652 $_POST[
'item'] = is_array($_POST[
'item']) ? $_POST[
'item'] : array();
1653 $all_items = array();
1657 $item_obj =&
new ilCourseItems($this->course_obj,$this->container_obj->getRefId());
1661 $item_obj->setTimingStart($old_data[
'timing_start']);
1662 $item_obj->setTimingEnd($old_data[
'timing_end']);
1663 $item_obj->setSuggestionStart($this->
__toUnix(
$data[
"sug_start"]));
1666 $data[
'sug_start'][
'd'] += abs(
$data[
'duration_a']);
1667 $item_obj->setSuggestionEnd($this->
__toUnix(
$data[
'sug_start'],array(
'h' => 23,
'm' => 55)));
1669 $item_obj->setEarliestStart(time());
1670 $item_obj->setLatestEnd($this->
__toUnix(
$data[
'lim_end'],array(
'h' => 23,
'm' => 55)));
1672 $item_obj->toggleVisible($old_data[
'visible']);
1673 $item_obj->toggleChangeable($_POST[
'item_change'][
$ref_id][
'change']);
1675 if(!$item_obj->validateActivation())
1677 $this->failed[
$ref_id] = $old_data[
'title'];
1679 $all_items[
$ref_id] =& $item_obj;
1683 if(count($this->failed))
1685 $message = $this->lng->txt(
'crs_timings_update_error');
1686 $message .= (
"<br />".$this->lng->txt(
'crs_materials').
': ');
1687 $message .= (implode(
',',$this->failed));
1694 foreach($all_items as
$ref_id => $item_obj_new)
1696 $item_obj_new->update(
$ref_id);
1708 include_once
'./classes/class.ilObjectListGUIFactory.php';
1722 if (!is_object ($this->list_gui[$cont_data[
"type"]]))
1726 $item_list_gui->setContainerObject($this->container_gui);
1728 $item_list_gui->enableSubscribe($this->course_obj->getAboStatus());
1730 $this->list_gui[$cont_data[
"type"]] =& $item_list_gui;
1734 $item_list_gui =& $this->list_gui[$cont_data[
"type"]];
1738 if (!$this->container_gui->isActiveAdministrationPanel())
1740 $item_list_gui->enableDelete(
false);
1741 $item_list_gui->enableLink(
false);
1742 $item_list_gui->enableCut(
false);
1746 if ($activation !=
"")
1748 $item_list_gui->addCustomProperty($this->lng->txt($cont_data[
'activation_info']), $activation,
1752 if($a_show_path and $this->is_tutor)
1754 $item_list_gui->addCustomProperty($this->lng->txt(
'path'),
1763 $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"ref_id",
1764 $this->container_obj->getRefId());
1765 $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"item_id",
1766 $cont_data[
'child']);
1768 $item_list_gui->addCustomCommand($this->ctrl->getLinkTargetByClass(
'ilCourseItemAdministrationGUI',
1773 return $item_list_gui;
1787 $tmp_array[
"lng"] = $this->lng->txt(
"crs_move_up");
1789 $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"ref_id",
1790 $this->container_obj->getRefId());
1791 $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"item_id",
1792 $cont_data[
'child']);
1793 $tmp_array[
'lnk'] = $this->ctrl->getLinkTargetByClass(
'ilcourseitemadministrationgui',
'moveUp');
1794 $tmp_array[
"tar"] =
"";
1796 $images[] = $tmp_array;
1798 if($num != count($this->cont_arr) - 1)
1801 $tmp_array[
"lng"] = $this->lng->txt(
"crs_move_down");
1802 $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"ref_id",
1803 $this->container_obj->getRefId());
1804 $this->ctrl->setParameterByClass(
'ilcourseitemadministrationgui',
"item_id",
1805 $cont_data[
'child']);
1806 $tmp_array[
'lnk'] = $this->ctrl->getLinkTargetByClass(
'ilcourseitemadministrationgui',
'moveDown');
1808 $images[] = $tmp_array;
1813 return $images ? $images : array();
1819 if(!$this->is_tutor && $this->container_obj->getType() ==
'crs')
1821 include_once(
'Services/Feedback/classes/class.ilFeedbackGUI.php');
1823 $feedbackHTML = $feedbackGUI->getCRSFeedbackListHTML();
1825 if(strlen($feedbackHTML))
1827 $this->tpl->setCurrentBlock(
"cont_page_content");
1828 $this->tpl->setVariable(
"CONTAINER_PAGE_CONTENT",$feedbackHTML);
1829 $this->tpl->parseCurrentBlock();
1837 if($this->container_obj->getType() ==
'crs')
1839 $this->container_gui->setContentSubTabs();
1847 if($this->container_obj->getType() ==
'crs')
1855 $course_ref_id = $tree->checkForParentType($this->container_obj->getRefId(),
'crs');
1863 return gmmktime($time[
'h'],$time[
'm'],0,$date[
'm'],$date[
'd'],$date[
'y']);
1868 return array(
'y' => date(
'Y',$a_unix_time),
1869 'm' => date(
'm',$a_unix_time),
1870 'd' => date(
'd',$a_unix_time));
1875 return array(
'h' => date(
'G',$a_unix_time),
1876 'm' => date(
'i',$a_unix_time),
1877 's' => date(
's',$a_unix_time));
1885 $path_arr = $tree->getPathFull($a_ref_id,$this->course_obj->getRefId());
1887 foreach($path_arr as
$data)
1893 $path .= $data[
'title'];