private function showCmd()
 {
     $selectedSkillProfile = ilTestSkillEvaluationToolbarGUI::fetchSkillProfileParam($_POST);
     $testSession = $this->testSessionFactory->getSession();
     $this->skillEvaluation->init()->evaluate($testSession->getActiveId(), $testSession->getLastFinishedPass(), $testSession->getUserId());
     $evaluationToolbarGUI = $this->buildEvaluationToolbarGUI($testSession->getUserId(), $selectedSkillProfile);
     $personalSkillsGUI = $this->buildPersonalSkillsGUI($testSession->getUserId(), $selectedSkillProfile);
     $this->tpl->setContent($this->ctrl->getHTML($evaluationToolbarGUI) . $this->ctrl->getHTML($personalSkillsGUI));
 }
 private function showSkillThresholdsCmd()
 {
     $table = $this->buildTableGUI();
     $skillLevelThresholdList = $this->buildSkillLevelThresholdList();
     $skillLevelThresholdList->loadFromDb();
     $table->setSkillLevelThresholdList($skillLevelThresholdList);
     $assignmentList = $this->buildSkillQuestionAssignmentList();
     $assignmentList->loadFromDb();
     $table->setData($assignmentList->getUniqueAssignedSkills());
     $this->tpl->setContent($this->ctrl->getHTML($table));
 }
 private function showFormCmd(ilPropertyFormGUI $form = null)
 {
     if ($form === null) {
         $form = $this->buildForm();
     }
     $this->tpl->setContent($this->ctrl->getHTML($form));
 }
 private function showPasswordFormCmd()
 {
     require_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
     require_once 'Services/Form/classes/class.ilPasswordInputGUI.php';
     $form = new ilPropertyFormGUI();
     $form->setTitle($this->lng->txt("tst_password_form"));
     $form->setDescription($this->lng->txt("tst_password_introduction"));
     $form->setFormAction($this->ctrl->getFormAction($this));
     $form->addCommandButton(self::CMD_SAVE_ENTERED_PASSWORD, $this->lng->txt("submit"));
     $form->addCommandButton(self::CMD_BACK_TO_INFO_SCREEN, $this->lng->txt("cancel"));
     $inp = new ilPasswordInputGUI($this->lng->txt("tst_password"), 'password');
     $inp->setRequired(true);
     $inp->setRetype(false);
     $form->addItem($inp);
     $this->tpl->setVariable($this->parentGUI->getContentBlockName(), $this->ctrl->getHTML($form));
 }
 protected function getPassDetailsOverview($result_array, $active_id, $pass, $targetGUI, $targetCMD, $questionDetailsCMD, $questionAnchorNav, ilTestQuestionRelatedObjectivesList $objectivesList = null)
 {
     $this->ctrl->setParameter($targetGUI, 'active_id', $active_id);
     $this->ctrl->setParameter($targetGUI, 'pass', $pass);
     $tableGUI = $this->buildPassDetailsOverviewTableGUI($targetGUI, $targetCMD);
     $tableGUI->setAnswerListAnchorEnabled($questionAnchorNav);
     $tableGUI->setSingleAnswerScreenCmd($questionDetailsCMD);
     $tableGUI->setShowHintCount($this->object->isOfferingQuestionHintsEnabled());
     if ($objectivesList !== null) {
         $tableGUI->setQuestionRelatedObjectivesList($objectivesList);
         $tableGUI->setObjectiveOrientedPresentationEnabled(true);
     }
     $tableGUI->setActiveId($active_id);
     $tableGUI->setPass($pass);
     $tableGUI->setShowSuggestedSolution(false);
     $usersQuestionSolutions = array();
     foreach ($result_array as $key => $val) {
         if ($key === 'test' || $key === 'pass') {
             continue;
         }
         if ($this->object->getShowSolutionSuggested() && strlen($val['solution'])) {
             $tableGUI->setShowSuggestedSolution(true);
         }
         if (isset($val['pass'])) {
             $tableGUI->setPassColumnEnabled(true);
         }
         $usersQuestionSolutions[$key] = $val;
     }
     $tableGUI->initColumns()->initFilter();
     $tableGUI->setFilterCommand($targetCMD . 'SetTableFilter');
     $tableGUI->setResetCommand($targetCMD . 'ResetTableFilter');
     $tableGUI->setData($usersQuestionSolutions);
     return $this->ctrl->getHTML($tableGUI);
 }
 private function showConfirmation(ilPropertyFormGUI $form)
 {
     require_once 'Services/Utilities/classes/class.ilConfirmationGUI.php';
     $confirmation = new ilConfirmationGUI();
     $confirmation->setHeaderText($this->lng->txt('tst_trigger_result_refreshing'));
     $confirmation->setFormAction($this->ctrl->getFormAction($this));
     $confirmation->setCancel($this->lng->txt('cancel'), self::CMD_SHOW_FORM);
     $confirmation->setConfirm($this->lng->txt('confirm'), self::CMD_CONFIRMED_SAVE_FORM);
     foreach ($form->getInputItemsRecursive() as $key => $item) {
         //vd("$key // {$item->getType()} // ".json_encode($_POST[$item->getPostVar()]));
         switch ($item->getType()) {
             case 'section_header':
                 continue;
             case 'datetime':
                 list($date, $time) = explode(' ', $item->getDate()->get(IL_CAL_DATETIME));
                 if ($item->getMode() == ilDateTimeInputGUI::MODE_SELECT) {
                     list($y, $m, $d) = explode('-', $date);
                     $confirmation->addHiddenItem("{$item->getPostVar()}[date][y]", $y);
                     $confirmation->addHiddenItem("{$item->getPostVar()}[date][m]", $m);
                     $confirmation->addHiddenItem("{$item->getPostVar()}[date][d]", $d);
                     if ($item->getShowTime()) {
                         list($h, $m, $s) = explode(':', $time);
                         $confirmation->addHiddenItem("{$item->getPostVar()}[time][h]", $h);
                         $confirmation->addHiddenItem("{$item->getPostVar()}[time][m]", $m);
                         $confirmation->addHiddenItem("{$item->getPostVar()}[time][s]", $s);
                     }
                 } else {
                     $confirmation->addHiddenItem("{$item->getPostVar()}[date]", $date);
                     $confirmation->addHiddenItem("{$item->getPostVar()}[time]", $time);
                 }
                 break;
             case 'duration':
                 $confirmation->addHiddenItem("{$item->getPostVar()}[MM]", (int) $item->getMonths());
                 $confirmation->addHiddenItem("{$item->getPostVar()}[dd]", (int) $item->getDays());
                 $confirmation->addHiddenItem("{$item->getPostVar()}[hh]", (int) $item->getHours());
                 $confirmation->addHiddenItem("{$item->getPostVar()}[mm]", (int) $item->getMinutes());
                 $confirmation->addHiddenItem("{$item->getPostVar()}[ss]", (int) $item->getSeconds());
                 break;
             case 'checkboxgroup':
                 if (is_array($item->getValue())) {
                     foreach ($item->getValue() as $option) {
                         $confirmation->addHiddenItem("{$item->getPostVar()}[]", $option);
                     }
                 }
                 break;
             case 'checkbox':
                 if ($item->getChecked()) {
                     $confirmation->addHiddenItem($item->getPostVar(), 1);
                 }
                 break;
             default:
                 $confirmation->addHiddenItem($item->getPostVar(), $item->getValue());
         }
     }
     $this->tpl->setContent($this->ctrl->getHTML($confirmation));
 }
 /**
  * Enable all settings - Confirmation
  */
 private function showResetTemplateConfirmationCmd()
 {
     require_once 'Services/Utilities/classes/class.ilConfirmationGUI.php';
     $confirmationGUI = new ilConfirmationGUI();
     $confirmationGUI->setFormAction($this->ctrl->getFormAction($this));
     $confirmationGUI->setHeaderText($this->lng->txt("test_confirm_template_reset"));
     $confirmationGUI->setCancel($this->lng->txt('cancel'), self::CMD_SHOW_FORM);
     $confirmationGUI->setConfirm($this->lng->txt('confirm'), self::CMD_CONFIRMED_RESET_TPL);
     $this->tpl->setContent($this->ctrl->getHTML($confirmationGUI));
 }
 private function showSkillQuestionAssignmentsCmd()
 {
     $table = $this->buildTableGUI();
     $assignmentList = $this->buildSkillQuestionAssignmentList();
     $assignmentList->loadFromDb();
     $assignmentList->loadAdditionalSkillData();
     $table->setSkillQuestionAssignmentList($assignmentList);
     $table->setData($this->testOBJ->getTestQuestions());
     $this->tpl->setContent($this->ctrl->getHTML($table));
 }
 private function showEditSourcePoolDefinitionFormCmd(ilTestRandomQuestionSetPoolDefinitionFormGUI $form = null)
 {
     $this->questionSetConfig->loadFromDb();
     $defId = $this->fetchSingleSourcePoolDefinitionIdParameter();
     $sourcePoolDefinition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($defId);
     $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
     if ($form === null) {
         $form = $this->buildEditSourcePoolDefinitionFormGUI();
         $form->build($sourcePoolDefinition, $availableTaxonomyIds);
     }
     $this->tpl->setContent($this->ctrl->getHTML($form));
 }
 private function showSyncOriginalConfirmationCmd()
 {
     $questionId = (int) $_GET['question_id'];
     require_once 'Services/Utilities/classes/class.ilConfirmationGUI.php';
     $confirmation = new ilConfirmationGUI();
     $confirmation->setHeaderText($this->lng->txt('qpl_sync_quest_skl_assigns_confirmation'));
     $confirmation->setFormAction($this->ctrl->getFormAction($this));
     $confirmation->addHiddenItem('question_id', $questionId);
     $confirmation->setConfirm($this->lng->txt('yes'), self::CMD_SYNC_ORIGINAL);
     $confirmation->setCancel($this->lng->txt('no'), self::CMD_SHOW_SKILL_QUEST_ASSIGNS);
     $this->tpl->setContent($this->ctrl->getHTML($confirmation));
 }
 /**
  * command method that prints the question set config form
  * 
  * @param ilPropertyFormGUI $form
  */
 public function showFormCmd(ilPropertyFormGUI $form = null)
 {
     $this->questionSetConfig->loadFromDb();
     if ($this->questionSetConfig->areDepenciesBroken($this->tree)) {
         ilUtil::sendFailure($this->questionSetConfig->getDepenciesBrokenMessage($this->lng));
     } elseif ($this->questionSetConfig->areDepenciesInVulnerableState($this->tree)) {
         ilUtil::sendInfo($this->questionSetConfig->getDepenciesInVulnerableStateMessage($this->lng));
     }
     if ($form === null) {
         $form = $this->buildForm();
     }
     $this->tpl->setContent($this->ctrl->getHTML($form));
 }
 private function populateQuestionNavigation(ilTemplate $tpl)
 {
     require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionRelatedNavigationBarGUI.php';
     $navGUI = new ilAssQuestionRelatedNavigationBarGUI($this->ctrl, $this->lng);
     $navGUI->setInstantResponseCmd(self::CMD_INSTANT_RESPONSE);
     $navGUI->setHintRequestCmd(self::CMD_GATEWAY_CONFIRM_HINT_REQUEST);
     $navGUI->setHintListCmd(self::CMD_GATEWAY_SHOW_HINT_LIST);
     $navGUI->setInstantResponseEnabled($this->previewSettings->isInstantFeedbackNavigationRequired());
     $navGUI->setHintProvidingEnabled($this->previewSettings->isHintProvidingEnabled());
     $navGUI->setHintRequestsPossible($this->hintTracking->requestsPossible());
     $navGUI->setHintRequestsExist($this->hintTracking->requestsExist());
     $tpl->setVariable('QUESTION_NAVIGATION', $this->ctrl->getHTML($navGUI));
 }
 private function showCmd()
 {
     ilUtil::sendInfo($this->lng->txt('tst_skl_res_interpretation_hint_msg'));
     $selectedSkillProfile = ilTestSkillEvaluationToolbarGUI::fetchSkillProfileParam($_POST);
     $testSession = $this->getTestSession();
     $this->skillEvaluation->setUserId($testSession->getUserId());
     $this->skillEvaluation->setActiveId($testSession->getActiveId());
     $this->skillEvaluation->setPass($testSession->getPass());
     $settings = new ilSetting('assessment');
     $this->skillEvaluation->setNumRequiredBookingsForSkillTriggering($settings->get('ass_skl_trig_num_answ_barrier', ilObjAssessmentFolder::DEFAULT_SKL_TRIG_NUM_ANSWERS_BARRIER));
     $testResults = $this->getTestResults();
     $this->skillEvaluation->init($this->getQuestionList());
     $this->skillEvaluation->evaluate($testResults);
     $evaluationToolbarGUI = $this->buildEvaluationToolbarGUI($selectedSkillProfile);
     $personalSkillsGUI = $this->buildPersonalSkillsGUI($testSession->getUserId(), $selectedSkillProfile);
     $this->tpl->setContent($this->ctrl->getHTML($evaluationToolbarGUI) . $this->ctrl->getHTML($personalSkillsGUI));
 }
 /**
  * command for processing the submitted feedback editing form.
  * first it validates the submitted values.
  * - in case of successfull validation it saves the properties and redirects to either form presentation again,
  *   or to the syncWithOriginal form for question
  * - in case of failed validation it renders the form with post values and error info to the content area again
  * 
  * @access private
  */
 private function saveCmd()
 {
     $form = $this->buildForm();
     $form->setValuesByPost();
     if ($form->checkInput()) {
         $this->feedbackOBJ->saveGenericFormProperties($form);
         $this->feedbackOBJ->saveSpecificFormProperties($form);
         $this->questionOBJ->cleanupMediaObjectUsage();
         if ($this->isSyncAfterSaveRequired()) {
             ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
             $this->ctrl->redirect($this, self::CMD_SHOW_SYNC);
         }
         ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
         $this->ctrl->redirect($this, self::CMD_SHOW);
     }
     ilUtil::sendFailure($this->lng->txt('form_input_not_valid'));
     $this->tpl->setContent($this->ctrl->getHTML($form));
 }
 private function showCmd()
 {
     $this->initColumns();
     $this->setData($this->buildTableRowsArray($this->getUniqueAssignedSkillsStats()));
     $this->myTpl->setContent($this->myCtrl->getHTML($this));
 }