/** * Execute command * @return <type> */ public function executeCommand() { global $ilCtrl; $next_class = $ilCtrl->getNextClass($this); $cmd = $ilCtrl->getCmd(); $this->setTabs(); switch ($next_class) { case 'ilcourseobjectivesgui': $this->ctrl->setReturn($this, 'listObjectives'); $GLOBALS['ilTabs']->clearTargets(); $GLOBALS['ilTabs']->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, 'listObjectives')); include_once './Modules/Course/classes/class.ilCourseObjectivesGUI.php'; $reg_gui =& new ilCourseObjectivesGUI($this->getParentObject()->getRefId()); $this->ctrl->forwardCommand($reg_gui); break; case 'ilcontainerstartobjectsgui': include_once './Services/Container/classes/class.ilContainerStartObjectsGUI.php'; $stgui = new ilContainerStartObjectsGUI($this->getParentObject()); $ret = $this->ctrl->forwardCommand($stgui); $GLOBALS['ilTabs']->activateSubTab('start'); $GLOBALS['ilTabs']->removeSubTab('manage'); #$GLOBALS['tpl']->setContent($this->ctrl->getHTML($stgui)); break; case 'ilconditionhandlergui': $this->ctrl->saveParameterByClass('ilconditionhandlergui', 'objective_id'); $GLOBALS['ilTabs']->clearTargets(); $GLOBALS['ilTabs']->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, 'listObjectives')); include_once './Services/AccessControl/classes/class.ilConditionHandlerInterface.php'; $cond = new ilConditionHandlerGUI($this); $cond->setBackButtons(array()); $cond->setAutomaticValidation(false); $cond->setTargetType("lobj"); $cond->setTargetRefId($this->getParentObject()->getRefId()); $cond->setTargetId((int) $_REQUEST['objective_id']); // objecitve include_once './Modules/Course/classes/class.ilCourseObjective.php'; $obj = new ilCourseObjective($this->getParentObject(), (int) $_REQUEST['objective_id']); $cond->setTargetTitle($obj->getTitle()); $this->ctrl->forwardCommand($cond); break; case 'illopagegui': $this->ctrl->saveParameterByClass('illopagegui', 'objective_id'); $GLOBALS['ilTabs']->clearTargets(); $GLOBALS['ilTabs']->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, 'listObjectives')); $objtv_id = (int) $_REQUEST['objective_id']; include_once 'Modules/Course/classes/Objectives/class.ilLOPage.php'; if (!ilLOPage::_exists('lobj', $objtv_id)) { // doesn't exist -> create new one $new_page_object = new ilLOPage(); $new_page_object->setParentId($objtv_id); $new_page_object->setId($objtv_id); $new_page_object->createFromXML(); unset($new_page_object); } $this->ctrl->setReturn($this, 'listObjectives'); include_once 'Modules/Course/classes/Objectives/class.ilLOPageGUI.php'; $pgui = new ilLOPageGUI($objtv_id); $pgui->setPresentationTitle(ilCourseObjective::lookupObjectiveTitle($objtv_id)); // needed for editor? include_once './Services/Style/classes/class.ilObjStyleSheet.php'; $pgui->setStyleId(ilObjStyleSheet::getEffectiveContentStyleId(0)); // #14895 $GLOBALS['tpl']->setCurrentBlock("ContentStyle"); $GLOBALS['tpl']->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath(0)); $GLOBALS['tpl']->parseCurrentBlock(); $ret = $this->ctrl->forwardCommand($pgui); if ($ret) { $GLOBALS['tpl']->setContent($ret); } break; default: if (!$cmd) { // get first unaccomplished step include_once './Modules/Course/classes/Objectives/class.ilLOEditorStatus.php'; $cmd = ilLOEditorStatus::getInstance($this->getParentObject())->getFirstFailedStep(); } $this->{$cmd}(); break; } return true; }