/** * execute command */ function executeCommand() { global $ilDB, $lng, $ilPluginAdmin, $ilTabs, $tree; $ilTabs->clearTargets(); $this->ctrl->saveParameter($this, "sequence"); $this->ctrl->saveParameter($this, "active_id"); $this->initAssessmentSettings(); require_once 'Modules/Test/classes/class.ilObjTestDynamicQuestionSetConfig.php'; $this->dynamicQuestionSetConfig = new ilObjTestDynamicQuestionSetConfig($tree, $ilDB, $ilPluginAdmin, $this->object); $this->dynamicQuestionSetConfig->loadFromDb(); $testSessionFactory = new ilTestSessionFactory($this->object); $this->testSession = $testSessionFactory->getSession($_GET['active_id']); $this->ensureExistingTestSession($this->testSession); $this->initProcessLocker($this->testSession->getActiveId()); $testSequenceFactory = new ilTestSequenceFactory($ilDB, $lng, $ilPluginAdmin, $this->object); $this->testSequence = $testSequenceFactory->getSequenceByTestSession($this->testSession); $this->testSequence->loadFromDb(); include_once 'Services/jQuery/classes/class.iljQueryUtil.php'; iljQueryUtil::initjQuery(); include_once "./Services/YUI/classes/class.ilYuiUtil.php"; ilYuiUtil::initConnectionWithAnimation(); if ($this->object->getKioskMode()) { include_once 'Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php'; ilOverlayGUI::initJavascript(); } $this->handlePasswordProtectionRedirect(); $cmd = $this->ctrl->getCmd(); $nextClass = $this->ctrl->getNextClass($this); switch ($nextClass) { case 'ilassquestionpagegui': $questionId = $this->testSequence->getQuestionForSequence($this->calculateSequence()); require_once "./Modules/TestQuestionPool/classes/class.ilAssQuestionPageGUI.php"; $page_gui = new ilAssQuestionPageGUI($questionId); $ret = $this->ctrl->forwardCommand($page_gui); break; case 'ilassquestionhintrequestgui': $questionGUI = $this->object->createQuestionGUI("", $this->testSequenceFactory->getSequenceByTestSession()->getQuestionForSequence($this->calculateSequence())); require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php'; $gui = new ilAssQuestionHintRequestGUI($this, self::CMD_SHOW_QUESTION, $this->testSession, $questionGUI); $this->ctrl->forwardCommand($gui); break; case 'ildynamicquestionsetstatistictablegui': $this->ctrl->forwardCommand($this->buildQuestionSetFilteredStatisticTableGUI()); break; case 'iltestpasswordprotectiongui': require_once 'Modules/Test/classes/class.ilTestPasswordProtectionGUI.php'; $gui = new ilTestPasswordProtectionGUI($this->ctrl, $this->tpl, $this->lng, $this, $this->passwordChecker); $ret = $this->ctrl->forwardCommand($gui); break; default: $cmd .= 'Cmd'; $ret =& $this->{$cmd}(); break; } return $ret; }
/** * execute command */ function executeCommand() { global $ilDB, $lng, $ilPluginAdmin, $ilTabs, $tree; $ilTabs->clearTargets(); $this->ctrl->saveParameter($this, "sequence"); $this->ctrl->saveParameter($this, "active_id"); require_once 'Modules/Test/classes/class.ilObjTestDynamicQuestionSetConfig.php'; $this->dynamicQuestionSetConfig = new ilObjTestDynamicQuestionSetConfig($tree, $ilDB, $ilPluginAdmin, $this->object); $this->dynamicQuestionSetConfig->loadFromDb(); $testSessionFactory = new ilTestSessionFactory($this->object); $this->testSession = $testSessionFactory->getSession($_GET['active_id']); $testSequenceFactory = new ilTestSequenceFactory($ilDB, $lng, $ilPluginAdmin, $this->object); $this->testSequence = $testSequenceFactory->getSequence($this->testSession); $this->testSequence->loadFromDb(); include_once 'Services/jQuery/classes/class.iljQueryUtil.php'; iljQueryUtil::initjQuery(); include_once "./Services/YUI/classes/class.ilYuiUtil.php"; ilYuiUtil::initConnectionWithAnimation(); if ($this->object->getKioskMode()) { include_once 'Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php'; ilOverlayGUI::initJavascript(); } $cmd = $this->ctrl->getCmd(); $nextClass = $this->ctrl->getNextClass($this); switch ($nextClass) { case 'ilassquestionhintrequestgui': $questionGUI = $this->object->createQuestionGUI("", $this->testSequenceFactory->getSequence()->getQuestionForSequence($this->calculateSequence())); require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php'; $gui = new ilAssQuestionHintRequestGUI($this, $this->testSession, $questionGUI); $this->ctrl->forwardCommand($gui); break; case 'ilfilteredquestionstablegui': $this->ctrl->forwardCommand($this->buildFilteredQuestionsTableGUI()); break; default: $cmd .= 'Cmd'; $ret =& $this->{$cmd}(); break; } return $ret; }
/** * execute command */ function executeCommand() { global $ilUser; $cmd = $this->ctrl->getCmd(); $next_class = $this->ctrl->getNextClass($this); $this->ctrl->saveParameter($this, "sequence"); $this->ctrl->saveParameter($this, "active_id"); if (preg_match("/^gotoquestion_(\\d+)\$/", $cmd, $matches)) { $cmd = "gotoquestion"; if (strlen($matches[1])) { $this->ctrl->setParameter($this, 'gotosequence', $matches[1]); } } if ($_GET["active_id"]) { $this->object->setTestSession($_GET["active_id"]); } else { $this->object->setTestSession(); } include_once 'Services/jQuery/classes/class.iljQueryUtil.php'; iljQueryUtil::initjQuery(); include_once "./Services/YUI/classes/class.ilYuiUtil.php"; ilYuiUtil::initConnectionWithAnimation(); $cmd = $this->getCommand($cmd); switch ($next_class) { case 'ilassquestionhintrequestgui': $questionGUI = $this->object->createQuestionGUI("", $this->object->getTestSequence()->getQuestionForSequence($this->calculateSequence())); require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php'; $gui = new ilAssQuestionHintRequestGUI($this, $this->object->getTestSession(), $questionGUI); $ret = $this->ctrl->forwardCommand($gui); break; default: $ret =& $this->{$cmd}(); break; } return $ret; }
/** * Insert property html */ function insert(&$a_tpl) { global $lng; $template = new ilTemplate("tpl.prop_flashfile.html", true, true, "Services/Form"); if ($this->getApplet() != "") { $this->outputSuffixes($template); if (count($this->getParameters())) { $index = 0; $params = array(); foreach ($this->getParameters() as $name => $value) { array_push($params, urlencode($name) . "=" . urlencode($value)); $template->setCurrentBlock("applet_param_input"); $template->setVariable("TEXT_NAME", $lng->txt("name")); $template->setVariable("TEXT_VALUE", $lng->txt("value")); $template->setVariable("PARAM_INDEX", $index); $template->setVariable("POST_VAR_P", $this->getPostVar()); $template->setVariable("VALUE_NAME", "value=\"" . ilUtil::prepareFormOutput($name) . "\""); $template->setVariable("VALUE_VALUE", "value=\"" . ilUtil::prepareFormOutput($value) . "\""); $template->setVariable("TEXT_DELETE_PARAM", $lng->txt("delete_parameter")); $template->parseCurrentBlock(); $index++; } $template->setCurrentBlock("applet_parameter"); $template->setVariable("PARAM_VALUE", join($params, "&")); $template->parseCurrentBlock(); $template->setCurrentBlock("flash_vars"); $template->setVariable("PARAM_VALUE", join($params, "&")); $template->parseCurrentBlock(); } $template->setCurrentBlock("applet"); $template->setVariable("TEXT_ADD_PARAM", $lng->txt("add_parameter")); $template->setVariable("APPLET_WIDTH", $this->getWidth()); $template->setVariable("APPLET_HEIGHT", $this->getHeight()); $template->setVariable("POST_VAR_D", $this->getPostVar()); $template->setVariable("FILENAME", $this->getApplet()); $template->setVariable("TEXT_WIDTH", $lng->txt("width")); $template->setVariable("TEXT_HEIGHT", $lng->txt("height")); $template->setVariable("APPLET_FILE", $this->getApplet()); $template->setVariable("APPLET_PATH", $this->getAppletPathWeb() . $this->getApplet()); if ($this->getWidth()) { $template->setVariable("VALUE_WIDTH", "value=\"" . $this->getWidth() . "\""); } if ($this->getHeight()) { $template->setVariable("VALUE_HEIGHT", "value=\"" . $this->getHeight() . "\""); } $template->setVariable("ID", $this->getFieldId()); $template->setVariable("TXT_DELETE_EXISTING", $lng->txt("delete_existing_file")); $template->parseCurrentBlock(); } $js_tpl = new ilTemplate('tpl.flashAddParam.js', true, true, 'Services/Form'); $js_tpl->setVariable("TEXT_NAME", $lng->txt("name")); $js_tpl->setVariable("TEXT_VALUE", $lng->txt("value")); $js_tpl->setVariable("POST_VAR", $this->getPostVar()); $js_tpl->setVariable("TEXT_DELETE_PARAM", $lng->txt("delete_parameter")); $js_tpl->setVariable("TEXT_CONFIRM_DELETE_PARAMETER", $lng->txt("confirm_delete_parameter")); $template->setVariable("POST_VAR", $this->getPostVar()); $template->setVariable("ID", $this->getFieldId()); $template->setVariable("TXT_MAX_SIZE", $lng->txt("file_notice") . " " . $this->getMaxFileSizeString()); $template->setVariable("JAVASCRIPT_FLASH", $js_tpl->get()); $a_tpl->setCurrentBlock("prop_generic"); $a_tpl->setVariable("PROP_GENERIC", $template->get()); $a_tpl->parseCurrentBlock(); global $tpl; include_once "./Services/YUI/classes/class.ilYuiUtil.php"; ilYuiUtil::initConnectionWithAnimation(); }
/** * Execute Command */ public function executeCommand() { global $ilUser, $ilDB, $ilPluginAdmin, $lng, $ilTabs; $ilTabs->clearTargets(); $cmd = $this->ctrl->getCmd(); $next_class = $this->ctrl->getNextClass($this); $this->ctrl->saveParameter($this, "sequence"); $this->ctrl->saveParameter($this, "active_id"); if (preg_match("/^gotoquestion_(\\d+)\$/", $cmd, $matches)) { $cmd = "gotoquestion"; if (strlen($matches[1])) { $this->ctrl->setParameter($this, 'gotosequence', $matches[1]); } } $testSessionFactory = new ilTestSessionFactory($this->object); $this->testSession = $testSessionFactory->getSession($_GET['active_id']); $this->ensureExistingTestSession($this->testSession); $this->initProcessLocker($this->testSession->getActiveId()); $testSequenceFactory = new ilTestSequenceFactory($ilDB, $lng, $ilPluginAdmin, $this->object); $this->testSequence = $testSequenceFactory->getSequence($this->testSession); $this->testSequence->loadFromDb(); $this->testSequence->loadQuestions(); include_once 'Services/jQuery/classes/class.iljQueryUtil.php'; iljQueryUtil::initjQuery(); include_once "./Services/YUI/classes/class.ilYuiUtil.php"; ilYuiUtil::initConnectionWithAnimation(); $this->handlePasswordProtectionRedirect(); $cmd = $this->getCommand($cmd); switch ($next_class) { case 'ilassquestionpagegui': $questionId = $this->testSequence->getQuestionForSequence($this->calculateSequence()); require_once "./Modules/TestQuestionPool/classes/class.ilAssQuestionPageGUI.php"; $page_gui = new ilAssQuestionPageGUI($questionId); $ret = $this->ctrl->forwardCommand($page_gui); break; case 'iltestsubmissionreviewgui': require_once './Modules/Test/classes/class.ilTestSubmissionReviewGUI.php'; $gui = new ilTestSubmissionReviewGUI($this, $this->object, $this->testSession); $ret = $this->ctrl->forwardCommand($gui); break; case 'ilassquestionhintrequestgui': $questionGUI = $this->object->createQuestionGUI("", $this->testSequence->getQuestionForSequence($this->calculateSequence())); require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintTracking.php'; $questionHintTracking = new ilAssQuestionHintTracking($questionGUI->object->getId(), $this->testSession->getActiveId(), $this->testSession->getPass()); require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php'; $gui = new ilAssQuestionHintRequestGUI($this, 'redirectQuestion', $questionGUI, $questionHintTracking); $ret = $this->ctrl->forwardCommand($gui); break; case 'iltestsignaturegui': require_once './Modules/Test/classes/class.ilTestSignatureGUI.php'; $gui = new ilTestSignatureGUI($this); $ret = $this->ctrl->forwardCommand($gui); break; case 'iltestpasswordprotectiongui': require_once 'Modules/Test/classes/class.ilTestPasswordProtectionGUI.php'; $gui = new ilTestPasswordProtectionGUI($this->ctrl, $this->tpl, $this->lng, $this, $this->passwordChecker); $ret = $this->ctrl->forwardCommand($gui); break; default: $cmd .= 'Cmd'; $ret =& $this->{$cmd}(); break; } return $ret; }
/** * Execute Command */ public function executeCommand() { global $ilUser, $ilDB, $ilPluginAdmin, $lng, $ilTabs; $ilTabs->clearTargets(); $cmd = $this->ctrl->getCmd(); $next_class = $this->ctrl->getNextClass($this); $this->ctrl->saveParameter($this, "sequence"); $this->ctrl->saveParameter($this, "active_id"); if (preg_match("/^gotoquestion_(\\d+)\$/", $cmd, $matches)) { $cmd = "gotoquestion"; if (strlen($matches[1])) { $this->ctrl->setParameter($this, 'gotosequence', $matches[1]); } } $testSessionFactory = new ilTestSessionFactory($this->object); $this->testSession = $testSessionFactory->getSession($_GET['active_id']); if (!$this->testSession->getActiveId()) { $this->testSession->setUserId($ilUser->getId()); $this->testSession->setAnonymousId($_SESSION["tst_access_code"][$this->object->getTestId()]); $this->testSession->saveToDb(); } $testSequenceFactory = new ilTestSequenceFactory($ilDB, $lng, $ilPluginAdmin, $this->object); $this->testSequence = $testSequenceFactory->getSequence($this->testSession); $this->testSequence->loadFromDb(); $this->testSequence->loadQuestions(); include_once 'Services/jQuery/classes/class.iljQueryUtil.php'; iljQueryUtil::initjQuery(); include_once "./Services/YUI/classes/class.ilYuiUtil.php"; ilYuiUtil::initConnectionWithAnimation(); // Ensure that the selector for unicode characters respects the test settings // This should be done before ilMainMenu gets the current selector for display global $ilSetting; if ($ilSetting->get('char_selector_availability') > 0) { require_once 'Services/UIComponent/CharSelector/classes/class.ilCharSelectorGUI.php'; ilCharSelectorGUI::_getCurrentGUI($this->object); } $cmd = $this->getCommand($cmd); switch ($next_class) { case 'iltestsubmissionreviewgui': require_once './Modules/Test/classes/class.ilTestSubmissionReviewGUI.php'; $gui = new ilTestSubmissionReviewGUI($this, $this->object); $ret = $this->ctrl->forwardCommand($gui); break; case 'ilassquestionhintrequestgui': $questionGUI = $this->object->createQuestionGUI("", $this->testSequence->getQuestionForSequence($this->calculateSequence())); require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php'; $gui = new ilAssQuestionHintRequestGUI($this, $this->testSession, $questionGUI); $ret = $this->ctrl->forwardCommand($gui); break; case 'iltestsignaturegui': require_once './Modules/Test/classes/class.ilTestSignatureGUI.php'; $gui = new ilTestSignatureGUI($this); $ret = $this->ctrl->forwardCommand($gui); break; default: $cmd .= 'Cmd'; $ret =& $this->{$cmd}(); break; } return $ret; }