ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilCourseObjectivesGUI Class Reference

class ilobjcourseobjectivesgui More...

+ Inheritance diagram for ilCourseObjectivesGUI:
+ Collaboration diagram for ilCourseObjectivesGUI:

Public Member Functions

 ilCourseObjectivesGUI ($a_course_id)
 
executeCommand ()
 execute command More...
 
 getSettings ()
 Get settings. More...
 
 askDeleteObjective ()
 
 deleteObjectives ()
 
 __initCourseObject ()
 
 __initObjectivesObject ($a_id=0)
 
 __initLMObject ($a_objective_id=0)
 
 __initQuestionObject ($a_objective_id=0)
 
 setSubTabs ($a_active="")
 set sub tabs More...
 
 create ()
 create objective More...
 

Data Fields

const MODE_UNDEFINED = 0
 
const MODE_CREATE = 1
 
const MODE_UPDATE = 2
 
 $ctrl
 
 $ilias
 
 $ilErr
 
 $lng
 
 $tpl
 
 $course_obj
 
 $course_id
 

Protected Member Functions

 listObjectives ()
 list objectives More...
 
 saveSorting ()
 save position More...
 
 questionOverview ()
 question overiew More...
 
 saveQuestionOverview ()
 update question overview More...
 
 edit ()
 edit objective More...
 
 save ()
 save More...
 
 materialAssignment ()
 material assignment More...
 
 updateMaterialAssignment ()
 update material assignment More...
 
 selfAssessmentAssignment ()
 self assessment assignemnt More...
 
 updateSelfAssessmentAssignment ()
 update self assessment assignment More...
 
 selfAssessmentLimits ()
 self assessment limits More...
 
 updateSelfAssessmentLimits ()
 update self assessment limits More...
 
 finalTestAssignment ()
 final test assignment More...
 
 isRandomTestType ($a_tst_type=0)
 
 showRandomTestAssignment (ilPropertyFormGUI $form=null)
 
 initFormRandom ()
 show random test More...
 
 getRandomTestQplOptions ()
 
 saveRandom ()
 Save random test settings. More...
 
 updateFinalTestAssignment ()
 update self assessment assignment More...
 
 finalTestLimits ()
 self assessment limits More...
 
 updateFinalTestLimits ()
 update self assessment limits More...
 
 initFormLimits ($a_mode)
 init limit form More...
 
 initFormTitle ($a_mode, $a_step_number)
 init form title More...
 
 initWizard ($a_step_number)
 init wizard More...
 

Protected Attributes

 $settings
 
 $test_type = 0
 

Detailed Description

class ilobjcourseobjectivesgui

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 36 of file class.ilCourseObjectivesGUI.php.

Member Function Documentation

◆ __initCourseObject()

ilCourseObjectivesGUI::__initCourseObject ( )

Definition at line 379 of file class.ilCourseObjectivesGUI.php.

References exit, and ilObjectFactory\getInstanceByRefId().

Referenced by ilCourseObjectivesGUI().

380  {
381  if(!$this->course_obj =& ilObjectFactory::getInstanceByRefId($this->course_id,false))
382  {
383  $this->ilErr->raiseError("ilCourseObjectivesGUI: cannot create course object",$this->ilErr->MESSAGE);
384  exit;
385  }
386  return true;
387  }
exit
Definition: login.php:54
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __initLMObject()

ilCourseObjectivesGUI::__initLMObject (   $a_objective_id = 0)

Definition at line 394 of file class.ilCourseObjectivesGUI.php.

Referenced by updateMaterialAssignment().

395  {
396  include_once './Modules/Course/classes/class.ilCourseObjectiveMaterials.php';
397  $this->objectives_lm_obj =& new ilCourseObjectiveMaterials($a_objective_id);
398 
399  return true;
400  }
class ilCourseObjectiveMaterials
+ Here is the caller graph for this function:

◆ __initObjectivesObject()

ilCourseObjectivesGUI::__initObjectivesObject (   $a_id = 0)

Definition at line 389 of file class.ilCourseObjectivesGUI.php.

Referenced by askDeleteObjective(), and deleteObjectives().

390  {
391  return $this->objectives_obj = new ilCourseObjective($this->course_obj,$a_id);
392  }
class ilcourseobjective
+ Here is the caller graph for this function:

◆ __initQuestionObject()

ilCourseObjectivesGUI::__initQuestionObject (   $a_objective_id = 0)
Parameters
type$a_objective_id
Returns
ilCourseObjectiveQuestion

Definition at line 408 of file class.ilCourseObjectivesGUI.php.

Referenced by create(), edit(), finalTestAssignment(), finalTestLimits(), materialAssignment(), saveRandom(), selfAssessmentAssignment(), selfAssessmentLimits(), showRandomTestAssignment(), updateFinalTestAssignment(), updateFinalTestLimits(), updateSelfAssessmentAssignment(), and updateSelfAssessmentLimits().

409  {
410  include_once './Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
411  $this->objectives_qst_obj =& new ilCourseObjectiveQuestion($a_objective_id);
412 
413  return $this->objectives_qst_obj;
414  }
class ilcourseobjectiveQuestion
+ Here is the caller graph for this function:

◆ askDeleteObjective()

ilCourseObjectivesGUI::askDeleteObjective ( )

Definition at line 171 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_POST, $_SESSION, __initObjectivesObject(), ilUtil\getImagePath(), listObjectives(), ilUtil\sendFailure(), ilUtil\sendQuestion(), and ilUtil\switchColor().

172  {
173  global $rbacsystem;
174 
175  // MINIMUM ACCESS LEVEL = 'write'
176  if(!$rbacsystem->checkAccess("write", $this->course_obj->getRefId()))
177  {
178  $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilErr->MESSAGE);
179  }
180  if(!count($_POST['objective']))
181  {
182  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'));
183  $this->listObjectives();
184 
185  return true;
186  }
187 
188  $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.crs_objectives.html",'Modules/Course');
189 
190  ilUtil::sendQuestion($this->lng->txt('crs_delete_objectve_sure'));
191 
192  $tpl =& new ilTemplate("tpl.table.html", true, true);
193  $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.crs_objectives_delete_row.html",'Modules/Course');
194 
195  $counter = 0;
196  foreach($_POST['objective'] as $objective_id)
197  {
198  $objective_obj = $this->__initObjectivesObject($objective_id);
199 
200  $tpl->setCurrentBlock("tbl_content");
201  $tpl->setVariable("ROWCOL",ilUtil::switchColor(++$counter,"tblrow2","tblrow1"));
202  $tpl->setVariable("TITLE",$objective_obj->getTitle());
203  $tpl->setVariable("DESCRIPTION",$objective_obj->getDescription());
204  $tpl->parseCurrentBlock();
205  }
206 
207  $tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
208 
209  // Show action row
210  $tpl->setCurrentBlock("tbl_action_btn");
211  $tpl->setVariable("BTN_NAME",'deleteObjectives');
212  $tpl->setVariable("BTN_VALUE",$this->lng->txt('delete'));
213  $tpl->parseCurrentBlock();
214 
215  $tpl->setCurrentBlock("tbl_action_btn");
216  $tpl->setVariable("BTN_NAME",'listObjectives');
217  $tpl->setVariable("BTN_VALUE",$this->lng->txt('cancel'));
218  $tpl->parseCurrentBlock();
219 
220  $tpl->setCurrentBlock("tbl_action_row");
221  $tpl->setVariable("COLUMN_COUNTS",1);
222  $tpl->setVariable("IMG_ARROW",ilUtil::getImagePath('arrow_downright.svg'));
223  $tpl->parseCurrentBlock();
224 
225 
226  // create table
227  $tbl = new ilTableGUI();
228  $tbl->setStyle('table','std');
229 
230  // title & header columns
231  $tbl->setTitle($this->lng->txt("crs_objectives"),"",$this->lng->txt("crs_objectives"));
232 
233  $tbl->setHeaderNames(array($this->lng->txt("title")));
234  $tbl->setHeaderVars(array("title"),
235  array("ref_id" => $this->course_obj->getRefId(),
236  "cmdClass" => "ilcourseobjectivesgui",
237  "cmdNode" => $_GET["cmdNode"]));
238  $tbl->setColumnWidth(array("50%"));
239 
240  $tbl->setLimit($_GET["limit"]);
241  $tbl->setOffset($_GET["offset"]);
242  $tbl->setMaxCount(count($_POST['objective']));
243 
244  // footer
245  $tbl->disable("footer");
246  $tbl->disable('sort');
247 
248  // render table
249  $tbl->setTemplate($tpl);
250  $tbl->render();
251 
252  $this->tpl->setVariable("OBJECTIVES_TABLE", $tpl->get());
253 
254 
255  // Save marked objectives
256  $_SESSION['crs_delete_objectives'] = $_POST['objective'];
257 
258  return true;
259  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
Class ilTableGUI.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
special template class to simplify handling of ITX/PEAR
redirection script todo: (a better solution should control the processing via a xml file) ...
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows) ...
+ Here is the call graph for this function:

◆ create()

ilCourseObjectivesGUI::create ( )

create objective

public

Parameters

Definition at line 465 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_SESSION, $GLOBALS, $tpl, __initQuestionObject(), initFormTitle(), initWizard(), and setSubTabs().

466  {
467  global $tpl;
468 
469  $this->setSubTabs("create_obj");
470 
471  $_SESSION['objective_mode'] = self::MODE_CREATE;
472 
473  $this->ctrl->saveParameter($this,'objective_id');
474 
475  if(!is_object($this->objective))
476  {
477  $this->objective = new ilCourseObjective($this->course_obj,(int) $_GET['objective_id']);
478  }
479  $this->__initQuestionObject((int) $_GET['objective_id']);
480  $this->initWizard(1);
481 
482  $this->initFormTitle('create',1);
483  $GLOBALS['tpl']->setContent($this->form->getHtml());
484  #$w_tpl->setVariable('WIZ_CONTENT',$this->form->getHtml());
485  #$tpl->setContent($w_tpl->get());
486  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
initFormTitle($a_mode, $a_step_number)
init form title
initWizard($a_step_number)
init wizard
$_GET["client_id"]
$GLOBALS['ct_recipient']
class ilcourseobjective
setSubTabs($a_active="")
set sub tabs
+ Here is the call graph for this function:

◆ deleteObjectives()

ilCourseObjectivesGUI::deleteObjectives ( )

Definition at line 261 of file class.ilCourseObjectivesGUI.php.

References $_SESSION, __initObjectivesObject(), listObjectives(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

262  {
263  global $rbacsystem;
264 
265  // MINIMUM ACCESS LEVEL = 'write'
266  if(!$rbacsystem->checkAccess("write", $this->course_obj->getRefId()))
267  {
268  $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilErr->MESSAGE);
269  }
270  if(!count($_SESSION['crs_delete_objectives']))
271  {
272  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'));
273  $this->listObjectives();
274 
275  return true;
276  }
277 
278  foreach($_SESSION['crs_delete_objectives'] as $objective_id)
279  {
280  $objective_obj =& $this->__initObjectivesObject($objective_id);
281  $objective_obj->delete();
282  }
283 
284  ilUtil::sendSuccess($this->lng->txt('crs_objectives_deleted'));
285  $this->listObjectives();
286 
287  return true;
288  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
redirection script todo: (a better solution should control the processing via a xml file) ...
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ edit()

ilCourseObjectivesGUI::edit ( )
protected

edit objective

protected

Returns

Definition at line 494 of file class.ilCourseObjectivesGUI.php.

References $_REQUEST, $_SESSION, $GLOBALS, $tpl, __initQuestionObject(), initFormTitle(), initWizard(), ilUtil\sendFailure(), and setSubTabs().

Referenced by save().

495  {
496  global $tpl;
497 
498  $_SESSION['objective_mode'] = self::MODE_UPDATE;
499 
500  $this->setSubTabs("edit_obj");
501 
502  $this->ctrl->setParameter($this,'objective_id',(int) $_REQUEST['objective_id']);
503 
504  if(!$_REQUEST['objective_id'])
505  {
506  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
507  $this->ctrl->redirect($this,'listObjectives');
508  }
509 
510  if(!is_object($this->objective))
511  {
512  $this->objective = new ilCourseObjective($this->course_obj,(int) $_REQUEST['objective_id']);
513  }
514 
515  $this->__initQuestionObject((int) $_REQUEST['objective_id']);
516  $this->initWizard(1);
517  $this->initFormTitle('create',1);
518  $GLOBALS['tpl']->setContent($this->form->getHtml());
519  #$w_tpl->setVariable('WIZ_CONTENT',$this->form->getHtml());
520  #$tpl->setContent($w_tpl->get());
521  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
initFormTitle($a_mode, $a_step_number)
init form title
initWizard($a_step_number)
init wizard
$GLOBALS['ct_recipient']
class ilcourseobjective
setSubTabs($a_active="")
set sub tabs
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

& ilCourseObjectivesGUI::executeCommand ( )

execute command

Definition at line 85 of file class.ilCourseObjectivesGUI.php.

References $cmd.

86  {
87  global $ilTabs;
88 
89  $ilTabs->setTabActive('crs_objectives');
90 
91  $cmd = $this->ctrl->getCmd();
92 
93 
94  if (!$cmd = $this->ctrl->getCmd())
95  {
96  $cmd = "list";
97  }
98 
99  $this->$cmd();
100  }
$cmd
Definition: sahs_server.php:35

◆ finalTestAssignment()

ilCourseObjectivesGUI::finalTestAssignment ( )
protected

final test assignment

protected

Parameters

Definition at line 905 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_REQUEST, $GLOBALS, $ilErr, $tpl, __initQuestionObject(), ilCourseObjectiveQuestion\_getAssignableTests(), initWizard(), isRandomTestType(), ilUtil\sendFailure(), setSubTabs(), showRandomTestAssignment(), ilCourseObjectiveQuestion\TYPE_FINAL_TEST, and ilLOSettings\TYPE_TEST_QUALIFIED.

Referenced by updateMaterialAssignment(), updateSelfAssessmentAssignment(), and updateSelfAssessmentLimits().

906  {
907  global $ilAccess,$ilErr,$tpl;
908 
909  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
910  {
911  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
912  }
913  if(!$_GET['objective_id'])
914  {
915  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
916  $this->ctrl->redirect($this,'listObjectives');
917  }
918 
919  $this->setSubTabs("final_test_assign");
920 
921  $this->ctrl->saveParameter($this,'objective_id');
922  $this->objective = new ilCourseObjective($this->course_obj,(int) $_GET['objective_id']);
923 
924  // begin-patch lok
925  $this->ctrl->setParameter($this,'tt',ilLOSettings::TYPE_TEST_QUALIFIED);
926  $this->test_type = $_REQUEST['tt'] = ilLOSettings::TYPE_TEST_QUALIFIED;
928  {
929  return $this->showRandomTestAssignment();
930  }
931  // end-patch lok
932 
933  include_once('./Modules/Course/classes/class.ilCourseObjectiveQuestionAssignmentTableGUI.php');
935  $this->course_obj,
936  (int) $_GET['objective_id'],
938 
939  $table->setTitle($this->lng->txt('crs_objective_wiz_final'),
940  '',$this->lng->txt('crs_objective'));
941  $table->parse(ilCourseObjectiveQuestion::_getAssignableTests($this->course_obj->getRefId()));
942 
943  $this->__initQuestionObject((int) $_GET['objective_id']);
944  $this->initWizard(5);
945  $GLOBALS['tpl']->setContent($table->getHTML());
946  #$w_tpl->setVariable('WIZ_CONTENT',$table->getHTML());
947  #$tpl->setContent($w_tpl->get());
948  }
initWizard($a_step_number)
init wizard
$_GET["client_id"]
showRandomTestAssignment(ilPropertyFormGUI $form=null)
$GLOBALS['ct_recipient']
class ilcourseobjective
setSubTabs($a_active="")
set sub tabs
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
TableGUI for question assignments of course objectives.
static _getAssignableTests($a_container_ref_id)
Get assignable tests.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ finalTestLimits()

ilCourseObjectivesGUI::finalTestLimits ( )
protected

self assessment limits

protected

Parameters

Definition at line 1222 of file class.ilCourseObjectivesGUI.php.

References $_GET, $GLOBALS, $ilErr, $tpl, __initQuestionObject(), initFormLimits(), initWizard(), ilUtil\sendFailure(), and setSubTabs().

Referenced by updateFinalTestAssignment(), and updateFinalTestLimits().

1223  {
1224  global $ilAccess,$ilErr,$tpl;
1225 
1226  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
1227  {
1228  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
1229  }
1230  if(!$_GET['objective_id'])
1231  {
1232  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
1233  $this->ctrl->redirect($this,'listObjectives');
1234  }
1235 
1236  $this->setSubTabs("final_test_limits");
1237 
1238  $this->ctrl->saveParameter($this,'objective_id');
1239  $this->objective = new ilCourseObjective($this->course_obj,(int) $_GET['objective_id']);
1240 
1241  $this->__initQuestionObject((int) $_GET['objective_id']);
1242  $this->initWizard(6);
1243 
1244  $this->initFormLimits('final');
1245  $GLOBALS['tpl']->setContent($this->form->getHtml());
1246 
1247  #$w_tpl->setVariable('WIZ_CONTENT',$this->form->getHtml());
1248  #$tpl->setContent($w_tpl->get());
1249  }
initWizard($a_step_number)
init wizard
$_GET["client_id"]
$GLOBALS['ct_recipient']
class ilcourseobjective
setSubTabs($a_active="")
set sub tabs
initFormLimits($a_mode)
init limit form
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRandomTestQplOptions()

ilCourseObjectivesGUI::getRandomTestQplOptions ( )
protected

Definition at line 1053 of file class.ilCourseObjectivesGUI.php.

References $GLOBALS, $options, ilObjectFactory\getInstanceByRefId(), and getSettings().

Referenced by initFormRandom().

1054  {
1055  include_once './Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionFactory.php';
1056  include_once './Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionList.php';
1057 
1058  $tst_ref_id = $this->getSettings()->getTestByType($this->test_type);
1059  if($tst_ref_id)
1060  {
1061  $tst = ilObjectFactory::getInstanceByRefId($tst_ref_id,false);
1062  }
1063  if(!$tst instanceof ilObjTest)
1064  {
1065  return array();
1066  }
1068  $GLOBALS['ilDB'],
1069  $tst,
1071  $GLOBALS['ilDB'],
1072  $tst
1073  )
1074  );
1075 
1076  $list->loadDefinitions();
1077 
1078  include_once './Modules/Test/classes/class.ilTestTaxonomyFilterLabelTranslater.php';
1079  $translater = new ilTestTaxonomyFilterLabelTranslater($GLOBALS['ilDB']);
1080  $translater->loadLabels($list);
1081 
1082  $options[0] = $this->lng->txt('select_one');
1083  foreach ($list as $definition)
1084  {
1085  $title = $definition->getPoolTitle();
1086  $tax_id = $definition->getMappedFilterTaxId();
1087  if($tax_id)
1088  {
1089  $title .= (' -> '. $translater->getTaxonomyTreeLabel($tax_id));
1090  }
1091  $tax_node = $definition->getMappedFilterTaxNodeId();
1092  if($tax_node)
1093  {
1094  $title .= (' -> ' .$translater->getTaxonomyNodeLabel($tax_node));
1095  }
1096  $options[$definition->getId()] = $title;
1097  }
1098  return $options;
1099  }
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
if(!is_array($argv)) $options
$GLOBALS['ct_recipient']
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSettings()

ilCourseObjectivesGUI::getSettings ( )

Get settings.

Returns
ilLOSettings

Definition at line 107 of file class.ilCourseObjectivesGUI.php.

References $settings.

Referenced by getRandomTestQplOptions(), initWizard(), isRandomTestType(), saveRandom(), and updateMaterialAssignment().

+ Here is the caller graph for this function:

◆ ilCourseObjectivesGUI()

ilCourseObjectivesGUI::ilCourseObjectivesGUI (   $a_course_id)

Definition at line 57 of file class.ilCourseObjectivesGUI.php.

References $ilCtrl, $ilErr, $ilias, $lng, $tpl, __initCourseObject(), and ilLOSettings\getInstanceByObjId().

58  {
59  include_once './Modules/Course/classes/class.ilCourseObjective.php';
60 
61  global $ilCtrl,$lng,$ilErr,$ilias,$tpl,$tree,$ilTabs;
62 
63  $this->ctrl =& $ilCtrl;
64  $this->ctrl->saveParameter($this,array("ref_id"));
65 
66  $this->ilErr =& $ilErr;
67  $this->lng =& $lng;
68  $this->lng->loadLanguageModule('crs');
69  $this->tpl =& $tpl;
70  $this->tree =& $tree;
71  $this->tabs_gui =& $ilTabs;
72 
73  $this->course_id = $a_course_id;
74  $this->__initCourseObject();
75 
76  // begin-patch lok
77  $this->settings = ilLOSettings::getInstanceByObjId($this->course_obj->getId());
78  // end-patch lok
79 
80  }
static getInstanceByObjId($a_obj_id)
get singleton instance
global $ilCtrl
Definition: ilias.php:18
+ Here is the call graph for this function:

◆ initFormLimits()

ilCourseObjectivesGUI::initFormLimits (   $a_mode)
protected

init limit form

protected

Parameters
stringmode selfAssessment or final
Returns

Definition at line 1306 of file class.ilCourseObjectivesGUI.php.

References $GLOBALS, $test, $tests, ilObject\_lookupDescription(), ilObject\_lookupTitle(), ilUtil\getTypeIconPath(), ilCustomInputGUI\setHtml(), and ilNumberInputGUI\setValue().

Referenced by finalTestLimits(), and selfAssessmentLimits().

1307  {
1308  if(!is_object($this->form))
1309  {
1310  include_once('./Services/Form/classes/class.ilPropertyFormGUI.php');
1311  $this->form = new ilPropertyFormGUI();
1312  }
1313  $this->form->setFormAction($this->ctrl->getFormAction($this));
1314  $this->form->setTableWidth('100%');
1315  //$this->form->setTitleIcon(ilUtil::getImagePath('icon_lobj.svg'),$this->lng->txt('crs_objective'));
1316 
1317  switch($a_mode)
1318  {
1319  case 'selfAssessment':
1320  $this->form->setTitle($this->lng->txt('crs_objective_wiz_self_limit'));
1321  $this->form->addCommandButton('updateSelfAssessmentLimits',$this->lng->txt('crs_wiz_next'));
1322  $this->form->addCommandButton('selfAssessmentAssignment',$this->lng->txt('crs_wiz_back'));
1323 
1324  $tests = $this->objectives_qst_obj->getSelfAssessmentTests();
1325  $max_points = $this->objectives_qst_obj->getSelfAssessmentPoints();
1326 
1327  break;
1328 
1329  case 'final':
1330  $this->form->setTitle($this->lng->txt('crs_objective_wiz_final_limit'));
1331  $this->form->addCommandButton('updateFinalTestLimits',$this->lng->txt('crs_wiz_next'));
1332  $this->form->addCommandButton('finalTestAssignment',$this->lng->txt('crs_wiz_back'));
1333 
1334  $tests = $this->objectives_qst_obj->getFinalTests();
1335  $max_points = $this->objectives_qst_obj->getFinalTestPoints();
1336 
1337  break;
1338  }
1339 
1340  $over = new ilCustomInputGUI($this->lng->txt('crs_objective_qst_summary'),'');
1341 
1342  $tpl = new ilTemplate('tpl.crs_objective_qst_summary.html',true,true,'Modules/Course');
1343 
1344 
1345  $limit = 0;
1346 
1347  foreach($tests as $test)
1348  {
1349  $GLOBALS['ilLog']->write(__METHOD__.': '.print_r($test,TRUE));
1350 
1351  $limit = $test['limit'];
1352 
1353  foreach($this->objectives_qst_obj->getQuestionsOfTest($test['obj_id']) as $question)
1354  {
1355  $tpl->setCurrentBlock('qst');
1356  $tpl->setVariable('QST_TITLE',$question['title']);
1357  if(strlen($question['description']))
1358  {
1359  $tpl->setVariable('QST_DESCRIPTION',$question['description']);
1360  }
1361  $tpl->setVariable('QST_POINTS',$question['points'].' '.
1362  $this->lng->txt('crs_objective_points'));
1363  $tpl->parseCurrentBlock();
1364  }
1365  $tpl->setCurrentBlock('tst');
1366  $tpl->setVariable('TST_TITLE',ilObject::_lookupTitle($test['obj_id']));
1367  if($desc = ilObject::_lookupDescription($test['obj_id']))
1368  {
1369  $tpl->setVariable('TST_DESC',$desc);
1370  }
1371  $tpl->setVariable('TST_TYPE_IMG',ilUtil::getTypeIconPath('tst',$test['obj_id'],'tiny'));
1372  $tpl->setVariable('TST_ALT_IMG',$this->lng->txt('obj_tst'));
1373  $tpl->parseCurrentBlock();
1374  }
1375 
1376  $tpl->setVariable('TXT_ALL_POINTS',$this->lng->txt('crs_objective_all_points'));
1377  $tpl->setVariable('TXT_POINTS',$this->lng->txt('crs_objective_points'));
1378  $tpl->setVariable('POINTS',$max_points);
1379 
1380  $over->setHtml($tpl->get());
1381  $this->form->addItem($over);
1382 
1383  // points
1384  $req = new ilNumberInputGUI($this->lng->txt('crs_loc_perc'),'limit');
1385  $req->setValue($limit);
1386  $req->setSize(3);
1387  $req->setMinValue(1);
1388  $req->setMaxValue(100);
1389  $req->setRequired(true);
1390  switch($a_mode)
1391  {
1392  case 'selfAssessment':
1393  $req->setInfo($this->lng->txt('crs_obj_initial_req_info'));
1394  break;
1395 
1396  case 'final':
1397  $req->setInfo($this->lng->txt('crs_obj_final_req_info'));
1398  break;
1399  }
1400  $this->form->addItem($req);
1401  }
setHtml($a_html)
Set Html.
setValue($a_value)
Set Value.
This class represents a property form user interface.
static _lookupTitle($a_id)
lookup object title
static getTypeIconPath($a_type, $a_obj_id, $a_size='small')
Get type icon path path Return image path for icon_xxx.pngs Or (if enabled) path to custom icon Depre...
$GLOBALS['ct_recipient']
This class represents a number property in a property form.
static _lookupDescription($a_id)
lookup object description
special template class to simplify handling of ITX/PEAR
This class represents a custom property in a property form.
$test
Definition: Utf8Test.php:85
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initFormRandom()

ilCourseObjectivesGUI::initFormRandom ( )
protected

show random test

Definition at line 997 of file class.ilCourseObjectivesGUI.php.

References $_REQUEST, $options, getRandomTestQplOptions(), ilSelectInputGUI\setOptions(), ilNumberInputGUI\setValue(), and ilLOSettings\TYPE_TEST_INITIAL.

Referenced by saveRandom(), and showRandomTestAssignment().

998  {
999  include_once './Modules/Course/classes/Objectives/class.ilLORandomTestQuestionPools.php';
1000  $rnd = new ilLORandomTestQuestionPools(
1001  $this->course_obj->getId(),
1002  (int) $_REQUEST['objective_id'],
1003  $this->test_type
1004  );
1005 
1006  include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
1007  $form = new ilPropertyFormGUI();
1008  $form->setFormAction($this->ctrl->getFormAction($this));
1009 
1010  if($this->test_type == ilLOSettings::TYPE_TEST_INITIAL)
1011  {
1012  $form->setTitle($this->lng->txt('crs_loc_form_random_limits_it'));
1013  }
1014  else
1015  {
1016  $form->setTitle($this->lng->txt('crs_loc_form_random_limits_qt'));
1017  }
1018 
1019  $form->addCommandButton('saveRandom', $this->lng->txt('save'));
1020 
1021  $options = new ilRadioGroupInputGUI($this->lng->txt('crs_loc_rand_assign_qpl'),'type');
1022  $options->setValue(1);
1023  $options->setRequired(true);
1024 
1025  $ass_qpl = new ilRadioOption($this->lng->txt('crs_loc_rand_assign_qpl'),1);
1026  $options->addOption($ass_qpl);
1027 
1028  $qpl = new ilSelectInputGUI($this->lng->txt('crs_loc_rand_qpl'),'qpl');
1029  $qpl->setOptions($this->getRandomTestQplOptions());
1030  $qpl->setValue($rnd->getQplSequence());
1031  $ass_qpl->addSubItem($qpl);
1032 
1033  #$num = new ilNumberInputGUI($this->lng->txt('crs_loc_num_qst'),'num_qst');
1034  #$num->setSize(3);
1035  #$num->setMinValue(1);
1036  #$num->setRequired(true);
1037  #$ass_qpl->addSubItem($num);
1038 
1039  // points
1040  $per = new ilNumberInputGUI($this->lng->txt('crs_loc_perc'),'per');
1041  $per->setValue($rnd->getLimit());
1042  $per->setSize(3);
1043  $per->setMinValue(1);
1044  $per->setMaxValue(100);
1045  $per->setRequired(true);
1046  $ass_qpl->addSubItem($per);
1047 
1048  $form->addItem($options);
1049  return $form;
1050  }
This class represents an option in a radio group.
setValue($a_value)
Set Value.
This class represents a selection list property in a property form.
This class represents a property form user interface.
This class represents a property in a property form.
if(!is_array($argv)) $options
This class represents a number property in a property form.
setOptions($a_options)
Set Options.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initFormTitle()

ilCourseObjectivesGUI::initFormTitle (   $a_mode,
  $a_step_number 
)
protected

init form title

protected

Returns

Definition at line 1410 of file class.ilCourseObjectivesGUI.php.

References ilTextInputGUI\setValue(), and ilTextAreaInputGUI\setValue().

Referenced by create(), edit(), and save().

1411  {
1412  include_once('./Services/Form/classes/class.ilPropertyFormGUI.php');
1413  if($this->form instanceof ilPropertyFormGUI)
1414  {
1415  return;
1416  }
1417 
1418  $this->form = new ilPropertyFormGUI();
1419  $this->form->setFormAction($this->ctrl->getFormAction($this));
1420  //$this->form->setTitleIcon(ilUtil::getImagePath('icon_lobj.svg'),$this->lng->txt('crs_objective'));
1421 
1422  switch($a_mode)
1423  {
1424  case 'create':
1425  $this->form->setTitle($this->lng->txt('crs_objective_wiz_title'));
1426  $this->form->addCommandButton('save',$this->lng->txt('crs_wiz_next'));
1427  // begin-patch lok
1428  #$this->form->addCommandButton('listObjectives',$this->lng->txt('cancel'));
1429  // end-patch lok
1430  break;
1431 
1432  case 'update':
1433  break;
1434  }
1435 
1436  $title = new ilTextInputGUI($this->lng->txt('title'),'title');
1437  $title->setValue($this->objective->getTitle());
1438  $title->setRequired(true);
1439  $title->setSize(40);
1440  $title->setMaxLength(70);
1441  $this->form->addItem($title);
1442 
1443  $desc = new ilTextAreaInputGUI($this->lng->txt('description'),'description');
1444  $desc->setValue($this->objective->getDescription());
1445  $desc->setCols(40);
1446  $desc->setRows(5);
1447  $this->form->addItem($desc);
1448 
1449  }
This class represents a property form user interface.
setValue($a_value)
Set Value.
This class represents a text property in a property form.
This class represents a text area property in a property form.
setValue($a_value)
Set Value.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initWizard()

ilCourseObjectivesGUI::initWizard (   $a_step_number)
protected

init wizard

protected

Parameters
stringmode 'create' or 'edit'
Returns

Definition at line 1459 of file class.ilCourseObjectivesGUI.php.

References $_SESSION, $GLOBALS, $options, getSettings(), isRandomTestType(), ilChecklistGUI\STATUS_NO_STATUS, ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

Referenced by create(), edit(), finalTestAssignment(), finalTestLimits(), materialAssignment(), selfAssessmentAssignment(), selfAssessmentLimits(), and showRandomTestAssignment().

1460  {
1461  $options = array(
1462  1 => $this->lng->txt('crs_objective_wiz_title'),
1463  2 => $this->lng->txt('crs_objective_wiz_materials'),
1464  3 => $this->lng->txt('crs_objective_wiz_self'),
1465  4 => $this->lng->txt('crs_objective_wiz_self_limit'),
1466  5 => $this->lng->txt('crs_objective_wiz_final'),
1467  6 => $this->lng->txt('crs_objective_wiz_final_limit'));
1468 
1469  $info = array(
1470  1 => $this->lng->txt('crs_objective_wiz_title_info'),
1471  2 => $this->lng->txt('crs_objective_wiz_materials_info'),
1472  3 => $this->lng->txt('crs_objective_wiz_self_info'),
1473  4 => $this->lng->txt('crs_objective_wiz_self_limit_info'),
1474  5 => $this->lng->txt('crs_objective_wiz_final_info'),
1475  6 => $this->lng->txt('crs_objective_wiz_final_limit_info'));
1476 
1477  $links = array(
1478  1 => $this->ctrl->getLinkTarget($this,'edit'),
1479  2 => $this->ctrl->getLinkTarget($this,'materialAssignment'),
1480  3 => $this->ctrl->getLinkTarget($this,'selfAssessmentAssignment'),
1481  4 => $this->ctrl->getLinkTarget($this,'selfAssessmentLimits'),
1482  5 => $this->ctrl->getLinkTarget($this,'finalTestAssignment'),
1483  6 => $this->ctrl->getLinkTarget($this,'finalTestLimits'));
1484 
1485 
1486 
1487 
1488  // checklist gui start
1489  include_once("./Services/UIComponent/Checklist/classes/class.ilChecklistGUI.php");
1490  $check_list = new ilChecklistGUI();
1491  // checklist gui end
1492 
1493  if($_SESSION['objective_mode'] == self::MODE_CREATE)
1494  {
1495  // checklist gui start
1496  $check_list->setHeading($this->lng->txt('crs_add_objective'));
1497  // checklist gui end
1498  }
1499  else
1500  {
1501  // checklist gui start
1502  $check_list->setHeading($this->lng->txt('crs_update_objective'));
1503  // checklist gui end
1504  }
1505 
1506  // end-patch lok
1507  $num = 0;
1508  foreach($options as $step => $title)
1509  {
1510  // checklist gui start
1511  $item_link = "";
1512  // checklist gui end
1513 
1514  // begin-patch lok
1515  if($step == 3 and !$this->getSettings()->worksWithInitialTest())
1516  {
1517  continue;
1518  }
1519  if($step == 4 and !$this->getSettings()->worksWithInitialTest())
1520  {
1521  continue;
1522  }
1523  if($step == 4 and $this->isRandomTestType(ilLOSettings::TYPE_TEST_INITIAL))
1524  {
1525  continue;
1526  }
1527  if($step == 6 and $this->isRandomTestType(ilLOSettings::TYPE_TEST_QUALIFIED))
1528  {
1529  continue;
1530  }
1531  $num++;
1532  // end-patch lok
1533 
1534  if($_SESSION['objective_mode'] == self::MODE_UPDATE)
1535  {
1536  $hide_link = false;
1537  if($step == 4 and !count($this->objectives_qst_obj->getSelfAssessmentQuestions()))
1538  {
1539  $hide_link = true;
1540  }
1541  if($step == 6 and !count($this->objectives_qst_obj->getFinalTestQuestions()))
1542  {
1543  $hide_link = true;
1544  }
1545  // begin-patch lok
1546  if($step == 3 and !$this->getSettings()->worksWithInitialTest())
1547  {
1548  $hide_link = true;
1549  }
1550  if($step == 4 and !$this->getSettings()->worksWithInitialTest())
1551  {
1552  $hide_link = true;
1553  }
1554  if(!$hide_link)
1555  {
1556  // checklist gui start
1557  $item_link = $links[$step];
1558  // checklist gui end
1559  }
1560  }
1561 
1562  // checklist gui start
1563  $check_list->addEntry($title, $item_link, ilChecklistGUI::STATUS_NO_STATUS, ($step == $a_step_number));
1564  // checklist gui end
1565  }
1566 
1567  // checklist gui start
1568  $GLOBALS["tpl"]->setRightContent($check_list->getHTML());
1569  // checklist gui end
1570 
1571  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
if(!is_array($argv)) $options
$GLOBALS['ct_recipient']
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isRandomTestType()

ilCourseObjectivesGUI::isRandomTestType (   $a_tst_type = 0)
protected

Definition at line 951 of file class.ilCourseObjectivesGUI.php.

References $test_type, ilObject\_lookupObjId(), ilObjTest\_lookupRandomTest(), and getSettings().

Referenced by finalTestAssignment(), initWizard(), and selfAssessmentAssignment().

952  {
953  if(!$a_tst_type)
954  {
955  $a_tst_type = $this->test_type;
956  }
957 
958  $tst_ref_id = $this->getSettings()->getTestByType($a_tst_type);
959  if(!$tst_ref_id)
960  {
961  return false;
962  }
963  include_once './Modules/Test/classes/class.ilObjTest.php';
965  }
static _lookupRandomTest($a_obj_id)
Returns the fact wether the test with passed obj id is a random questions test or not...
static _lookupObjId($a_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ listObjectives()

ilCourseObjectivesGUI::listObjectives ( )
protected

list objectives

protected

Parameters

Definition at line 121 of file class.ilCourseObjectivesGUI.php.

References $_SESSION, $ilErr, and ilCourseObjective\_getObjectiveIds().

Referenced by askDeleteObjective(), deleteObjectives(), and saveSorting().

122  {
123  global $ilAccess,$ilErr,$ilObjDataCache,$ilToolbar;
124 
125  $_SESSION['objective_mode'] = self::MODE_UNDEFINED;
126  if(!$ilAccess->checkAccess("write",'',$this->course_obj->getRefId()))
127  {
128  $this->ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilErr->MESSAGE);
129  }
130 
131  $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.crs_objectives.html','Modules/Course');
132 
133  $ilToolbar->addButton($this->lng->txt('crs_add_objective'),
134  $this->ctrl->getLinkTarget($this, "'create"));
135 
136  include_once('./Modules/Course/classes/class.ilCourseObjectivesTableGUI.php');
137  $table = new ilCourseObjectivesTableGUI($this,$this->course_obj);
138  $table->setTitle($this->lng->txt('crs_objectives'),'',$this->lng->txt('crs_objectives'));
139  $table->parse(ilCourseObjective::_getObjectiveIds($this->course_obj->getId(),false));
140 
141  $this->tpl->setVariable('OBJECTIVES_TABLE',$table->getHTML());
142  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static _getObjectiveIds($course_id, $a_activated_only=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ materialAssignment()

ilCourseObjectivesGUI::materialAssignment ( )
protected

material assignment

protected

Returns

Definition at line 582 of file class.ilCourseObjectivesGUI.php.

References $_GET, $GLOBALS, $ilErr, $tpl, __initQuestionObject(), ilCourseObjectiveMaterials\_getAssignableMaterials(), initWizard(), ilUtil\sendFailure(), and setSubTabs().

583  {
584  global $ilAccess,$ilErr,$tpl;
585 
586  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
587  {
588  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
589  }
590  if(!$_GET['objective_id'])
591  {
592  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
593  $this->ctrl->redirect($this,'listObjectives');
594  }
595 
596  $this->setSubTabs("materials");
597 
598  $this->ctrl->saveParameter($this,'objective_id');
599 
600  $this->objective = new ilCourseObjective($this->course_obj,(int) $_GET['objective_id']);
601 
602  include_once('./Modules/Course/classes/class.ilCourseObjectiveMaterialAssignmentTableGUI.php');
603  $table = new ilCourseObjectiveMaterialAssignmentTableGUI($this,$this->course_obj,(int) $_GET['objective_id']);
604  $table->setTitle($this->lng->txt('crs_objective_wiz_materials'),
605  '',$this->lng->txt('crs_objectives'));
606 
607  include_once('Modules/Course/classes/class.ilCourseObjectiveMaterials.php');
608  $table->parse(ilCourseObjectiveMaterials::_getAssignableMaterials($this->course_obj->getRefId()));
609 
610  $this->__initQuestionObject((int) $_GET['objective_id']);
611  $this->initWizard(2);
612  #$w_tpl->setVariable('WIZ_CONTENT',$table->getHTML());
613  $GLOBALS['tpl']->setContent($table->getHTML());
614  #$tpl->setContent($w_tpl->get());
615  }
initWizard($a_step_number)
init wizard
$_GET["client_id"]
TableGUI for material assignments of course objectives.
$GLOBALS['ct_recipient']
class ilcourseobjective
setSubTabs($a_active="")
set sub tabs
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static _getAssignableMaterials($a_container_id)
Get an array of course material ids that can be assigned to learning objectives No tst...
+ Here is the call graph for this function:

◆ questionOverview()

ilCourseObjectivesGUI::questionOverview ( )
protected

question overiew

protected

Returns

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

References $ilErr, and ilCourseObjective\_getObjectiveIds().

Referenced by saveQuestionOverview().

297  {
298  global $ilAccess,$ilErr,$ilTabs;
299 
300  $ilTabs->setSubTabActive('crs_objective_overview_question_assignment');
301 
302  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
303  {
304  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
305  }
306 
307  include_once('./Modules/Course/classes/class.ilCourseObjectiveQuestionsTableGUI.php');
308  $table = new ilCourseObjectiveQuestionsTableGUI($this,$this->course_obj);
309  $table->setTitle($this->lng->txt('crs_objectives_edit_question_assignments'),'',$this->lng->txt('crs_objectives'));
310  // begin-patch lok
311  $table->parse(ilCourseObjective::_getObjectiveIds($this->course_obj->getId(),false));
312  // end-patch lok
313 
314  $this->tpl->setContent($table->getHTML());
315  }
static _getObjectiveIds($course_id, $a_activated_only=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ save()

ilCourseObjectivesGUI::save ( )
protected

save

protected

Returns

Definition at line 529 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_REQUEST, $_SESSION, $ilErr, edit(), initFormTitle(), and ilUtil\sendSuccess().

530  {
531  global $ilAccess,$ilErr;
532 
533  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
534  {
535  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
536  }
537 
538  $this->ctrl->saveParameter($this,'objective_id');
539 
540  $this->objective = new ilCourseObjective($this->course_obj,(int) $_REQUEST['objective_id']);
541  $this->initFormTitle('create', 1);
542  if($this->form->checkInput())
543  {
544  $this->objective->setTitle($this->form->getInput('title'));
545  $this->objective->setDescription($this->form->getInput('description'));
546  $this->objective->setPasses(0);
547 
548  if(!$_GET['objective_id'])
549  {
550  $objective_id = $this->objective->add();
551  ilUtil::sendSuccess($this->lng->txt('crs_added_objective'),true);
552  }
553  else
554  {
555  $this->objective->update();
556  ilUtil::sendSuccess($this->lng->txt('crs_objective_modified'),true);
557  $objective_id = $_GET['objective_id'];
558  }
559  }
560  else
561  {
562  $this->form->setValuesByPost();
563  return $this->edit();
564  }
565 
566  if($_SESSION['objective_mode'] != self::MODE_CREATE)
567  {
568  $this->ctrl->returnToParent($this);
569  }
570 
571  $this->ctrl->setParameter($this,'objective_id',$objective_id);
572  $this->ctrl->redirect($this,'materialAssignment');
573  return true;
574  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
initFormTitle($a_mode, $a_step_number)
init form title
$_GET["client_id"]
class ilcourseobjective
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ saveQuestionOverview()

ilCourseObjectivesGUI::saveQuestionOverview ( )
protected

update question overview

protected

Returns

Definition at line 323 of file class.ilCourseObjectivesGUI.php.

References $_POST, $ilErr, ilCourseObjectiveQuestion\_updateTestLimits(), questionOverview(), ilUtil\sendFailure(), ilUtil\sendSuccess(), ilCourseObjectiveQuestion\TYPE_FINAL_TEST, and ilCourseObjectiveQuestion\TYPE_SELF_ASSESSMENT.

324  {
325  include_once('./Modules/Course/classes/class.ilCourseObjectiveQuestion.php');
326 
327  global $ilAccess,$ilErr;
328 
329  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
330  {
331  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
332  }
333  $error = false;
334 
335  $_POST['self'] = $_POST['self'] ? $_POST['self'] : array();
336  $_POST['final'] = $_POST['final'] ? $_POST['final'] : array();
337 
338  foreach($_POST['self'] as $objective_id => $limit)
339  {
340  $qst = new ilCourseObjectiveQuestion($objective_id);
341  $max_points = $qst->getSelfAssessmentPoints();
342 
343  if($limit < 0 or $limit > $max_points)
344  {
345  ilUtil::sendFailure($this->lng->txt('crs_objective_limit_err'));
346  $this->questionOverview();
347  return false;
348  }
349  }
350  foreach($_POST['final'] as $objective_id => $limit)
351  {
352  $qst = new ilCourseObjectiveQuestion($objective_id);
353  $max_points = $qst->getFinalTestPoints();
354 
355  if($limit < 0 or $limit > $max_points)
356  {
357  ilUtil::sendFailure($this->lng->txt('crs_objective_limit_err'));
358  $this->questionOverview();
359  return false;
360  }
361  }
362 
363  foreach($_POST['self'] as $objective_id => $limit)
364  {
366  }
367 
368  foreach($_POST['final'] as $objective_id => $limit)
369  {
371  }
372 
373  ilUtil::sendSuccess($this->lng->txt('settings_saved'));
374  $this->questionOverview();
375  return true;
376  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static _updateTestLimits($a_objective_id, $a_status, $a_limit)
update test limits
class ilcourseobjectiveQuestion
+ Here is the call graph for this function:

◆ saveRandom()

ilCourseObjectivesGUI::saveRandom ( )
protected

Save random test settings.

Definition at line 1104 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_REQUEST, $ref_id, __initQuestionObject(), ilObject\_lookupObjId(), getSettings(), initFormRandom(), ilUtil\sendFailure(), ilUtil\sendSuccess(), showRandomTestAssignment(), ilCourseObjectiveQuestion\TYPE_FINAL_TEST, ilCourseObjectiveQuestion\TYPE_SELF_ASSESSMENT, ilLOSettings\TYPE_TEST_INITIAL, and ilLOSettings\TYPE_TEST_QUALIFIED.

1105  {
1106  $this->ctrl->saveParameter($this,'objective_id');
1107  $this->ctrl->setParameter($this,'tt',(int) $_REQUEST['tt']);
1108  $this->objective = new ilCourseObjective($this->course_obj,(int) $_GET['objective_id']);
1109  $this->test_type = (int) $_REQUEST['tt'];
1110 
1111  $form = $this->initFormRandom();
1112  if($form->checkInput())
1113  {
1114  $qst = $this->__initQuestionObject((int) $_GET['objective_id']);
1115  $qst->deleteByTestType(
1116  ($this->test_type == ilLOSettings::TYPE_TEST_INITIAL) ?
1119  );
1120  $ref_id = $this->getSettings()->getTestByType($this->test_type);
1121 
1122  include_once './Modules/Course/classes/Objectives/class.ilLORandomTestQuestionPools.php';
1123  $rnd = new ilLORandomTestQuestionPools(
1124  $this->course_obj->getId(),
1125  (int) $_REQUEST['objective_id'],
1126  $this->test_type
1127  );
1128  $rnd->delete();
1129  $rnd->setLimit($form->getInput('per'));
1130  $rnd->setQplSequence($form->getInput('qpl'));
1131  $rnd->setTestId(ilObject::_lookupObjId($ref_id));
1132  $rnd->create();
1133  }
1134  else
1135  {
1136  $form->setValuesByPost();
1137  ilUtil::sendFailure($this->lng->txt('err_check_input'));
1138  return $this->showRandomTestAssignment();
1139  }
1140 
1141  ilUtil::sendSuccess($this->lng->txt('settings_saved'),true);
1142  if($this->test_type == ilLOSettings::TYPE_TEST_QUALIFIED)
1143  {
1144  $this->ctrl->returnToParent($this);
1145  }
1146  else
1147  {
1148  $this->ctrl->redirect($this,'finalTestAssignment');
1149  }
1150  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_GET["client_id"]
showRandomTestAssignment(ilPropertyFormGUI $form=null)
class ilcourseobjective
static _lookupObjId($a_id)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$ref_id
Definition: sahs_server.php:39
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ saveSorting()

ilCourseObjectivesGUI::saveSorting ( )
protected

save position

protected

Returns

Definition at line 150 of file class.ilCourseObjectivesGUI.php.

References $_POST, $ilErr, listObjectives(), and ilUtil\sendSuccess().

151  {
152  global $ilAccess,$ilErr,$ilObjDataCache;
153 
154  if(!$ilAccess->checkAccess("write",'',$this->course_obj->getRefId()))
155  {
156  $this->ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilErr->MESSAGE);
157  }
158 
159  asort($_POST['position'],SORT_NUMERIC);
160 
161  $counter = 1;
162  foreach($_POST['position'] as $objective_id => $position)
163  {
164  $objective = new ilCourseObjective($this->course_obj,$objective_id);
165  $objective->writePosition($counter++);
166  }
167  ilUtil::sendSuccess($this->lng->txt('crs_objective_saved_sorting'));
168  $this->listObjectives();
169  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
class ilcourseobjective
+ Here is the call graph for this function:

◆ selfAssessmentAssignment()

ilCourseObjectivesGUI::selfAssessmentAssignment ( )
protected

self assessment assignemnt

protected

Returns

Definition at line 695 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_REQUEST, $GLOBALS, $ilErr, $tpl, __initQuestionObject(), ilCourseObjectiveQuestion\_getAssignableTests(), initWizard(), isRandomTestType(), ilUtil\sendFailure(), setSubTabs(), showRandomTestAssignment(), ilCourseObjectiveQuestion\TYPE_SELF_ASSESSMENT, and ilLOSettings\TYPE_TEST_INITIAL.

Referenced by updateMaterialAssignment(), and updateSelfAssessmentAssignment().

696  {
697  global $ilAccess,$ilErr,$tpl;
698 
699  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
700  {
701  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
702  }
703  if(!$_GET['objective_id'])
704  {
705  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
706  $this->ctrl->redirect($this,'listObjectives');
707  }
708 
709  $this->setSubTabs("self_ass_assign");
710 
711  $this->ctrl->saveParameter($this,'objective_id');
712 
713  $this->objective = new ilCourseObjective($this->course_obj,(int) $_GET['objective_id']);
714 
715  // begin-patch lok
716  $this->ctrl->setParameter($this,'tt',ilLOSettings::TYPE_TEST_INITIAL);
717  $this->test_type = $_REQUEST['tt'] = ilLOSettings::TYPE_TEST_INITIAL;
719  {
720  return $this->showRandomTestAssignment();
721  }
722  // end-patch lok
723 
724  include_once('./Modules/Course/classes/class.ilCourseObjectiveQuestionAssignmentTableGUI.php');
726  $this->course_obj,
727  (int) $_GET['objective_id'],
729  $table->setTitle($this->lng->txt('crs_objective_wiz_self'),
730  '',$this->lng->txt('crs_objective'));
731  $table->parse(ilCourseObjectiveQuestion::_getAssignableTests($this->course_obj->getRefId()));
732 
733  $this->__initQuestionObject((int) $_GET['objective_id']);
734  $this->initWizard(3);
735  $GLOBALS['tpl']->setContent($table->getHTML());
736  #$w_tpl->setVariable('WIZ_CONTENT',$table->getHTML());
737  #$tpl->setContent($w_tpl->get());
738  }
initWizard($a_step_number)
init wizard
$_GET["client_id"]
showRandomTestAssignment(ilPropertyFormGUI $form=null)
$GLOBALS['ct_recipient']
class ilcourseobjective
setSubTabs($a_active="")
set sub tabs
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
TableGUI for question assignments of course objectives.
static _getAssignableTests($a_container_ref_id)
Get assignable tests.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ selfAssessmentLimits()

ilCourseObjectivesGUI::selfAssessmentLimits ( )
protected

self assessment limits

protected

Parameters

Definition at line 827 of file class.ilCourseObjectivesGUI.php.

References $_GET, $GLOBALS, $ilErr, $tpl, __initQuestionObject(), initFormLimits(), initWizard(), ilUtil\sendFailure(), and setSubTabs().

Referenced by updateSelfAssessmentAssignment(), and updateSelfAssessmentLimits().

828  {
829  global $ilAccess,$ilErr,$tpl;
830 
831  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
832  {
833  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
834  }
835  if(!$_GET['objective_id'])
836  {
837  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
838  $this->ctrl->redirect($this,'listObjectives');
839  }
840 
841  $this->setSubTabs("self_ass_limits");
842 
843  $this->ctrl->saveParameter($this,'objective_id');
844  $this->objective = new ilCourseObjective($this->course_obj,(int) $_GET['objective_id']);
845 
846  $this->__initQuestionObject((int) $_GET['objective_id']);
847  $this->initWizard(4);
848 
849  $this->initFormLimits('selfAssessment');
850  $GLOBALS['tpl']->setContent($this->form->getHtml());
851  #$w_tpl->setVariable('WIZ_CONTENT',$this->form->getHtml());
852  #$tpl->setContent($w_tpl->get());
853  }
initWizard($a_step_number)
init wizard
$_GET["client_id"]
$GLOBALS['ct_recipient']
class ilcourseobjective
setSubTabs($a_active="")
set sub tabs
initFormLimits($a_mode)
init limit form
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSubTabs()

ilCourseObjectivesGUI::setSubTabs (   $a_active = "")

set sub tabs

Definition at line 420 of file class.ilCourseObjectivesGUI.php.

References ilCourseObjectiveQuestion\_hasTests().

Referenced by create(), edit(), finalTestAssignment(), finalTestLimits(), materialAssignment(), selfAssessmentAssignment(), selfAssessmentLimits(), and showRandomTestAssignment().

421  {
422  global $ilTabs, $ilHelp;
423 
424  if ($a_active != "")
425  {
426  $ilHelp->setScreenIdComponent("crs");
427  $ilHelp->setScreenId("crs_objective");
428  $ilHelp->setSubScreenId($a_active);
429  }
430 
431 
432  // begin-patch lok
433  // no subtabs here
434  return true;
435  // end-patch lok
436 
437 
438  $ilTabs->addSubTabTarget("crs_objective_overview_objectives",
439  $this->ctrl->getLinkTarget($this, "listObjectives"),
440  array("listObjectives", "moveObjectiveUp", "moveObjectiveDown", "listAssignedLM"),
441  array(),
442  '',
443  true);
444  include_once('./Modules/Course/classes/class.ilCourseObjectiveQuestion.php');
445 
446  if(ilCourseObjectiveQuestion::_hasTests($this->course_obj->getId()))
447  {
448  $ilTabs->addSubTabTarget("crs_objective_overview_question_assignment",
449  $this->ctrl->getLinkTarget($this, "questionOverview"),
450  "editQuestionAssignment",
451  array(),
452  '',
453  false);
454  }
455  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showRandomTestAssignment()

ilCourseObjectivesGUI::showRandomTestAssignment ( ilPropertyFormGUI  $form = null)
protected
Parameters
ilPropertyFormGUI$form

Definition at line 971 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_REQUEST, $GLOBALS, __initQuestionObject(), initFormRandom(), initWizard(), and setSubTabs().

Referenced by finalTestAssignment(), saveRandom(), and selfAssessmentAssignment().

972  {
973  $this->ctrl->saveParameter($this,'objective_id');
974  $this->ctrl->setParameter($this,'tt', (int) $_REQUEST['tt']);
975  $this->objective = new ilCourseObjective($this->course_obj,(int) $_GET['objective_id']);
976  $this->test_type = (int) $_REQUEST['tt'];
977 
978 
979  $this->setSubTabs("rand_test_assign");
980 
981  if(!$form instanceof ilPropertyFormGUI)
982  {
983  $form = $this->initFormRandom();
984  }
985 
986  $this->__initQuestionObject((int) $_GET['objective_id']);
987  $this->initWizard(5);
988  $GLOBALS['tpl']->setContent($form->getHTML());
989  #$w_tpl->setVariable('WIZ_CONTENT',$form->getHTML());
990 
991  #$GLOBALS['tpl']->setContent($w_tpl->get());
992  }
This class represents a property form user interface.
initWizard($a_step_number)
init wizard
$_GET["client_id"]
$GLOBALS['ct_recipient']
class ilcourseobjective
setSubTabs($a_active="")
set sub tabs
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateFinalTestAssignment()

ilCourseObjectivesGUI::updateFinalTestAssignment ( )
protected

update self assessment assignment

protected

Parameters

Definition at line 1159 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_POST, $ilErr, __initQuestionObject(), finalTestLimits(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilCourseObjectiveQuestion\TYPE_FINAL_TEST.

1160  {
1161  global $ilAccess,$ilErr,$ilObjDataCache;
1162 
1163  $checked_questions = $_POST['questions'] ? $_POST['questions'] : array();
1164 
1165 
1166  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
1167  {
1168  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
1169  }
1170  if(!$_GET['objective_id'])
1171  {
1172  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
1173  $this->ctrl->redirect($this,'listObjectives');
1174  }
1175 
1176  $this->__initQuestionObject((int) $_GET['objective_id']);
1177 
1178  // Delete unchecked
1179  foreach($this->objectives_qst_obj->getFinalTestQuestions() as $question)
1180  {
1181  $id = $question['ref_id'].'_'.$question['question_id'];
1182  if(!in_array($id,$checked_questions))
1183  {
1184  $this->objectives_qst_obj->delete($question['qst_ass_id']);
1185  }
1186  }
1187  // Add checked
1188  foreach($checked_questions as $question_id)
1189  {
1190  list($test_ref_id,$qst_id) = explode('_',$question_id);
1191  $test_obj_id = $ilObjDataCache->lookupObjId($test_ref_id);
1192 
1193  if($this->objectives_qst_obj->isFinalTestQuestion($qst_id))
1194  {
1195  continue;
1196  }
1197 
1198  $this->objectives_qst_obj->setTestStatus(ilCourseObjectiveQuestion::TYPE_FINAL_TEST);
1199  $this->objectives_qst_obj->setTestRefId($test_ref_id);
1200  $this->objectives_qst_obj->setTestObjId($test_obj_id);
1201  $this->objectives_qst_obj->setQuestionId($qst_id);
1202  $this->objectives_qst_obj->add();
1203  }
1204 
1205  // TODO: not nice
1206  include_once './Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
1207  $this->questions = new ilCourseObjectiveQuestion((int) $_GET['objective_id']);
1208  // not required due to percentages
1209  //$this->questions->updateLimits();
1210 
1211  ilUtil::sendSuccess($this->lng->txt('crs_objectives_assigned_lm'));
1212  $this->finalTestLimits();
1213  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
finalTestLimits()
self assessment limits
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
class ilcourseobjectiveQuestion
+ Here is the call graph for this function:

◆ updateFinalTestLimits()

ilCourseObjectivesGUI::updateFinalTestLimits ( )
protected

update self assessment limits

protected

Parameters

Definition at line 1258 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_POST, $_SESSION, $ilErr, $test, __initQuestionObject(), finalTestLimits(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilCourseObjectiveQuestion\TYPE_FINAL_TEST.

1259  {
1260  global $ilAccess,$ilErr,$ilObjDataCache;
1261 
1262  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
1263  {
1264  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
1265  }
1266  if(!$_GET['objective_id'])
1267  {
1268  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
1269  $this->ctrl->redirect($this,'listObjectives');
1270  }
1271 
1272  $this->__initQuestionObject((int) $_GET['objective_id']);
1273 
1274  if((int) $_POST['limit'] < 1 or (int) $_POST['limit'] > 100)
1275  {
1276  ilUtil::sendFailure($this->lng->txt('crs_objective_err_limit'));
1277  $this->finalTestLimits();
1278  return false;
1279  }
1280 
1281  foreach($this->objectives_qst_obj->getFinalTests() as $test)
1282  {
1283  $this->objectives_qst_obj->setTestStatus(ilCourseObjectiveQuestion::TYPE_FINAL_TEST);
1284  $this->objectives_qst_obj->setTestSuggestedLimit((int) $_POST['limit']);
1285  $this->objectives_qst_obj->updateTest($test['test_objective_id']);
1286  }
1287 
1288  if($_SESSION['objective_mode'] != self::MODE_CREATE)
1289  {
1290  ilUtil::sendSuccess($this->lng->txt('settings_saved'), TRUE);
1291  }
1292  else
1293  {
1294  ilUtil::sendSuccess($this->lng->txt('crs_added_objective'),TRUE);
1295  }
1296  $this->ctrl->returnToParent($this);
1297  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
finalTestLimits()
self assessment limits
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$test
Definition: Utf8Test.php:85
+ Here is the call graph for this function:

◆ updateMaterialAssignment()

ilCourseObjectivesGUI::updateMaterialAssignment ( )
protected

update material assignment

protected

Parameters

Definition at line 624 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_POST, $_SESSION, $ilErr, $ref_id, __initLMObject(), ilLMObject\_lookupType(), finalTestAssignment(), getSettings(), selfAssessmentAssignment(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

625  {
626  global $ilAccess,$ilErr,$ilObjDataCache;
627 
628  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
629  {
630  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
631  }
632  if(!$_GET['objective_id'])
633  {
634  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
635  $this->ctrl->redirect($this,'listObjectives');
636  }
637 
638  $this->__initLMObject((int) $_GET['objective_id']);
639  $this->objectives_lm_obj->deleteAll();
640 
641  if(is_array($_POST['materials']))
642  {
643  foreach($_POST['materials'] as $node_id)
644  {
645  $obj_id = $ilObjDataCache->lookupObjId($node_id);
646  $type = $ilObjDataCache->lookupType($obj_id);
647 
648  $this->objectives_lm_obj->setLMRefId($node_id);
649  $this->objectives_lm_obj->setLMObjId($obj_id);
650  $this->objectives_lm_obj->setType($type);
651  $this->objectives_lm_obj->add();
652  }
653  }
654  if(is_array($_POST['chapters']))
655  {
656  foreach($_POST['chapters'] as $chapter)
657  {
658  include_once('./Modules/LearningModule/classes/class.ilLMObject.php');
659 
660  list($ref_id,$chapter_id) = explode('_',$chapter);
661 
662  $this->objectives_lm_obj->setLMRefId($ref_id);
663  $this->objectives_lm_obj->setLMObjId($chapter_id);
664  $this->objectives_lm_obj->setType(ilLMObject::_lookupType($chapter_id));
665  $this->objectives_lm_obj->add();
666  }
667  }
668  ilUtil::sendSuccess($this->lng->txt('crs_objectives_assigned_lm'));
669 
670 
671  if($_SESSION['objective_mode'] != self::MODE_CREATE)
672  {
673  ilUtil::sendSuccess($this->lng->txt('crs_objectives_assigned_lm'),true);
674  $this->ctrl->returnToParent($this);
675  }
676 
677  // begin-patch lok
678  if($this->getSettings()->worksWithInitialTest())
679  {
680  $this->selfAssessmentAssignment();
681  }
682  else
683  {
684  $this->finalTestAssignment();
685  }
686  // end-patch lok
687  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
selfAssessmentAssignment()
self assessment assignemnt
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
finalTestAssignment()
final test assignment
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$ref_id
Definition: sahs_server.php:39
+ Here is the call graph for this function:

◆ updateSelfAssessmentAssignment()

ilCourseObjectivesGUI::updateSelfAssessmentAssignment ( )
protected

update self assessment assignment

protected

Parameters

Definition at line 747 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_POST, $_SESSION, $ilErr, __initQuestionObject(), finalTestAssignment(), selfAssessmentAssignment(), selfAssessmentLimits(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilCourseObjectiveQuestion\TYPE_SELF_ASSESSMENT.

748  {
749  global $ilAccess,$ilErr,$ilObjDataCache;
750 
751  $checked_questions = $_POST['questions'] ? $_POST['questions'] : array();
752 
753 
754  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
755  {
756  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
757  }
758  if(!$_GET['objective_id'])
759  {
760  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
761  $this->ctrl->redirect($this,'listObjectives');
762  }
763 
764  $this->__initQuestionObject((int) $_GET['objective_id']);
765 
766  // Delete unchecked
767  foreach($this->objectives_qst_obj->getSelfAssessmentQuestions() as $question)
768  {
769  $id = $question['ref_id'].'_'.$question['question_id'];
770  if(!in_array($id,$checked_questions))
771  {
772  $this->objectives_qst_obj->delete($question['qst_ass_id']);
773  }
774  }
775  // Add checked
776  foreach($checked_questions as $question_id)
777  {
778  list($test_ref_id,$qst_id) = explode('_',$question_id);
779  $test_obj_id = $ilObjDataCache->lookupObjId($test_ref_id);
780 
781  if($this->objectives_qst_obj->isSelfAssessmentQuestion($qst_id))
782  {
783  continue;
784  }
785  $this->objectives_qst_obj->setTestStatus(ilCourseObjectiveQuestion::TYPE_SELF_ASSESSMENT);
786  $this->objectives_qst_obj->setTestRefId($test_ref_id);
787  $this->objectives_qst_obj->setTestObjId($test_obj_id);
788  $this->objectives_qst_obj->setQuestionId($qst_id);
789  $this->objectives_qst_obj->add();
790  }
791 
792  // TODO: not nice
793  include_once './Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
794  $this->questions = new ilCourseObjectiveQuestion((int) $_GET['objective_id']);
795  // not required due to percentages
796  //$this->questions->updateLimits();
797 
798  if($checked_questions)
799  {
800  ilUtil::sendSuccess($this->lng->txt('crs_objectives_assigned_lm'));
801  $this->selfAssessmentLimits();
802  return true;
803  }
804  else
805  {
806  switch($_SESSION['objective_mode'])
807  {
808  case self::MODE_CREATE:
809  $this->finalTestAssignment();
810  return true;
811 
812  case self::MODE_UPDATE:
813  $this->selfAssessmentAssignment();
814  ilUtil::sendSuccess($this->lng->txt('crs_objectives_assigned_lm'));
815  return true;
816  }
817  }
818  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
selfAssessmentAssignment()
self assessment assignemnt
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
finalTestAssignment()
final test assignment
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
class ilcourseobjectiveQuestion
selfAssessmentLimits()
self assessment limits
+ Here is the call graph for this function:

◆ updateSelfAssessmentLimits()

ilCourseObjectivesGUI::updateSelfAssessmentLimits ( )
protected

update self assessment limits

protected

Parameters

Definition at line 862 of file class.ilCourseObjectivesGUI.php.

References $_GET, $_POST, $ilErr, $test, __initQuestionObject(), finalTestAssignment(), selfAssessmentLimits(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilCourseObjectiveQuestion\TYPE_SELF_ASSESSMENT.

863  {
864  global $ilAccess,$ilErr,$ilObjDataCache;
865 
866  if(!$ilAccess->checkAccess('write','',$this->course_obj->getRefId()))
867  {
868  $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
869  }
870  if(!$_GET['objective_id'])
871  {
872  ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected'),true);
873  $this->ctrl->redirect($this,'listObjectives');
874  }
875 
876  $this->__initQuestionObject((int) $_GET['objective_id']);
877 
878  if((int) $_POST['limit'] < 1 or (int) $_POST['limit'] > 100)
879  {
880  ilUtil::sendFailure($this->lng->txt('crs_objective_err_limit'));
881  $this->selfAssessmentLimits();
882  return false;
883  }
884 
885  foreach($this->objectives_qst_obj->getSelfAssessmentTests() as $test)
886  {
887  $this->objectives_qst_obj->setTestStatus(ilCourseObjectiveQuestion::TYPE_SELF_ASSESSMENT);
888  $this->objectives_qst_obj->setTestSuggestedLimit((int) $_POST['limit']);
889  $this->objectives_qst_obj->updateTest($test['test_objective_id']);
890  }
891 
892  ilUtil::sendSuccess($this->lng->txt('settings_saved'));
893  $this->finalTestAssignment();
894 
895  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
finalTestAssignment()
final test assignment
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
selfAssessmentLimits()
self assessment limits
$test
Definition: Utf8Test.php:85
+ Here is the call graph for this function:

Field Documentation

◆ $course_id

ilCourseObjectivesGUI::$course_id

Definition at line 50 of file class.ilCourseObjectivesGUI.php.

◆ $course_obj

ilCourseObjectivesGUI::$course_obj

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

◆ $ctrl

ilCourseObjectivesGUI::$ctrl

Definition at line 43 of file class.ilCourseObjectivesGUI.php.

◆ $ilErr

◆ $ilias

ilCourseObjectivesGUI::$ilias

Definition at line 44 of file class.ilCourseObjectivesGUI.php.

Referenced by ilCourseObjectivesGUI().

◆ $lng

ilCourseObjectivesGUI::$lng

Definition at line 46 of file class.ilCourseObjectivesGUI.php.

Referenced by ilCourseObjectivesGUI().

◆ $settings

ilCourseObjectivesGUI::$settings
protected

Definition at line 53 of file class.ilCourseObjectivesGUI.php.

Referenced by getSettings().

◆ $test_type

ilCourseObjectivesGUI::$test_type = 0
protected

Definition at line 54 of file class.ilCourseObjectivesGUI.php.

Referenced by isRandomTestType().

◆ $tpl

◆ MODE_CREATE

const ilCourseObjectivesGUI::MODE_CREATE = 1

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

◆ MODE_UNDEFINED

const ilCourseObjectivesGUI::MODE_UNDEFINED = 0

Definition at line 38 of file class.ilCourseObjectivesGUI.php.

◆ MODE_UPDATE

const ilCourseObjectivesGUI::MODE_UPDATE = 2

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


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