ILIAS  release_7 Revision v7.30-3-g800a261c036
ilLOEditorGUI Class Reference

Class ilLOEditorGUI. More...

+ Collaboration diagram for ilLOEditorGUI:

Public Member Functions

 __construct ($a_parent_obj)
 Constructor. More...
 
 executeCommand ()
 Execute command. More...
 
 getParentObject ()
 
 getSettings ()
 Settings. More...
 
 setTestType ($a_type)
 
 getTestType ()
 

Data Fields

const TEST_TYPE_IT = 1
 
const TEST_TYPE_QT = 2
 
const TEST_NEW = 1
 
const TEST_ASSIGN = 2
 
const SETTINGS_TEMPLATE_IT = 'il_astpl_loc_initial'
 
const SETTINGS_TEMPLATE_QT = 'il_astpl_loc_qualified'
 

Protected Member Functions

 returnFromObjectives ()
 Return from objectives. More...
 
 settings (ilPropertyFormGUI $form=null)
 Objective Settings. More...
 
 deleteAssignments ($a_type)
 Delete assignments. More...
 
 updateTestAssignments (ilLOSettings $settings)
 Update Test assignments. More...
 
 saveSettings ()
 
 initSettingsForm ()
 Init settings form. More...
 
 materials ()
 
 testsOverview ()
 View test assignments () More...
 
 testOverview ()
 Show test overview. More...
 
 confirmDeleteTests ()
 Show delete test confirmation. More...
 
 confirmDeleteTest ()
 Show delete confirmation screen. More...
 
 deleteTests ()
 Delete test assignments. More...
 
 deleteTest ()
 Delete test assignment. More...
 
 testAssignment (ilPropertyFormGUI $form=null)
 new test assignment More...
 
 testSettings (ilPropertyFormGUI $form=null)
 Show test settings. More...
 
 applySettingsTemplate (ilObjTest $tst)
 Apply auto generated setttings template. More...
 
 updateStartObjects ()
 Add Test as start object. More...
 
 saveMultiTestAssignment ()
 
 updateMaterialAssignments (ilObjTest $test)
 
 saveTest ()
 Save Test. More...
 
 listObjectives ()
 List all abvailable objectives. More...
 
 showObjectiveCreation (ilPropertyFormGUI $form=null)
 Show objective creation form. More...
 
 initSimpleObjectiveForm ()
 Show objective creation form. More...
 
 saveObjectiveCreation ()
 
 saveSorting ()
 save position More...
 
 askDeleteObjectives ()
 Confirm delete objectives. More...
 
 activateObjectives ()
 activate chosen objectives More...
 
 deactivateObjectives ()
 activate chosen objectives More...
 
 deleteObjectives ()
 Delete objectives @global type $rbacsystem. More...
 
 showStatus ($a_section)
 Show status panel. More...
 
 setTabs ($a_section='')
 Set tabs. More...
 

Private Attributes

 $logger = null
 
 $parent_obj
 
 $settings = null
 
 $lng = null
 
 $ctrl = null
 
 $test_type = 0
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilLOEditorGUI::__construct (   $a_parent_obj)

Constructor.

Parameters
type$a_parent_obj

Definition at line 49 of file class.ilLOEditorGUI.php.

50 {
51 $this->parent_obj = $a_parent_obj;
53
54 $this->lng = $GLOBALS['DIC']['lng'];
55 $this->ctrl = $GLOBALS['DIC']['ilCtrl'];
56 $this->logger = $GLOBALS['DIC']->logger()->crs();
57 }
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
settings(ilPropertyFormGUI $form=null)
Objective Settings.
static getInstanceByObjId($a_obj_id)
get singleton instance

References $GLOBALS, ilLOSettings\getInstanceByObjId(), getParentObject(), and settings().

+ Here is the call graph for this function:

Member Function Documentation

◆ activateObjectives()

ilLOEditorGUI::activateObjectives ( )
protected

activate chosen objectives

Definition at line 1197 of file class.ilLOEditorGUI.php.

1198 {
1199 $enabled = (array) $_REQUEST['objective'];
1200
1201 include_once './Modules/Course/classes/class.ilCourseObjective.php';
1202 $objectives = ilCourseObjective::_getObjectiveIds($this->getParentObject()->getId(), false);
1203 foreach ((array) $objectives as $objective_id) {
1204 $objective = new ilCourseObjective($this->getParentObject(), $objective_id);
1205 if (in_array($objective_id, $enabled)) {
1206 $objective->setActive(true);
1207 $objective->update();
1208 }
1209 }
1210
1211 include_once './Services/Tracking/classes/class.ilLPStatusWrapper.php';
1213
1214 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
1215 $this->ctrl->redirect($this, 'listObjectives');
1216 }
class ilcourseobjective
static _getObjectiveIds($course_id, $a_activated_only=false)
static _refreshStatus($a_obj_id, $a_users=null)
Set dirty.

References ilCourseObjective\_getObjectiveIds(), ilLPStatusWrapper\_refreshStatus(), and getParentObject().

+ Here is the call graph for this function:

◆ applySettingsTemplate()

ilLOEditorGUI::applySettingsTemplate ( ilObjTest  $tst)
protected

Apply auto generated setttings template.

Parameters
ilObjTest$tst

Definition at line 836 of file class.ilLOEditorGUI.php.

837 {
838 include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
839 include_once './Modules/Test/classes/class.ilObjAssessmentFolderGUI.php';
840
841 $tpl_id = 0;
842 foreach (ilSettingsTemplate::getAllSettingsTemplates('tst', true) as $nr => $template) {
843 switch ($this->getTestType()) {
845 if ($template['title'] == self::SETTINGS_TEMPLATE_IT) {
846 $tpl_id = $template['id'];
847 }
848 break;
850 if ($template['title'] == self::SETTINGS_TEMPLATE_QT) {
851 $tpl_id = $template['id'];
852 }
853 break;
854 }
855 if ($tpl_id) {
856 break;
857 }
858 }
859
860 if (!$tpl_id) {
861 return false;
862 }
863
864 include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
865 include_once './Modules/Test/classes/class.ilObjAssessmentFolderGUI.php';
867 $template_settings = $template->getSettings();
868 if ($template_settings) {
869 include_once './Modules/Test/classes/class.ilObjTestGUI.php';
870 $tst_gui = new ilObjTestGUI();
871 $tst_gui->applyTemplate($template_settings, $tst);
872 }
873 $tst->setTemplate($tpl_id);
874 return true;
875 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setTemplate($template_id)
Settings template application class.
static getAllSettingsTemplates($a_type, $a_include_auto_generated=false)
Get all settings templates of type.

References ilSettingsTemplate\getAllSettingsTemplates(), ilObjAssessmentFolderGUI\getSettingsTemplateConfig(), getTestType(), ilObjTest\setTemplate(), TEST_TYPE_IT, and TEST_TYPE_QT.

Referenced by saveMultiTestAssignment(), and saveTest().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ askDeleteObjectives()

ilLOEditorGUI::askDeleteObjectives ( )
protected

Confirm delete objectives.

Definition at line 1168 of file class.ilLOEditorGUI.php.

1169 {
1170 $GLOBALS['DIC']['ilTabs']->activateSubTab('objectives');
1171
1172 include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
1173 $confirm = new ilConfirmationGUI();
1174 $confirm->setFormAction($this->ctrl->getFormAction($this));
1175 $confirm->setHeaderText($this->lng->txt('crs_delete_objectve_sure'));
1176 $confirm->setConfirm($this->lng->txt('delete'), 'deleteObjectives');
1177 $confirm->setCancel($this->lng->txt('cancel'), 'listObjectives');
1178
1179 foreach ($_POST['objective'] as $objective_id) {
1180 include_once './Modules/Course/classes/class.ilCourseObjective.php';
1181 $obj = new ilCourseObjective($this->getParentObject(), $objective_id);
1182 $name = $obj->getTitle();
1183
1184 $confirm->addItem(
1185 'objective_ids[]',
1186 $objective_id,
1187 $name
1188 );
1189 }
1190 $GLOBALS['DIC']['tpl']->setContent($confirm->getHTML());
1192 }
$_POST["username"]
Confirmation screen class.
showStatus($a_section)
Show status panel.
if($format !==null) $name
Definition: metadata.php:230

References $_POST, $GLOBALS, $name, getParentObject(), ilLOEditorStatus\SECTION_OBJECTIVES, and showStatus().

+ Here is the call graph for this function:

◆ confirmDeleteTest()

ilLOEditorGUI::confirmDeleteTest ( )
protected

Show delete confirmation screen.

Definition at line 637 of file class.ilLOEditorGUI.php.

638 {
639 $this->setTestType((int) $_REQUEST['tt']);
640 $this->ctrl->setParameter($this, 'tt', $this->getTestType());
641
643 switch ($this->getTestType()) {
645 $GLOBALS['DIC']['ilTabs']->activateSubTab('itest');
646 break;
647
649 $GLOBALS['DIC']['ilTabs']->activateSubTab('qtest');
650 break;
651 }
652
653 if (!(int) $_REQUEST['tst']) {
654 ilUtil::sendFailure($this->lng->txt('select_one'), true);
655 $this->ctrl->redirect($this, 'testOverview');
656 }
657
658 include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
659 $confirm = new ilConfirmationGUI();
660 $confirm->setHeaderText($this->lng->txt('crs_loc_confirm_delete_tst'));
661 $confirm->setFormAction($this->ctrl->getFormAction($this));
662 $confirm->setConfirm($this->lng->txt('crs_loc_delete_assignment'), 'deleteTest');
663 $confirm->setCancel($this->lng->txt('cancel'), 'testOverview');
664
665 foreach ((array) $_REQUEST['tst'] as $tst_id) {
666 $obj_id = ilObject::_lookupObjId($tst_id);
667 $confirm->addItem('tst[]', $tst_id, ilObject::_lookupTitle($obj_id));
668 }
669
670 $GLOBALS['DIC']['tpl']->setContent($confirm->getHTML());
671
672 $this->showStatus(
676 );
677 }
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

References $GLOBALS, $settings, ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilLOSettings\getInstanceByObjId(), getParentObject(), getTestType(), ilLOEditorStatus\SECTION_ITES, ilLOEditorStatus\SECTION_QTEST, ilUtil\sendFailure(), setTestType(), showStatus(), TEST_TYPE_IT, ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

+ Here is the call graph for this function:

◆ confirmDeleteTests()

ilLOEditorGUI::confirmDeleteTests ( )
protected

Show delete test confirmation.

Definition at line 588 of file class.ilLOEditorGUI.php.

589 {
590 $this->setTestType((int) $_REQUEST['tt']);
591 $this->ctrl->setParameter($this, 'tt', $this->getTestType());
592
594 switch ($this->getTestType()) {
596 $GLOBALS['DIC']['ilTabs']->activateSubTab('itests');
597 break;
598
600 $GLOBALS['DIC']['ilTabs']->activateSubTab('qtests');
601 break;
602 }
603
604 if (!(int) $_REQUEST['tst']) {
605 ilUtil::sendFailure($this->lng->txt('select_one'), true);
606 $this->ctrl->redirect($this, 'testsOverview');
607 }
608
609 include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
610 $confirm = new ilConfirmationGUI();
611 $confirm->setHeaderText($this->lng->txt('crs_loc_confirm_delete_tst'));
612 $confirm->setFormAction($this->ctrl->getFormAction($this));
613 $confirm->setConfirm($this->lng->txt('crs_loc_delete_assignment'), 'deleteTests');
614 $confirm->setCancel($this->lng->txt('cancel'), 'testsOverview');
615
616 foreach ((array) $_REQUEST['tst'] as $assign_id) {
617 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignment.php';
618 $assignment = new ilLOTestAssignment($assign_id);
619
620
621 $obj_id = ilObject::_lookupObjId($assignment->getTestRefId());
622 $confirm->addItem('tst[]', $assign_id, ilObject::_lookupTitle($obj_id));
623 }
624
625 $GLOBALS['DIC']['tpl']->setContent($confirm->getHTML());
626
627 $this->showStatus(
631 );
632 }
Settings for LO courses.

References $GLOBALS, $settings, ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilLOSettings\getInstanceByObjId(), getParentObject(), getTestType(), ilLOEditorStatus\SECTION_ITES, ilLOEditorStatus\SECTION_QTEST, ilUtil\sendFailure(), setTestType(), showStatus(), ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

+ Here is the call graph for this function:

◆ deactivateObjectives()

ilLOEditorGUI::deactivateObjectives ( )
protected

activate chosen objectives

Definition at line 1221 of file class.ilLOEditorGUI.php.

1222 {
1223 $disabled = (array) $_REQUEST['objective'];
1224
1225 include_once './Modules/Course/classes/class.ilCourseObjective.php';
1226 $objectives = ilCourseObjective::_getObjectiveIds($this->getParentObject()->getId(), false);
1227 foreach ((array) $objectives as $objective_id) {
1228 $objective = new ilCourseObjective($this->getParentObject(), $objective_id);
1229 if (in_array($objective_id, $disabled)) {
1230 $objective->setActive(false);
1231 $objective->update();
1232 }
1233 }
1234
1235 include_once './Services/Tracking/classes/class.ilLPStatusWrapper.php';
1237
1238 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
1239 $this->ctrl->redirect($this, 'listObjectives');
1240 }

References ilCourseObjective\_getObjectiveIds(), ilLPStatusWrapper\_refreshStatus(), and getParentObject().

+ Here is the call graph for this function:

◆ deleteAssignments()

ilLOEditorGUI::deleteAssignments (   $a_type)
protected

Delete assignments.

Parameters
type$a_type

Definition at line 246 of file class.ilLOEditorGUI.php.

247 {
248 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignments.php';
249 $assignments = ilLOTestAssignments::getInstance($this->getParentObject()->getId());
250 foreach ($assignments->getAssignmentsByType($a_type) as $assignment) {
251 $assignment->delete();
252 }
253 return;
254 }
static getInstance($a_container_id)
Get instance by container id.

References ilLOTestAssignments\getInstance(), and getParentObject().

Referenced by updateTestAssignments().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteObjectives()

ilLOEditorGUI::deleteObjectives ( )
protected

Delete objectives @global type $rbacsystem.

Returns
boolean

Definition at line 1247 of file class.ilLOEditorGUI.php.

1248 {
1249 global $DIC;
1250
1251 $rbacsystem = $DIC['rbacsystem'];
1252
1253 foreach ($_POST['objective_ids'] as $objective_id) {
1254 include_once './Modules/Course/classes/class.ilCourseObjective.php';
1255 $objective_obj = new ilCourseObjective($this->getParentObject(), $objective_id);
1256 $objective_obj->delete();
1257 }
1258
1259 include_once './Services/Tracking/classes/class.ilLPStatusWrapper.php';
1261
1262 ilUtil::sendSuccess($this->lng->txt('crs_objectives_deleted'), true);
1263 $this->ctrl->redirect($this, 'listObjectives');
1264
1265 return true;
1266 }
global $DIC
Definition: goto.php:24

References $_POST, $DIC, ilLPStatusWrapper\_refreshStatus(), and getParentObject().

+ Here is the call graph for this function:

◆ deleteTest()

ilLOEditorGUI::deleteTest ( )
protected

Delete test assignment.

Definition at line 724 of file class.ilLOEditorGUI.php.

725 {
726 $this->setTestType((int) $_REQUEST['tt']);
727 $this->ctrl->setParameter($this, 'tt', $this->getTestType());
728
730 switch ($this->getTestType()) {
732 $GLOBALS['DIC']['ilTabs']->activateSubTab('itest');
733 break;
734
736 $GLOBALS['DIC']['ilTabs']->activateSubTab('qtest');
737 break;
738 }
739
740 foreach ((array) $_REQUEST['tst'] as $tst_id) {
741 switch ($this->getTestType()) {
743 $settings->setInitialTest(0);
744 break;
745
747 $settings->setQualifiedTest(0);
748 break;
749 }
750 $settings->update();
751
752 // finally delete start object assignment
753 include_once './Services/Container/classes/class.ilContainerStartObjects.php';
754 $start = new ilContainerStartObjects(
755 $this->getParentObject()->getRefId(),
756 $this->getParentObject()->getId()
757 );
758 $start->deleteItem($tst_id);
759
760 // ... and assigned questions
761 include_once './Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
763 }
764
765
766 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
767 $this->ctrl->redirect($this, 'testOverview');
768 }

References $GLOBALS, $settings, ilCourseObjectiveQuestion\deleteTest(), ilLOSettings\getInstanceByObjId(), getParentObject(), getTestType(), setTestType(), ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

+ Here is the call graph for this function:

◆ deleteTests()

ilLOEditorGUI::deleteTests ( )
protected

Delete test assignments.

Definition at line 682 of file class.ilLOEditorGUI.php.

683 {
684 $this->setTestType((int) $_REQUEST['tt']);
685 $this->ctrl->setParameter($this, 'tt', $this->getTestType());
686
688 switch ($this->getTestType()) {
690 $GLOBALS['DIC']['ilTabs']->activateSubTab('itests');
691 break;
692
694 $GLOBALS['DIC']['ilTabs']->activateSubTab('qtests');
695 break;
696 }
697
698 foreach ((array) $_REQUEST['tst'] as $assign_id) {
699 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignment.php';
700 $assignment = new ilLOTestAssignment($assign_id);
701 $assignment->delete();
702
703 // finally delete start object assignment
704 include_once './Services/Container/classes/class.ilContainerStartObjects.php';
705 $start = new ilContainerStartObjects(
706 $this->getParentObject()->getRefId(),
707 $this->getParentObject()->getId()
708 );
709 $start->deleteItem($assignment->getTestRefId());
710
711 // ... and assigned questions
712 include_once './Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
713 ilCourseObjectiveQuestion::deleteTest($assignment->getTestRefId());
714 }
715
716
717 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
718 $this->ctrl->redirect($this, 'testsOverview');
719 }

References $GLOBALS, $settings, ilCourseObjectiveQuestion\deleteTest(), ilLOSettings\getInstanceByObjId(), getParentObject(), getTestType(), setTestType(), ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

+ Here is the call graph for this function:

◆ executeCommand()

ilLOEditorGUI::executeCommand ( )

Execute command.

Returns
<type>

Definition at line 63 of file class.ilLOEditorGUI.php.

64 {
65 global $DIC;
66
67 $ilCtrl = $DIC['ilCtrl'];
68
69 $next_class = $ilCtrl->getNextClass($this);
70 $cmd = $ilCtrl->getCmd();
71
72 $this->setTabs();
73 switch ($next_class) {
74 case 'ilcourseobjectivesgui':
75
76 $this->ctrl->setReturn($this, 'returnFromObjectives');
77 $GLOBALS['DIC']['ilTabs']->clearTargets();
78 $GLOBALS['DIC']['ilTabs']->setBackTarget(
79 $this->lng->txt('back'),
80 $this->ctrl->getLinkTarget($this, 'listObjectives')
81 );
82
83 include_once './Modules/Course/classes/class.ilCourseObjectivesGUI.php';
84 $reg_gui = new ilCourseObjectivesGUI($this->getParentObject()->getRefId());
85 $this->ctrl->forwardCommand($reg_gui);
86 break;
87
88 case 'ilcontainerstartobjectsgui':
89
90 include_once './Services/Container/classes/class.ilContainerStartObjectsGUI.php';
91 $stgui = new ilContainerStartObjectsGUI($this->getParentObject());
92 $ret = $this->ctrl->forwardCommand($stgui);
93
94 $GLOBALS['DIC']['ilTabs']->activateSubTab('start');
95 $GLOBALS['DIC']['ilTabs']->removeSubTab('manage');
96
97 #$GLOBALS['DIC']['tpl']->setContent($this->ctrl->getHTML($stgui));
98 break;
99
100 case 'ilconditionhandlergui':
101
102 $this->ctrl->saveParameterByClass('ilconditionhandlergui', 'objective_id');
103
104 $GLOBALS['DIC']['ilTabs']->clearTargets();
105 $GLOBALS['DIC']['ilTabs']->setBackTarget(
106 $this->lng->txt('back'),
107 $this->ctrl->getLinkTarget($this, 'listObjectives')
108 );
109
110 include_once './Services/AccessControl/classes/class.ilConditionHandlerInterface.php';
111 $cond = new ilConditionHandlerGUI($this);
112 $cond->setBackButtons(array());
113 $cond->setAutomaticValidation(false);
114 $cond->setTargetType("lobj");
115 $cond->setTargetRefId($this->getParentObject()->getRefId());
116
117 $cond->setTargetId((int) $_REQUEST['objective_id']);
118
119 // objecitve
120 include_once './Modules/Course/classes/class.ilCourseObjective.php';
121 $obj = new ilCourseObjective($this->getParentObject(), (int) $_REQUEST['objective_id']);
122 $cond->setTargetTitle($obj->getTitle());
123 $this->ctrl->forwardCommand($cond);
124 break;
125
126 case 'illopagegui':
127 $this->ctrl->saveParameterByClass('illopagegui', 'objective_id');
128
129 $GLOBALS['DIC']['ilTabs']->clearTargets();
130 $GLOBALS['DIC']['ilTabs']->setBackTarget(
131 $this->lng->txt('back'),
132 $this->ctrl->getLinkTarget($this, 'listObjectives')
133 );
134
135 $objtv_id = (int) $_REQUEST['objective_id'];
136
137 include_once 'Modules/Course/classes/Objectives/class.ilLOPage.php';
138 if (!ilLOPage::_exists('lobj', $objtv_id)) {
139 // doesn't exist -> create new one
140 $new_page_object = new ilLOPage();
141 $new_page_object->setParentId($objtv_id);
142 $new_page_object->setId($objtv_id);
143 $new_page_object->createFromXML();
144 unset($new_page_object);
145 }
146
147 $this->ctrl->setReturn($this, 'listObjectives');
148 include_once 'Modules/Course/classes/Objectives/class.ilLOPageGUI.php';
149 $pgui = new ilLOPageGUI($objtv_id);
150 $pgui->setPresentationTitle(ilCourseObjective::lookupObjectiveTitle($objtv_id));
151
152 include_once('./Services/Style/Content/classes/class.ilObjStyleSheet.php');
154 $this->parent_obj->getStyleSheetId(),
155 $this->parent_obj->getType()
156 ));
157
158 // #14895
159 $GLOBALS['DIC']['tpl']->setCurrentBlock("ContentStyle");
160 $GLOBALS['DIC']['tpl']->setVariable(
161 "LOCATION_CONTENT_STYLESHEET",
163 $this->parent_obj->getStyleSheetId(),
164 $this->parent_obj->getType()
165 ))
166 );
167 $GLOBALS['DIC']['tpl']->parseCurrentBlock();
168
169 $ret = $this->ctrl->forwardCommand($pgui);
170 if ($ret) {
171 $GLOBALS['DIC']['tpl']->setContent($ret);
172 }
173 break;
174
175 default:
176 if (!$cmd) {
177 // get first unaccomplished step
178 include_once './Modules/Course/classes/Objectives/class.ilLOEditorStatus.php';
179 $cmd = ilLOEditorStatus::getInstance($this->getParentObject())->getFirstFailedStep();
180 }
181 $this->$cmd();
182
183 break;
184 }
185 return true;
186 }
class ilConditionHandlerGUI
Class ilContainerStartObjectsGUI.
static lookupObjectiveTitle($a_objective_id, $a_add_description=false)
class ilobjcourseobjectivesgui
setTabs($a_section='')
Set tabs.
static getInstance(ilObject $a_parent)
Get instance.
(Course) learning objective page GUI class
(Course) learning objective page object
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
static getContentStylePath($a_style_id, $add_random=true, $add_token=true)
get content style path
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
$ret
Definition: parser.php:6

References $DIC, $GLOBALS, $ret, ilPageObject\_exists(), ilObjStyleSheet\getContentStylePath(), ilObjStyleSheet\getEffectiveContentStyleId(), ilLOEditorStatus\getInstance(), getParentObject(), ilCourseObjective\lookupObjectiveTitle(), and setTabs().

+ Here is the call graph for this function:

◆ getParentObject()

◆ getSettings()

ilLOEditorGUI::getSettings ( )

Settings.

Returns
ilLOSettings

Definition at line 211 of file class.ilLOEditorGUI.php.

212 {
213 return $this->settings;
214 }

References $settings.

Referenced by initSettingsForm(), saveTest(), and updateStartObjects().

+ Here is the caller graph for this function:

◆ getTestType()

ilLOEditorGUI::getTestType ( )

◆ initSettingsForm()

ilLOEditorGUI::initSettingsForm ( )
protected

Init settings form.

Definition at line 367 of file class.ilLOEditorGUI.php.

368 {
369 include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
370 $form = new ilPropertyFormGUI();
371 $form->setFormAction($this->ctrl->getFormAction($this));
372 $form->setTitle($this->lng->txt('crs_loc_settings_tbl'));
373
374 // initial test
375 $type_selector = new ilRadioGroupInputGUI($this->lng->txt('crs_loc_settings_it_type'), 'ittype');
376 $type_selector->setRequired(true);
377 $type_selector->setValue($this->getSettings()->getInitialTestType());
378
379 $type_ipa = new ilRadioOption($this->lng->txt('crs_loc_settings_type_it_placement_all'), ilLOSettings::TYPE_INITIAL_PLACEMENT_ALL);
380 $type_ipa->setInfo($this->lng->txt('crs_loc_settings_type_it_placement_all_info'));
381 $type_selector->addOption($type_ipa);
382
383 $start_ip = new ilCheckboxInputGUI($this->lng->txt('crs_loc_settings_it_start_object'), 'start_ip');
384 $start_ip->setValue(1);
385 $start_ip->setChecked($this->getSettings()->isInitialTestStart());
386 $type_ipa->addSubItem($start_ip);
387
388 $type_ips = new ilRadioOption($this->lng->txt('crs_loc_settings_type_it_placement_sel'), ilLOSettings::TYPE_INITIAL_PLACEMENT_SELECTED);
389 $type_ips->setInfo($this->lng->txt('crs_loc_settings_type_it_placement_sel_info'));
390 $type_selector->addOption($type_ips);
391
392 $type_iqa = new ilRadioOption($this->lng->txt('crs_loc_settings_type_it_qualifying_all'), ilLOSettings::TYPE_INITIAL_QUALIFYING_ALL);
393 $type_iqa->setInfo($this->lng->txt('crs_loc_settings_type_it_qualifying_all_info'));
394 $type_selector->addOption($type_iqa);
395
396 $start_iq = new ilCheckboxInputGUI($this->lng->txt('crs_loc_settings_it_start_object'), 'start_iq');
397 $start_iq->setValue(1);
398 $start_iq->setChecked($this->getSettings()->isInitialTestStart());
399 $type_iqa->addSubItem($start_iq);
400
401 $type_iqs = new ilRadioOption($this->lng->txt('crs_loc_settings_type_it_qualifying_sel'), ilLOSettings::TYPE_INITIAL_QUALIFYING_SELECTED);
402 $type_iqs->setInfo($this->lng->txt('crs_loc_settings_type_it_qualifying_sel_info'));
403 $type_selector->addOption($type_iqs);
404
405 $type_ino = new ilRadioOption($this->lng->txt('crs_loc_settings_type_it_none'), ilLOSettings::TYPE_INITIAL_NONE);
406 $type_ino->setInfo($this->lng->txt('crs_loc_settings_type_it_none_info'));
407 $type_selector->addOption($type_ino);
408
409 $form->addItem($type_selector);
410
411 // qualifying test
412 $qt_selector = new ilRadioGroupInputGUI($this->lng->txt('crs_loc_settings_qt_all'), 'qttype');
413 $qt_selector->setRequired(true);
414 $qt_selector->setValue($this->getSettings()->getQualifyingTestType());
415
416 $type_qa = new ilRadioOption($this->lng->txt('crs_loc_settings_type_q_all'), ilLOSettings::TYPE_QUALIFYING_ALL);
417 $type_qa->setInfo($this->lng->txt('crs_loc_settings_type_q_all_info'));
418 $qt_selector->addOption($type_qa);
419
420 $start_q = new ilCheckboxInputGUI($this->lng->txt('crs_loc_settings_qt_start_object'), 'start_q');
421 $start_q->setValue(1);
422 $start_q->setChecked($this->getSettings()->isQualifyingTestStart());
423 $type_qa->addSubItem($start_q);
424
425 $passed_mode = new ilRadioGroupInputGUI($this->lng->txt('crs_loc_settings_passed_mode'), 'passed_mode');
426 $passed_mode->setValue($this->getSettings()->getPassedObjectiveMode());
427
428 $passed_mode->addOption(
429 new ilRadioOption(
430 $this->lng->txt('crs_loc_settings_passed_mode_hide'),
432 )
433 );
434 $passed_mode->addOption(
435 new ilRadioOption(
436 $this->lng->txt('crs_loc_settings_passed_mode_mark'),
438 )
439 );
440 $type_qa->addSubItem($passed_mode);
441
442 $type_qs = new ilRadioOption($this->lng->txt('crs_loc_settings_type_q_selected'), ilLOSettings::TYPE_QUALIFYING_SELECTED);
443 $type_qs->setInfo($this->lng->txt('crs_loc_settings_type_q_selected_info'));
444 $qt_selector->addOption($type_qs);
445
446 $form->addItem($qt_selector);
447
448 // reset results
449 $reset = new ilCheckboxInputGUI($this->lng->txt('crs_loc_settings_reset'), 'reset');
450 $reset->setValue(1);
451 $reset->setChecked($this->getSettings()->isResetResultsEnabled());
452 $reset->setOptionTitle($this->lng->txt('crs_loc_settings_reset_enable'));
453 $reset->setInfo($this->lng->txt('crs_loc_settings_reset_enable_info'));
454 $form->addItem($reset);
455
456 $form->addCommandButton('saveSettings', $this->lng->txt('save'));
457
458
459 return $form;
460 }
This class represents a checkbox property in a property form.
const TYPE_INITIAL_QUALIFYING_ALL
const TYPE_INITIAL_PLACEMENT_SELECTED
const HIDE_PASSED_OBJECTIVE_QST
const TYPE_INITIAL_PLACEMENT_ALL
const MARK_PASSED_OBJECTIVE_QST
const TYPE_QUALIFYING_SELECTED
const TYPE_INITIAL_QUALIFYING_SELECTED
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.

References getSettings(), ilLOSettings\HIDE_PASSED_OBJECTIVE_QST, ilLOSettings\MARK_PASSED_OBJECTIVE_QST, ilLOSettings\TYPE_INITIAL_NONE, ilLOSettings\TYPE_INITIAL_PLACEMENT_ALL, ilLOSettings\TYPE_INITIAL_PLACEMENT_SELECTED, ilLOSettings\TYPE_INITIAL_QUALIFYING_ALL, ilLOSettings\TYPE_INITIAL_QUALIFYING_SELECTED, ilLOSettings\TYPE_QUALIFYING_ALL, and ilLOSettings\TYPE_QUALIFYING_SELECTED.

Referenced by saveSettings(), and settings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initSimpleObjectiveForm()

ilLOEditorGUI::initSimpleObjectiveForm ( )
protected

Show objective creation form.

Definition at line 1101 of file class.ilLOEditorGUI.php.

1102 {
1103 include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
1104 $form = new ilPropertyFormGUI();
1105 $form->setTitle($this->lng->txt('crs_loc_form_create_objectives'));
1106 $form->setFormAction($this->ctrl->getFormAction($this));
1107
1108 $txt = new ilTextWizardInputGUI($this->lng->txt('crs_objectives'), 'objectives');
1109 $txt->setValues(array(0 => ''));
1110 $txt->setRequired(true);
1111 $form->addItem($txt);
1112
1113 $form->addCommandButton('saveObjectiveCreation', $this->lng->txt('save'));
1114
1115 return $form;
1116 }
This class represents a text wizard property in a property form.
$txt
Definition: error.php:13

References $txt.

Referenced by saveObjectiveCreation(), and showObjectiveCreation().

+ Here is the caller graph for this function:

◆ listObjectives()

ilLOEditorGUI::listObjectives ( )
protected

List all abvailable objectives.

Definition at line 1046 of file class.ilLOEditorGUI.php.

1047 {
1048 global $DIC;
1049
1050 $ilToolbar = $DIC['ilToolbar'];
1051
1052 include_once './Modules/Course/classes/class.ilCourseObjectivesGUI.php';
1054
1055
1056 $GLOBALS['DIC']['ilTabs']->activateSubTab('objectives');
1057
1059 $this->getParentObject()->getId(),
1060 false
1061 );
1062
1063 if (!count($objectives)) {
1064 return $this->showObjectiveCreation();
1065 }
1066
1067 $ilToolbar->addButton(
1068 $this->lng->txt('crs_add_objective'),
1069 $this->ctrl->getLinkTargetByClass('ilcourseobjectivesgui', "create")
1070 );
1071
1072 include_once('./Modules/Course/classes/class.ilCourseObjectivesTableGUI.php');
1073 $table = new ilCourseObjectivesTableGUI($this, $this->getParentObject());
1074 $table->setTitle($this->lng->txt('crs_objectives'), '', $this->lng->txt('crs_objectives'));
1075 $table->parse($objectives);
1076 $GLOBALS['DIC']['tpl']->setContent($table->getHTML());
1077
1079 }
$_SESSION["AccountId"]
showObjectiveCreation(ilPropertyFormGUI $form=null)
Show objective creation form.

References $_SESSION, $DIC, $GLOBALS, ilCourseObjective\_getObjectiveIds(), getParentObject(), ilCourseObjectivesGUI\MODE_UNDEFINED, ilLOEditorStatus\SECTION_OBJECTIVES, showObjectiveCreation(), and showStatus().

Referenced by returnFromObjectives(), and saveSorting().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ materials()

ilLOEditorGUI::materials ( )
protected

Definition at line 462 of file class.ilLOEditorGUI.php.

463 {
464 $GLOBALS['DIC']['ilTabs']->activateSubTab('materials');
465
466 include_once "Services/Object/classes/class.ilObjectAddNewItemGUI.php";
467 $gui = new ilObjectAddNewItemGUI($this->getParentObject()->getRefId());
468 $gui->setDisabledObjectTypes(array("itgr"));
469 #$gui->setAfterCreationCallback($this->getParentObject()->getRefId());
470 $gui->render();
471
472 include_once './Services/Object/classes/class.ilObjectTableGUI.php';
473 $obj_table = new ilObjectTableGUI(
474 $this,
475 'materials',
476 $this->getParentObject()->getRefId()
477 );
478 $obj_table->init();
479 $obj_table->setObjects($GLOBALS['DIC']['tree']->getChildIds($this->getParentObject()->getRefId()));
480 $obj_table->parse();
481 $GLOBALS['DIC']['tpl']->setContent($obj_table->getHTML());
482
484 }
Render add new item selector.
Settings for LO courses.

References $GLOBALS, getParentObject(), ilLOEditorStatus\SECTION_MATERIALS, and showStatus().

+ Here is the call graph for this function:

◆ returnFromObjectives()

ilLOEditorGUI::returnFromObjectives ( )
protected

Return from objectives.

Returns
type

Definition at line 192 of file class.ilLOEditorGUI.php.

193 {
194 include_once './Modules/Course/classes/class.ilCourseObjectivesGUI.php';
196 return $this->listObjectives();
197 }
listObjectives()
List all abvailable objectives.

References $_SESSION, listObjectives(), and ilCourseObjectivesGUI\MODE_UNDEFINED.

+ Here is the call graph for this function:

◆ saveMultiTestAssignment()

ilLOEditorGUI::saveMultiTestAssignment ( )
protected

Definition at line 889 of file class.ilLOEditorGUI.php.

890 {
891 $this->ctrl->setParameter($this, 'tt', (int) $_REQUEST['tt']);
892 $this->setTestType((int) $_REQUEST['tt']);
893
895
896 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignmentForm.php';
897 $form_helper = new ilLOTestAssignmentForm($this, $this->getParentObject(), $this->getTestType());
898 $form = $form_helper->initForm(true);
899
900 if ($form->checkInput()) {
901 $mode = $form->getInput('mode');
902
903 if ($mode == self::TEST_NEW) {
904 $tst = new ilObjTest();
905 $tst->setType('tst');
906 $tst->setTitle($form->getInput('title'));
907 $tst->setDescription($form->getInput('desc'));
908 $tst->create();
909 $tst->createReference();
910 $tst->putInTree($this->getParentObject()->getRefId());
911 $tst->setPermissions($this->getParentObject()->getRefId());
912
913 // apply settings template
914 $this->applySettingsTemplate($tst);
915
916 $tst->setQuestionSetType($form->getInput('qtype'));
917
918 $tst->saveToDb();
919
920 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignment.php';
921 $assignment = new ilLOTestAssignment();
922 $assignment->setContainerId($this->getParentObject()->getId());
923 $assignment->setAssignmentType($this->getTestType());
924 $assignment->setObjectiveId($form->getInput('objective'));
925 $assignment->setTestRefId($tst->getRefId());
926 $assignment->save();
927 } else {
928 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignment.php';
929 $assignment = new ilLOTestAssignment();
930 $assignment->setContainerId($this->getParentObject()->getId());
931 $assignment->setAssignmentType($this->getTestType());
932 $assignment->setObjectiveId($form->getInput('objective'));
933 $assignment->setTestRefId($form->getInput('tst'));
934 $assignment->save();
935
936 $tst = new ilObjTest($form->getInput('tst'), true);
937 $this->applySettingsTemplate($tst);
938 $tst->saveToDb();
939 }
940
941 // deassign as objective material
942 if ($tst instanceof ilObjTest) {
943 $this->updateMaterialAssignments($tst);
944 }
945 $this->updateStartObjects();
946
947 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
948 $this->ctrl->redirect($this, 'testsOverview');
949 }
950
951 // Error
952 ilUtil::sendFailure($this->lng->txt('err_check_input'));
953 $form->setValuesByPost();
954 $this->testAssignment($form);
955 }
updateStartObjects()
Add Test as start object.
updateMaterialAssignments(ilObjTest $test)
testAssignment(ilPropertyFormGUI $form=null)
new test assignment
applySettingsTemplate(ilObjTest $tst)
Apply auto generated setttings template.

References $settings, applySettingsTemplate(), ilLOSettings\getInstanceByObjId(), getParentObject(), getTestType(), ilUtil\sendFailure(), setTestType(), testAssignment(), updateMaterialAssignments(), and updateStartObjects().

+ Here is the call graph for this function:

◆ saveObjectiveCreation()

ilLOEditorGUI::saveObjectiveCreation ( )
protected

Definition at line 1118 of file class.ilLOEditorGUI.php.

1119 {
1120 $form = $this->initSimpleObjectiveForm();
1121 if ($form->checkInput()) {
1122 foreach ((array) $form->getInput('objectives') as $idx => $title) {
1123 include_once './Modules/Course/classes/class.ilCourseObjective.php';
1124 $obj = new ilCourseObjective($this->getParentObject());
1125 $obj->setActive(true);
1126 $obj->setTitle($title);
1127 $obj->add();
1128 }
1129 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
1130 $this->ctrl->redirect($this, '');
1131 }
1132
1133 $form->setValuesByPost();
1134 $GLOBALS['DIC']['ilTabs']->activateSubTab('objectives');
1136 $this->showObjectiveCreation($form);
1137 }
initSimpleObjectiveForm()
Show objective creation form.

References $GLOBALS, getParentObject(), initSimpleObjectiveForm(), ilLOEditorStatus\SECTION_OBJECTIVES, showObjectiveCreation(), and showStatus().

+ Here is the call graph for this function:

◆ saveSettings()

ilLOEditorGUI::saveSettings ( )
protected

Definition at line 296 of file class.ilLOEditorGUI.php.

297 {
298 $form = $this->initSettingsForm();
299 if ($form->checkInput()) {
301 $settings->setInitialTestType($form->getInput('ittype'));
302 switch ($settings->getInitialTestType()) {
304 $settings->setInitialTestAsStart($form->getInput('start_ip'));
305 break;
306
308 $settings->setInitialTestAsStart(false);
309 break;
310
312 $settings->setInitialTestAsStart($form->getInput('start_iq'));
313 break;
314
316 $settings->setInitialTestAsStart(false);
317 break;
318
320 $settings->setInitialTestAsStart(false);
321 break;
322 }
323
324 $settings->setQualifyingTestType($form->getInput('qttype'));
325 switch ($settings->getQualifyingTestType()) {
327 $settings->setQualifyingTestAsStart($form->getInput('start_q'));
328 break;
329
331 $settings->setQualifyingTestAsStart(false);
332 break;
333 }
334
335
336 $settings->resetResults($form->getInput('reset'));
337 $settings->setPassedObjectiveMode($form->getInput('passed_mode'));
338
339 if (
340 ($settings->getInitialTestType() != ilLOSettings::TYPE_INITIAL_NONE) &&
341 ($settings->isQualifyingTestStart())
342 ) {
343 $settings->setQualifyingTestAsStart(false);
344 ilUtil::sendInfo($this->lng->txt('crs_loc_settings_err_qstart'), true);
345 }
346
347 $settings->update();
348 $this->updateStartObjects();
350
351 include_once './Services/Tracking/classes/class.ilLPStatusWrapper.php';
353
354 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
355 $this->ctrl->redirect($this, 'settings');
356 }
357
358 // Error
359 ilUtil::sendFailure($this->lng->txt('err_check_input'));
360 $form->setValuesByPost();
361 $this->settings($form);
362 }
updateTestAssignments(ilLOSettings $settings)
Update Test assignments.
initSettingsForm()
Init settings form.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.

References $settings, ilLPStatusWrapper\_refreshStatus(), ilLOSettings\getInstanceByObjId(), getParentObject(), initSettingsForm(), ilUtil\sendFailure(), ilUtil\sendInfo(), settings(), ilLOSettings\TYPE_INITIAL_NONE, ilLOSettings\TYPE_INITIAL_PLACEMENT_ALL, ilLOSettings\TYPE_INITIAL_PLACEMENT_SELECTED, ilLOSettings\TYPE_INITIAL_QUALIFYING_ALL, ilLOSettings\TYPE_INITIAL_QUALIFYING_SELECTED, ilLOSettings\TYPE_QUALIFYING_ALL, ilLOSettings\TYPE_QUALIFYING_SELECTED, updateStartObjects(), and updateTestAssignments().

+ Here is the call graph for this function:

◆ saveSorting()

ilLOEditorGUI::saveSorting ( )
protected

save position

@access protected

Returns

Definition at line 1145 of file class.ilLOEditorGUI.php.

1146 {
1147 global $DIC;
1148
1149 $ilAccess = $DIC['ilAccess'];
1150 $ilErr = $DIC['ilErr'];
1151 $ilObjDataCache = $DIC['ilObjDataCache'];
1152
1153 asort($_POST['position'], SORT_NUMERIC);
1154
1155 $counter = 1;
1156 foreach ($_POST['position'] as $objective_id => $position) {
1157 include_once './Modules/Course/classes/class.ilCourseObjective.php';
1158 $objective = new ilCourseObjective($this->getParentObject(), $objective_id);
1159 $objective->writePosition($counter++);
1160 }
1161 ilUtil::sendSuccess($this->lng->txt('crs_objective_saved_sorting'));
1162 $this->listObjectives();
1163 }
$ilErr
Definition: raiseError.php:18

References $_POST, $DIC, $ilErr, getParentObject(), and listObjectives().

+ Here is the call graph for this function:

◆ saveTest()

ilLOEditorGUI::saveTest ( )
protected

Save Test.

Definition at line 977 of file class.ilLOEditorGUI.php.

978 {
979 $this->ctrl->setParameter($this, 'tt', (int) $_REQUEST['tt']);
980 $this->setTestType((int) $_REQUEST['tt']);
981
983
984 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignmentForm.php';
985 $form_helper = new ilLOTestAssignmentForm($this, $this->getParentObject(), $this->getTestType());
986 $form = $form_helper->initForm(false);
987
988 if ($form->checkInput()) {
989 $mode = $form->getInput('mode');
990
991 if ($mode == self::TEST_NEW) {
992 $tst = new ilObjTest();
993 $tst->setType('tst');
994 $tst->setTitle($form->getInput('title'));
995 $tst->setDescription($form->getInput('desc'));
996 $tst->create();
997 $tst->createReference();
998 $tst->putInTree($this->getParentObject()->getRefId());
999 $tst->setPermissions($this->getParentObject()->getRefId());
1000
1001 // apply settings template
1002 $this->applySettingsTemplate($tst);
1003
1004 $tst->setQuestionSetType($form->getInput('qtype'));
1005
1006 $tst->saveToDb();
1007
1008 if ($this->getTestType() == self::TEST_TYPE_IT) {
1009 $this->getSettings()->setInitialTest($tst->getRefId());
1010 } else {
1011 $this->getSettings()->setQualifiedTest($tst->getRefId());
1012 }
1013 $this->getSettings()->update();
1014 } else {
1015 if ($this->getTestType() == self::TEST_TYPE_IT) {
1016 $this->getSettings()->setInitialTest($form->getInput('tst'));
1017 } else {
1018 $this->getSettings()->setQualifiedTest($form->getInput('tst'));
1019 }
1020
1021 $this->getSettings()->update();
1022 $tst = new ilObjTest($settings->getTestByType($this->getTestType()), true);
1023 $this->applySettingsTemplate($tst);
1024 $tst->saveToDb();
1025 }
1026
1027 // deassign as objective material
1028 if ($tst instanceof ilObjTest) {
1029 $this->updateMaterialAssignments($tst);
1030 }
1031 $this->updateStartObjects();
1032
1033 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
1034 $this->ctrl->redirect($this, 'testOverview');
1035 }
1036
1037 // Error
1038 ilUtil::sendFailure($this->lng->txt('err_check_input'));
1039 $form->setValuesByPost();
1040 $this->testSettings($form);
1041 }
testSettings(ilPropertyFormGUI $form=null)
Show test settings.

References $settings, applySettingsTemplate(), ilLOSettings\getInstanceByObjId(), getParentObject(), getSettings(), getTestType(), ilUtil\sendFailure(), setTestType(), testSettings(), updateMaterialAssignments(), and updateStartObjects().

+ Here is the call graph for this function:

◆ setTabs()

ilLOEditorGUI::setTabs (   $a_section = '')
protected

Set tabs.

Parameters
type$a_section

Definition at line 1286 of file class.ilLOEditorGUI.php.

1287 {
1288 // objective settings
1289 $GLOBALS['DIC']['ilTabs']->addSubTab(
1290 'settings',
1291 $this->lng->txt('settings'),
1292 $this->ctrl->getLinkTarget($this, 'settings')
1293 );
1294 // learning objectives
1295 $GLOBALS['DIC']['ilTabs']->addSubTab(
1296 'objectives',
1297 $this->lng->txt('crs_loc_tab_objectives'),
1298 $this->ctrl->getLinkTarget($this, 'listObjectives')
1299 );
1300 // materials
1301 /*
1302 $GLOBALS['DIC']['ilTabs']->addTab(
1303 'materials',
1304 $this->lng->txt('crs_loc_tab_materials'),
1305 $this->ctrl->getLinkTarget($this,'materials')
1306 );
1307 */
1308 // tests
1310 if ($settings->worksWithInitialTest()) {
1311 if (
1312 $settings->getInitialTestType() == ilLOSettings::TYPE_INITIAL_PLACEMENT_ALL ||
1314 ) {
1315 $this->ctrl->setParameter($this, 'tt', ilLOSettings::TYPE_TEST_INITIAL);
1316 $GLOBALS['DIC']['ilTabs']->addSubTab(
1317 'itest',
1318 $this->lng->txt('crs_loc_tab_itest'),
1319 $this->ctrl->getLinkTarget($this, 'testOverview')
1320 );
1321 } else {
1322 $this->ctrl->setParameter($this, 'tt', ilLOSettings::TYPE_TEST_INITIAL);
1323 $GLOBALS['DIC']['ilTabs']->addSubTab(
1324 'itests',
1325 $this->lng->txt('crs_loc_tab_itests'),
1326 $this->ctrl->getLinkTarget($this, 'testsOverview')
1327 );
1328 }
1329 }
1330
1331 if ($settings->getQualifyingTestType() == ilLOSettings::TYPE_QUALIFYING_ALL) {
1332 $this->ctrl->setParameter($this, 'tt', ilLOSettings::TYPE_TEST_QUALIFIED);
1333 $GLOBALS['DIC']['ilTabs']->addSubTab(
1334 'qtest',
1335 $this->lng->txt('crs_loc_tab_qtest'),
1336 $this->ctrl->getLinkTarget($this, 'testOverview')
1337 );
1338 } else {
1339 $this->ctrl->setParameter($this, 'tt', ilLOSettings::TYPE_TEST_QUALIFIED);
1340 $GLOBALS['DIC']['ilTabs']->addSubTab(
1341 'qtests',
1342 $this->lng->txt('crs_loc_tab_qtests'),
1343 $this->ctrl->getLinkTarget($this, 'testsOverview')
1344 );
1345 }
1346
1347 if ($settings->worksWithStartObjects()) {
1348 $GLOBALS['DIC']['ilTabs']->addSubTab(
1349 'start',
1350 $this->lng->txt('crs_loc_tab_start'),
1351 $this->ctrl->getLinkTargetByClass('ilcontainerstartobjectsgui', '')
1352 );
1353 }
1354
1355 // Member view
1356 #include_once './Services/Container/classes/class.ilMemberViewGUI.php';
1357 #ilMemberViewGUI::showMemberViewSwitch($this->getParentObject()->getRefId());
1358 }

References $GLOBALS, $settings, ilLOSettings\getInstanceByObjId(), getParentObject(), ilLOSettings\TYPE_INITIAL_PLACEMENT_ALL, ilLOSettings\TYPE_INITIAL_QUALIFYING_ALL, ilLOSettings\TYPE_QUALIFYING_ALL, ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

Referenced by executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTestType()

ilLOEditorGUI::setTestType (   $a_type)

Definition at line 216 of file class.ilLOEditorGUI.php.

217 {
218 $this->test_type = $a_type;
219 }

Referenced by confirmDeleteTest(), confirmDeleteTests(), deleteTest(), deleteTests(), saveMultiTestAssignment(), saveTest(), testAssignment(), testOverview(), and testsOverview().

+ Here is the caller graph for this function:

◆ settings()

ilLOEditorGUI::settings ( ilPropertyFormGUI  $form = null)
protected

Objective Settings.

Definition at line 230 of file class.ilLOEditorGUI.php.

231 {
232 if (!$form instanceof ilPropertyFormGUI) {
233 $form = $this->initSettingsForm();
234 }
235
236 $GLOBALS['DIC']['ilTabs']->activateSubTab('settings');
237 $GLOBALS['DIC']['tpl']->setContent($form->getHTML());
238
240 }

References $GLOBALS, initSettingsForm(), ilLOEditorStatus\SECTION_SETTINGS, and showStatus().

Referenced by __construct(), and saveSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showObjectiveCreation()

ilLOEditorGUI::showObjectiveCreation ( ilPropertyFormGUI  $form = null)
protected

Show objective creation form.

Parameters
ilPropertyFormGUI$form

Definition at line 1085 of file class.ilLOEditorGUI.php.

1086 {
1087 $GLOBALS['DIC']['ilTabs']->activateSubTab('objectives');
1088
1089 if (!$form instanceof ilPropertyFormGUI) {
1090 $form = $this->initSimpleObjectiveForm();
1091 }
1092
1093 $GLOBALS['DIC']['tpl']->setContent($form->getHTML());
1094
1096 }

References $GLOBALS, initSimpleObjectiveForm(), ilLOEditorStatus\SECTION_OBJECTIVES_NEW, and showStatus().

Referenced by listObjectives(), and saveObjectiveCreation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showStatus()

ilLOEditorGUI::showStatus (   $a_section)
protected

Show status panel.

Definition at line 1271 of file class.ilLOEditorGUI.php.

1272 {
1273 include_once './Modules/Course/classes/Objectives/class.ilLOEditorStatus.php';
1274 $status = new ilLOEditorStatus($this->getParentObject());
1275 $status->setSection($a_section);
1276 $status->setCmdClass($this);
1277 $GLOBALS['DIC']['tpl']->setRightContent($status->getHTML());
1278 }
Presentation of the status of single steps during the configuration process.

References $GLOBALS, and getParentObject().

Referenced by askDeleteObjectives(), confirmDeleteTest(), confirmDeleteTests(), listObjectives(), materials(), saveObjectiveCreation(), settings(), showObjectiveCreation(), testAssignment(), testOverview(), testSettings(), and testsOverview().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ testAssignment()

ilLOEditorGUI::testAssignment ( ilPropertyFormGUI  $form = null)
protected

new test assignment

Definition at line 773 of file class.ilLOEditorGUI.php.

774 {
775 $this->setTestType((int) $_REQUEST['tt']);
776 $this->ctrl->setParameter($this, 'tt', $this->getTestType());
777
778 switch ($this->getTestType()) {
780 $GLOBALS['DIC']['ilTabs']->activateSubTab('itests');
781 break;
782
784 $GLOBALS['DIC']['ilTabs']->activateSubTab('qtests');
785 break;
786 }
787 if (!$form instanceof ilPropertyFormGUI) {
788 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignmentForm.php';
789 $form_helper = new ilLOTestAssignmentForm($this, $this->getParentObject(), $this->getTestType());
790 $form = $form_helper->initForm(true);
791 }
792 $GLOBALS['DIC']['tpl']->setContent($form->getHTML());
793
794 $this->showStatus(
795 ($this->getTestType() == self::TEST_TYPE_IT) ?
798 );
799 }

References $GLOBALS, getParentObject(), getTestType(), ilLOEditorStatus\SECTION_ITES, ilLOEditorStatus\SECTION_QTEST, setTestType(), showStatus(), ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

Referenced by saveMultiTestAssignment().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ testOverview()

ilLOEditorGUI::testOverview ( )
protected

Show test overview.

Definition at line 540 of file class.ilLOEditorGUI.php.

541 {
542 $this->setTestType((int) $_REQUEST['tt']);
543 $this->ctrl->setParameter($this, 'tt', $this->getTestType());
544
546 switch ($this->getTestType()) {
548 $GLOBALS['DIC']['ilTabs']->activateSubTab('itest');
549 break;
550
552 $GLOBALS['DIC']['ilTabs']->activateSubTab('qtest');
553 break;
554 }
555
556
557 // Check if test is assigned
558 if (!$settings->getTestByType($this->getTestType())) {
559 return $this->testSettings();
560 }
561
562 try {
563 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignmentTableGUI.php';
564 $table = new ilLOTestAssignmentTableGUI(
565 $this,
566 'testOverview',
567 $this->getParentObject()->getId(),
568 $this->getTestType()
569 );
570 $table->init();
571 $table->parse(ilLOSettings::getInstanceByObjId($this->getParentObject()->getId())->getTestByType($this->getTestType()));
572 $GLOBALS['DIC']['tpl']->setContent($table->getHTML());
573
574 $this->showStatus(
578 );
580 $GLOBALS['DIC']['ilLog']->write(__METHOD__ . ': Show new assignment screen because of : ' . $ex->getMessage());
581 $this->testSettings();
582 }
583 }
Class ilLOInvalidConfigurationException.
Class ilLOTestAssignmentTableGUI.

References $GLOBALS, $settings, ilLOSettings\getInstanceByObjId(), getParentObject(), getTestType(), ilLOEditorStatus\SECTION_ITES, ilLOEditorStatus\SECTION_QTEST, setTestType(), showStatus(), TEST_TYPE_IT, testSettings(), ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

+ Here is the call graph for this function:

◆ testSettings()

ilLOEditorGUI::testSettings ( ilPropertyFormGUI  $form = null)
protected

Show test settings.

Parameters
ilPropertyFormGUI$form

Definition at line 805 of file class.ilLOEditorGUI.php.

806 {
807 $this->ctrl->setParameter($this, 'tt', (int) $_REQUEST['tt']);
808 switch ($this->getTestType()) {
810 $GLOBALS['DIC']['ilTabs']->activateSubTab('itest');
811 break;
812
814 $GLOBALS['DIC']['ilTabs']->activateSubTab('qtest');
815 break;
816 }
817
818 if (!$form instanceof ilPropertyFormGUI) {
819 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignmentForm.php';
820 $form_helper = new ilLOTestAssignmentForm($this, $this->getParentObject(), $this->getTestType());
821 $form = $form_helper->initForm(false);
822 }
823 $GLOBALS['DIC']['tpl']->setContent($form->getHTML());
824
825 $this->showStatus(
826 ($this->getTestType() == self::TEST_TYPE_IT) ?
829 );
830 }

References $GLOBALS, getParentObject(), getTestType(), ilLOEditorStatus\SECTION_ITES, ilLOEditorStatus\SECTION_QTEST, showStatus(), ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

Referenced by saveTest(), testOverview(), and testsOverview().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ testsOverview()

ilLOEditorGUI::testsOverview ( )
protected

View test assignments ()

Definition at line 489 of file class.ilLOEditorGUI.php.

490 {
491 $this->setTestType((int) $_REQUEST['tt']);
492 $this->ctrl->setParameter($this, 'tt', $this->getTestType());
493
494 $GLOBALS['DIC']['ilToolbar']->setFormAction($this->ctrl->getFormAction($this));
495 $GLOBALS['DIC']['ilToolbar']->addButton(
496 $this->lng->txt('crs_loc_btn_new_assignment'),
497 $this->ctrl->getLinkTarget($this, 'testAssignment')
498 );
499
500
502 switch ($this->getTestType()) {
504 $GLOBALS['DIC']['ilTabs']->activateSubTab('itests');
505 break;
506
508 $GLOBALS['DIC']['ilTabs']->activateSubTab('qtests');
509 break;
510 }
511
512 try {
513 include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignmentTableGUI.php';
514 $table = new ilLOTestAssignmentTableGUI(
515 $this,
516 'testsOverview',
517 $this->getParentObject()->getId(),
518 $this->getTestType(),
520 );
521 $table->init();
522 $table->parseMultipleAssignments();
523 $GLOBALS['DIC']['tpl']->setContent($table->getHTML());
524
525 $this->showStatus(
529 );
531 $GLOBALS['DIC']['ilLog']->write(__METHOD__ . ': Show new assignment screen because of : ' . $ex->getMessage());
532 $this->testSettings();
533 }
534 }

References $GLOBALS, $settings, ilLOSettings\getInstanceByObjId(), getParentObject(), getTestType(), ilLOEditorStatus\SECTION_ITES, ilLOEditorStatus\SECTION_QTEST, setTestType(), showStatus(), TEST_TYPE_IT, testSettings(), ilLOTestAssignmentTableGUI\TYPE_MULTIPLE_ASSIGNMENTS, ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

+ Here is the call graph for this function:

◆ updateMaterialAssignments()

ilLOEditorGUI::updateMaterialAssignments ( ilObjTest  $test)
protected
Parameters
\ilObjTest$test

Definition at line 960 of file class.ilLOEditorGUI.php.

961 {
962 include_once './Modules/Course/classes/class.ilCourseObjective.php';
963 foreach (ilCourseObjective::_getObjectiveIds($this->getParentObject()->getId()) as $objective_id) {
964 include_once './Modules/Course/classes/class.ilCourseObjectiveMaterials.php';
965 $materials = new ilCourseObjectiveMaterials($objective_id);
966 foreach ($materials->getMaterials() as $key => $material) {
967 if ($material['ref_id'] == $test->getRefId()) {
968 $materials->delete($material['lm_ass_id']);
969 }
970 }
971 }
972 }
$test
Definition: Utf8Test.php:84
class ilCourseObjectiveMaterials

References $test, ilCourseObjective\_getObjectiveIds(), and getParentObject().

Referenced by saveMultiTestAssignment(), and saveTest().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateStartObjects()

ilLOEditorGUI::updateStartObjects ( )
protected

Add Test as start object.

Parameters
ilObjTest$tst

Definition at line 881 of file class.ilLOEditorGUI.php.

882 {
883 include_once './Services/Container/classes/class.ilContainerStartObjects.php';
884 $start = new ilContainerStartObjects(0, $this->getParentObject()->getId());
885 $this->getSettings()->updateStartObjects($start);
886 return true;
887 }

References getParentObject(), and getSettings().

Referenced by saveMultiTestAssignment(), saveSettings(), and saveTest().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateTestAssignments()

ilLOEditorGUI::updateTestAssignments ( ilLOSettings  $settings)
protected

Update Test assignments.

Parameters
ilLOSettings$settings

Definition at line 260 of file class.ilLOEditorGUI.php.

261 {
262 switch ($settings->getInitialTestType()) {
264 $settings->setInitialTest(0);
266
267 // no break
271
272 break;
273
276 $settings->setInitialTest(0);
277 break;
278 }
279
280 switch ($settings->getQualifyingTestType()) {
283 break;
284
286 $settings->setQualifiedTest(0);
287 break;
288 }
289 $settings->update();
290 }
deleteAssignments($a_type)
Delete assignments.
setInitialTest($a_id)
set initial test id
setQualifiedTest($a_id)
set qualified test

References $settings, deleteAssignments(), ilLOSettings\setInitialTest(), ilLOSettings\setQualifiedTest(), ilLOSettings\TYPE_INITIAL_NONE, ilLOSettings\TYPE_INITIAL_PLACEMENT_ALL, ilLOSettings\TYPE_INITIAL_PLACEMENT_SELECTED, ilLOSettings\TYPE_INITIAL_QUALIFYING_ALL, ilLOSettings\TYPE_INITIAL_QUALIFYING_SELECTED, ilLOSettings\TYPE_QUALIFYING_ALL, ilLOSettings\TYPE_QUALIFYING_SELECTED, ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

Referenced by saveSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilLOEditorGUI::$ctrl = null
private

Definition at line 40 of file class.ilLOEditorGUI.php.

◆ $lng

ilLOEditorGUI::$lng = null
private

Definition at line 39 of file class.ilLOEditorGUI.php.

◆ $logger

ilLOEditorGUI::$logger = null
private

Definition at line 34 of file class.ilLOEditorGUI.php.

◆ $parent_obj

ilLOEditorGUI::$parent_obj
private

Definition at line 37 of file class.ilLOEditorGUI.php.

Referenced by getParentObject().

◆ $settings

◆ $test_type

ilLOEditorGUI::$test_type = 0
private

Definition at line 42 of file class.ilLOEditorGUI.php.

Referenced by getTestType().

◆ SETTINGS_TEMPLATE_IT

const ilLOEditorGUI::SETTINGS_TEMPLATE_IT = 'il_astpl_loc_initial'

Definition at line 27 of file class.ilLOEditorGUI.php.

◆ SETTINGS_TEMPLATE_QT

const ilLOEditorGUI::SETTINGS_TEMPLATE_QT = 'il_astpl_loc_qualified'

Definition at line 28 of file class.ilLOEditorGUI.php.

◆ TEST_ASSIGN

const ilLOEditorGUI::TEST_ASSIGN = 2

Definition at line 25 of file class.ilLOEditorGUI.php.

◆ TEST_NEW

const ilLOEditorGUI::TEST_NEW = 1

Definition at line 24 of file class.ilLOEditorGUI.php.

◆ TEST_TYPE_IT

const ilLOEditorGUI::TEST_TYPE_IT = 1

◆ TEST_TYPE_QT

const ilLOEditorGUI::TEST_TYPE_QT = 2

Definition at line 22 of file class.ilLOEditorGUI.php.

Referenced by applySettingsTemplate().


The documentation for this class was generated from the following file: