56 $this->
user = $DIC->user();
57 $this->survey_service =
$DIC->survey()->internal();
59 $this->
lng = $DIC->language();
60 $this->nav_history =
$DIC[
"ilNavigationHistory"];
61 $this->
tabs = $DIC->tabs();
62 $this->
help = $DIC[
"ilHelp"];
63 $this->rbacsystem =
$DIC->rbac()->system();
64 $this->tree =
$DIC->repositoryTree();
65 $this->tpl =
$DIC[
"tpl"];
66 $this->
toolbar = $DIC->toolbar();
67 $this->
access = $DIC->access();
68 $this->
locator = $DIC[
"ilLocator"];
70 $ilCtrl =
$DIC->ctrl();
75 $this->
ctrl = $ilCtrl;
76 $this->
ctrl->saveParameter($this,
"ref_id");
80 $this->invitation_manager = $this->survey_service->domain()->participants()->invitations();
82 $this->execution_request = $this->survey_service
89 if ($this->
object->getType() !==
"svy") {
92 if ($this->
object && $this->
object->getType() ===
"svy") {
97 $this->status_manager = $this->survey_service
101 $this->feature_config = $this->survey_service->domain()
102 ->modeFeatureConfig($this->
object->getMode());
103 $this->run_manager = $this->survey_service->domain()
105 $this->access_manager = $this->survey_service
107 ->access($this->requested_ref_id, $this->
user->getId());
109 $this->edit_request = $this->survey_service
116 if (!
$DIC->globalScreen()->tool()->context()->stack()->hasMatch(
117 $DIC->globalScreen()->tool()->context()->collection()->repository()
119 $DIC->globalScreen()->tool()->context()->claim()->repository();
135 $cmd = $this->
ctrl->getCmd(
"properties");
138 if ($cmd ===
"saveTags") {
139 $this->
ctrl->setCmdClass(
"ilinfoscreengui");
143 if (!$this->
ctrl->getCmdClass() && $cmd ===
"questionsrepo") {
144 $this->
ctrl->setParameterByClass(
"ilsurveyeditorgui",
"pgov",
"1");
145 $this->
ctrl->redirectByClass(
"ilsurveyeditorgui",
"questions");
148 $next_class = $this->
ctrl->getNextClass($this);
149 if ($next_class !==
"") {
150 $this->
ctrl->setReturn($this,
"properties");
156 $this->log->debug(
"next_class= $next_class");
157 switch ($next_class) {
158 case 'illtiproviderobjectsettinggui':
160 $ilTabs->activateTab(
"settings");
161 $ilTabs->activateSubTab(
'lti_provider');
163 $lti_gui->setCustomRolesForSelection(
$GLOBALS[
'DIC']->
rbac()->review()->getLocalRoles($this->
object->getRefId()));
164 $lti_gui->offerLTIRolesForSelection(
false);
165 $this->
ctrl->forwardCommand($lti_gui);
169 case "ilinfoscreengui":
171 $this->
ctrl->getCmdClass(),
172 array(
'ilpublicuserprofilegui',
'ilobjportfoliogui')
178 $ilTabs->clearTargets();
180 $this->
ctrl->forwardCommand($info);
184 case 'ilobjectmetadatagui':
186 $ilTabs->activateTab(
"meta_data");
189 $this->
ctrl->forwardCommand($md_gui);
192 case "ilsurveyevaluationgui":
196 $ilTabs->activateTab(
"svy_results");
199 $this->
ctrl->forwardCommand($eval_gui);
203 case "ilsurveyexecutiongui":
204 $ilTabs->clearTargets();
206 $this->
ctrl->forwardCommand($exec_gui);
209 case 'ilpermissiongui':
210 $ilTabs->activateTab(
"perm_settings");
213 $this->
ctrl->forwardCommand($perm_gui);
216 case 'ilobjectcopygui':
219 $this->
ctrl->forwardCommand($cp);
222 case "ilcommonactiondispatchergui":
224 $this->
ctrl->forwardCommand($gui);
228 case 'ilsurveyskillgui':
229 $ilTabs->activateTab(
"survey_competences");
231 $this->
ctrl->forwardCommand($gui);
234 case 'ilsurveyskilldeterminationgui':
235 $ilTabs->activateTab(
"maintenance");
237 $this->
ctrl->forwardCommand($gui);
240 case 'ilsurveyeditorgui':
242 $ilTabs->activateTab(
"survey_questions");
244 $this->
ctrl->forwardCommand($gui);
247 case 'ilsurveyconstraintsgui':
249 $ilTabs->activateTab(
"constraints");
251 $this->
ctrl->forwardCommand($gui);
254 case 'ilsurveyparticipantsgui':
255 if (!$this->feature_config->usesAppraisees()) {
256 $ilTabs->activateTab(
"maintenance");
258 $ilTabs->activateTab(
"survey_360_appraisees");
261 $this->
ctrl->forwardCommand($gui);
264 case "illearningprogressgui":
265 $ilTabs->activateTab(
"learning_progress");
270 $this->
ctrl->forwardCommand($new_gui);
274 $ilTabs->activateTab(
"export");
276 $exp_gui->addFormat(
"xml");
277 $this->
ctrl->forwardCommand($exp_gui);
284 $this->log->debug(
"Default cmd= $cmd");
290 if (strtolower($this->edit_request->getBaseClass()) !==
"iladministrationgui" &&
291 $this->getCreationMode() !==
true) {
292 $this->tpl->printToStdout();
307 $external_rater = $this->status_manager->isExternalRater();
311 $this->
ctrl->setParameterByClass(
"ilobjsurveygui",
"ref_id", $this->ref_id);
312 $link = $this->
ctrl->getLinkTargetByClass(
"ilobjsurveygui",
"infoScreen");
313 $this->nav_history->addItem($this->ref_id, $link,
"svy");
324 $this->
ctrl->setCmdClass(get_class($eval_gui));
325 $this->
ctrl->redirect($eval_gui,
"openEvaluation");
332 foreach ($templates as $item) {
333 $a_options[
"svytpl_" . $item[
"id"]] = array($item[
"title"],
334 nl2br(trim($item[
"description"])));
339 $a_options[
"svy360_1"] = array($this->
lng->txt(
"survey_360_mode"),
340 $this->lng->txt(
"survey_360_mode_info"));
343 $a_options[
"svyselfeval_1"] = array($this->
lng->txt(
"svy_self_ev_mode"),
344 $this->lng->txt(
"svy_self_ev_info"));
347 $a_options[
"individfeedb_1"] = array($this->
lng->txt(
"svy_ind_feedb_mode"),
348 $this->lng->txt(
"svy_ind_feedb_info"));
354 $new_object->loadFromDb();
365 $svy_mode = $new_object->getMode();
373 $new_object->saveToDB();
376 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"object_added"),
true);
378 $new_object->
getRefId() .
"&cmd=properties");
387 if (is_null($this->
object)) {
396 $ilHelp->setScreenIdComponent(
"svy");
399 $this->tabs_gui->addTab(
401 $this->
lng->txt(
"survey_questions"),
402 $this->ctrl->getLinkTargetByClass(array(
"ilsurveyeditorgui",
"ilSurveyPageEditGUI"),
"renderPage")
407 $this->tabs_gui->addTab(
409 $this->
lng->txt(
"info_short"),
410 $this->ctrl->getLinkTarget($this,
'infoScreen')
416 $this->tabs_gui->addTab(
418 $this->
lng->txt(
"settings"),
419 $this->ctrl->getLinkTarget($this,
'properties')
422 if ($this->feature_config->usesAppraisees() &&
423 $this->object->get360SelfRaters() &&
424 $this->object->isAppraisee(
$ilUser->getId()) &&
425 !$this->object->isAppraiseeClosed(
$ilUser->getId())) {
426 $this->tabs_gui->addTab(
427 "survey_360_edit_raters",
428 $this->
lng->txt(
"survey_360_edit_raters"),
429 $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui',
'editRaters')
440 $this->tabs_gui->addTab(
442 $this->
lng->txt(
"constraints"),
443 $this->ctrl->getLinkTargetByClass(
"ilsurveyconstraintsgui",
"constraints")
450 if ($this->
object->getSkillService() && $skmg_set->isActivated()) {
451 $this->tabs_gui->addTab(
452 "survey_competences",
453 $this->
lng->txt(
"survey_competences"),
454 $this->ctrl->getLinkTargetByClass(
"ilsurveyskillgui",
"listQuestionAssignment")
460 $this->tabs_gui->addTab(
461 "survey_360_appraisees",
462 $this->
lng->txt(
"survey_360_appraisees"),
463 $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui',
'listAppraisees')
466 $this->tabs_gui->addTab(
468 $this->
lng->txt(
"maintenance"),
469 $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui',
'maintenance')
474 if ($this->access_manager->canAccessEvaluation()) {
476 $this->tabs_gui->addTab(
478 $this->
lng->txt(
"svy_results"),
479 $this->ctrl->getLinkTargetByClass(
"ilsurveyevaluationgui",
"openEvaluation")
485 $this->tabs_gui->addTarget(
487 $this->
ctrl->getLinkTargetByClass(array(
"ilobjsurveygui",
"illearningprogressgui"),
""),
489 array(
"illplistofobjectsgui",
"illplistofsettingsgui",
"illearningprogressgui",
"illplistofprogressgui")
496 $mdtab = $mdgui->getTab();
498 $this->tabs_gui->addTab(
500 $this->
lng->txt(
"meta_data"),
506 $this->tabs_gui->addTab(
508 $this->
lng->txt(
"export"),
509 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
"")
515 $this->tabs_gui->addTab(
517 $this->
lng->txt(
"perm_settings"),
518 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm")
530 $settings_ui = $this->survey_service->gui()->surveySettings($this->survey);
532 $form = $settings_ui->form(
"ilObjSurveyGUI");
533 if ($settings_ui->checkForm($form)) {
534 $settings_ui->saveForm($form);
538 $this->run_manager->clearCode();
540 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"settings_saved"),
true);
541 $this->
ctrl->redirect($this,
"properties");
544 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"form_input_not_valid"));
545 $form->setValuesByPost();
551 $form = $this->survey_service
552 ->gui()->surveySettings($this->survey)->form(
"ilObjSurveyGUI");
559 if ($a_section ===
'settings') {
560 $this->tabs_gui->addSubTabTarget(
562 $this->
ctrl->getLinkTarget($this,
'properties')
566 if ($lti_settings->hasSettingsAccess()) {
567 $this->tabs_gui->addSubTabTarget(
569 $this->
ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
582 $ilTabs = $this->
tabs;
583 $ilHelp = $this->help;
585 $this->checkPermission(
"write");
587 $this->addSubTabs(
'settings');
588 $ilTabs->activateTab(
"settings");
589 $ilTabs->activateSubTab(
'settings');
591 if ($this->
object->get360Mode()) {
592 $ilHelp->setScreenId(
"settings_360");
596 $a_form = $this->initPropertiesForm();
599 $this->tpl->setContent($a_form->getHTML());
604 $fields = array(
'login',
'firstname',
'lastname',
'email');
607 $auto->setSearchFields($fields);
608 $auto->setResultField(
'login');
609 $auto->enableFieldSearchableCheck(
true);
610 $auto->setMoreLinkAvailable(
true);
612 if ($this->edit_request->getFetchAll()) {
627 $form->setTarget(
"_top");
628 $form->setFormAction($this->
ctrl->getFormAction($this));
629 $form->setTitle($this->
lng->txt(
"import_svy"));
632 $fi->setSuffixes(array(
"zip"));
633 $fi->setRequired(
true);
637 $questionspools = $svy->getAvailableQuestionpools(
true,
true,
true);
640 $pools->setOptions(array(
"" => $this->
lng->txt(
"dont_use_questionpool")) + $questionspools);
641 $pools->setRequired(
false);
642 $form->addItem($pools);
644 $form->addCommandButton(
"importSurvey", $this->
lng->txt(
"import"));
645 $form->addCommandButton(
"cancel", $this->
lng->txt(
"cancel"));
654 $new_type = $this->edit_request->getNewType();
657 $this->checkPermission(
"create",
"", $new_type);
659 $this->
lng->loadLanguageModule($new_type);
660 $this->
ctrl->setParameter($this,
"new_type", $new_type);
662 $form = $this->initImportForm($new_type);
663 if ($form->checkInput()) {
665 $newObj->setType($new_type);
666 $newObj->setTitle(
"dummy");
667 $newObj->create(
true);
668 $this->putObjectInTree($newObj);
672 $this->log->debug(
"form->getInput(spl) = " . $form->getInput(
"spl"));
674 $error = $newObj->importObject($_FILES[
"importfile"], (
int) $form->getInput(
"spl"));
677 $this->tpl->setOnScreenMessage(
'failure', $error);
681 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"object_imported"),
true);
683 "&baseClass=ilObjSurveyGUI");
689 $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/questions/jquery.js");
692 $this->tpl->setCurrentBlock(
"template_option");
693 $this->tpl->setVariable(
"VAL_TEMPLATE_OPTION",
"");
694 $this->tpl->setVariable(
"TXT_TEMPLATE_OPTION", $this->
lng->txt(
"none"));
695 $this->tpl->parseCurrentBlock();
697 foreach ($templates as $item) {
698 $this->tpl->setCurrentBlock(
"template_option");
699 $this->tpl->setVariable(
"VAL_TEMPLATE_OPTION", $item[
"id"]);
700 $this->tpl->setVariable(
"TXT_TEMPLATE_OPTION", $item[
"title"]);
701 $this->tpl->parseCurrentBlock();
703 $desc = str_replace([
"\n",
"\r"],
"", nl2br($item[
"description"]));
705 $this->tpl->setCurrentBlock(
"js_data");
706 $this->tpl->setVariable(
"JS_DATA_ID", $item[
"id"]);
707 $this->tpl->setVariable(
"JS_DATA_TEXT", $desc);
708 $this->tpl->parseCurrentBlock();
711 $this->tpl->setCurrentBlock(
"templates");
712 $this->tpl->setVariable(
"TXT_TEMPLATE", $this->
lng->txt(
"svy_settings_template"));
713 $this->tpl->parseCurrentBlock();
718 $form->setValuesByPost();
719 $tpl->setContent($form->getHTML());
734 $this->
ctrl->setCmd(
"showSummary");
735 $this->
ctrl->setCmdClass(
"ilinfoscreengui");
744 $ilTabs = $this->tabs;
745 if (!$this->access_manager->canAccessInfoScreen()) {
746 $this->noPermission();
748 $ilTabs->activateTab(
"info_short");
750 $info = $this->survey_service->gui()->infoScreen($this, $this->
toolbar);
752 $this->
ctrl->forwardCommand($info);
757 $ilLocator = $this->locator;
758 switch ($this->
ctrl->getCmd()) {
764 case "redirectQuestion":
765 $ilLocator->addItem($this->
object->getTitle(), $this->ctrl->getLinkTarget($this,
"infoScreen"),
"", $this->requested_ref_id);
768 case "checkEvaluationAccess":
769 case "evaluationdetails":
770 case "evaluationuser":
771 $ilLocator->addItem($this->
object->getTitle(), $this->ctrl->getLinkTargetByClass(
"ilsurveyevaluationgui",
"evaluation"),
"", $this->requested_ref_id);
780 $ilLocator->addItem($this->
object->getTitle(), $this->ctrl->getLinkTarget($this,
"infoScreen"),
"", $this->requested_ref_id);
783 if ($this->edit_request->getQuestionId() > 0 &&
784 !$this->edit_request->getNewForSurvey()) {
787 $q_id = $this->edit_request->getQuestionId();
789 $this->
ctrl->setParameterByClass($q_type,
"q_id", $q_id);
792 $this->
ctrl->getLinkTargetByClass(array(
"ilSurveyEditorGUI", $q_type),
"editQuestion")
807 $main_tpl =
$DIC->ui()->mainTemplate();
809 $request =
$DIC->survey()->internal()->gui()->execution()->request();
810 $a_access_code = $request->getAccessCode();
812 $ilAccess =
$DIC->access();
814 $ctrl =
$DIC->ctrl();
816 $t_arr = explode(
"_", $a_target);
818 if ($a_access_code ===
"" && isset($t_arr[1])) {
819 $a_access_code = $t_arr[1];
823 if ($a_access_code !==
'') {
824 $sess =
$DIC->survey()->internal()->repo()
825 ->execution()->runSession();
827 $ctrl->setParameterByClass(
"ilObjSurveyGUI",
"ref_id",
$ref_id);
828 $ctrl->redirectByClass(
"ilObjSurveyGUI",
"infoScreen");
832 if ($ilAccess->checkAccess(
"write",
"",
$ref_id)) {
833 $ctrl->setParameterByClass(
"ilObjSurveyGUI",
"ref_id",
$ref_id);
834 $ctrl->redirectByClass(
"ilObjSurveyGUI",
"infoScreen");
838 if ($ilAccess->checkAccess(
"visible",
"",
$ref_id) ||
839 $ilAccess->checkAccess(
"read",
"",
$ref_id)) {
840 $am =
$DIC->survey()->internal()->domain()->access(
$ref_id,
$DIC->user()->getId());
841 if ( $am->canAccessEvaluation()) {
842 $ctrl->setParameterByClass(
"ilObjSurveyGUI",
"ref_id",
$ref_id);
843 $ctrl->redirectByClass([
"ilObjSurveyGUI",
"ilSurveyEvaluationGUI"],
"openEvaluation");
846 $ctrl->setParameterByClass(
"ilObjSurveyGUI",
"ref_id",
$ref_id);
847 $ctrl->redirectByClass(
"ilObjSurveyGUI",
"infoScreen");
849 $main_tpl->setOnScreenMessage(
'failure', sprintf(
850 $lng->txt(
"msg_no_perm_read_item"),
863 $rtpl = new
ilTemplate(
"tpl.svy_view_user_results.html",
true,
true,
"Modules/Survey");
865 $show_titles = $this->
object->getShowQuestionTitles();
867 foreach ($this->
object->getSurveyPages() as $page) {
868 if (count($page) > 0) {
870 if (count($page) > 1) {
871 if ($page[0][
"questionblock_show_blocktitle"]) {
872 $rtpl->
setVariable(
"BLOCK_TITLE", trim($page[0][
"questionblock_title"]));
877 foreach ($page as $question) {
878 $question_gui = $this->
object->getQuestionGUI($question[
"type_tag"], $question[
"question_id"]);
879 $rtpl->setCurrentBlock(
"question_bl");
882 if (strlen($question[
"heading"])) {
883 $rtpl->setVariable(
"HEADING", trim($question[
"heading"]));
888 $question_gui->getPrintView(
890 (
bool) $question[
"questionblock_show_questiontext"],
891 $this->object->getId(),
892 $this->object->loadWorkingData($question[
"question_id"], $a_active_id)
896 $rtpl->parseCurrentBlock();
899 $rtpl->setCurrentBlock(
"block_bl");
900 $rtpl->parseCurrentBlock();
914 $ilTabs = $this->tabs;
916 $anonymous_code = $this->run_manager->getCode();
917 $active_id = $this->
object->getActiveID(
$ilUser->getId(), $anonymous_code, 0);
919 if (!$this->run_manager->hasFinished() ||
921 $this->
ctrl->redirect($this,
"infoScreen");
924 $ilTabs->clearTargets();
925 $ilTabs->setBackTarget(
926 $this->
lng->txt(
"btn_back"),
927 $this->ctrl->getLinkTarget($this,
"infoScreen")
930 $html = $this->getUserResultsTable($active_id);
931 $tpl->setContent($html);
942 $show_titles = (bool) $this->
object->getShowQuestionTitles();
944 foreach ($this->
object->getSurveyPages() as $page) {
945 if (count($page) > 0) {
946 $res[] =
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
949 if (count($page) > 1) {
950 if ($page[0][
"questionblock_show_blocktitle"]) {
951 $res[$this->
lng->txt(
"questionblock")] = trim($page[0][
"questionblock_title"]) .
"\n";
959 foreach ($page as $question) {
960 $question_gui = $this->
object->getQuestionGUI($question[
"type_tag"], $question[
"question_id"]);
961 $question_parts = array();
964 if (strlen($question[
"heading"])) {
965 $question_parts[$this->
lng->txt(
"heading")] = trim($question[
"heading"]);
969 $question_parts[$this->
lng->txt(
"title")] = trim($question[
"title"]);
972 if ($question[
"questionblock_show_questiontext"]) {
973 $question_parts[$this->
lng->txt(
"question")] = trim(strip_tags($question_gui->object->getQuestionText()));
976 $answers = $question_gui->getParsedAnswers(
977 $this->
object->loadWorkingData($question[
"question_id"], $a_active_id),
981 if (count($answers)) {
983 if (count($answers) > 1 ||
984 get_class($question_gui) ===
"SurveyTextQuestionGUI") {
989 foreach ($answers as $answer) {
991 if ($answer[
"textanswer"] ??
false) {
992 $text =
' ("' . $answer[
"textanswer"] .
'")';
994 if (!isset($answer[
"cols"])) {
995 if (isset($answer[
"title"])) {
996 $parts[] = $answer[
"title"] . $text;
997 } elseif (isset($answer[
"value"])) {
998 $parts[] = $answer[
"value"];
1000 $parts[] = substr($text, 2, -1);
1006 foreach ($answer[
"cols"] as $col) {
1007 $tmp[] = $col[
"title"];
1009 $parts[] = $answer[
"title"] .
": " . implode(
", ", $tmp) . $text;
1012 $question_parts[$this->
lng->txt(
"answer")] =
1013 ($multiline ?
"\n" :
"") . implode(
"\n",
$parts);
1017 foreach ($question_parts as
$type => $value) {
1018 $tmp[] =
$type .
": " . $value;
1020 $page_res[] = implode(
"\n", $tmp);
1023 $res[] = implode(
"\n\n-------------------------------\n\n", $page_res);
1027 $res[] =
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
1029 return implode(
"\n",
$res);
1032 public function sendUserResultsMail(
1038 $finished = $this->
object->getSurveyParticipants(array($a_active_id));
1039 $finished = array_pop($finished);
1043 $body .= $this->
lng->txt(
"svy_mail_own_results_body") .
"\n";
1044 $body .=
"\n" . $this->
lng->txt(
"obj_svy") .
": " . $this->
object->getTitle() .
"\n";
1046 $body .=
"\n" . $this->
lng->txt(
"survey_results_finished") .
": " . $finished .
"\n\n";
1048 if ($this->
object->hasMailOwnResults()) {
1049 $subject =
"svy_mail_own_results_subject";
1050 $body .= $this->getUserResultsPlain($a_active_id);
1052 $subject =
"svy_mail_confirmation_subject";
1059 $senderFactory =
$GLOBALS[
"DIC"][
"mail.mime.sender.factory"];
1062 $mmail->From($senderFactory->system());
1063 $mmail->To($a_recipient);
1064 $mmail->Subject(sprintf($this->
lng->txt($subject), $this->object->getTitle()),
true);
1065 $mmail->Body($body);
1073 $anonymous_code = $this->run_manager->getCode();
1074 $active_id = $this->
object->getActiveID(
$ilUser->getId(), $anonymous_code, 0);
1075 if (!$this->run_manager->hasFinished() ||
1077 $this->
ctrl->redirect($this,
"infoScreen");
1080 $recipient = $this->edit_request->getMail();
1082 $recipient =
$ilUser->getEmail();
1085 $this->
ctrl->redirect($this,
"infoScreen");
1088 $this->sendUserResultsMail($active_id, $recipient);
1090 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"mail_sent"),
true);
1091 $this->
ctrl->redirect($this,
"infoScreen");
1098 string $a_rbac_permission,
1099 string $a_position_permission
1102 return $access->checkRbacOrPositionPermissionAccess(
1104 $a_position_permission,
1105 $this->
object->getRefId()
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
setVariable($variable, $value='')
Sets a variable value.
static _getTitle(int $question_id)
Returns the question title of a question with a given id.
static _getQuestionType(int $question_id)
Returns the question type of a question with a given id.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
@classDescription Date and time handling
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
loadLanguageModule(string $a_module)
Load language module.
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getLink(?int $a_ref_id, string $a_type='', array $a_params=array(), string $append="")
static getLogger(string $a_component_id)
Get component logger.
Component logger with individual log levels by component id.
static getSalutation(int $a_usr_id, ?ilLanguage $a_language=null)
static _getInstallationSignature()
Navigation History of Repository Items.
static _hasEvaluationAccess(int $a_obj_id, int $user_id)
ILIAS Survey Execution ExecutionGUIRequest $execution_request
propertiesObject(ilPropertyFormGUI $a_form=null)
Display the properties form.
ILIAS Survey Access AccessManager $access_manager
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
ILIAS Survey InternalService $survey_service
ILIAS Survey Mode FeatureConfig $feature_config
addDidacticTemplateOptions(array &$a_options)
Add custom templates.
getUserResultsTable(int $a_active_id)
ilNavigationHistory $nav_history
ILIAS Survey Participants StatusManager $status_manager
Participants InvitationsManager $invitation_manager
afterSave(ilObject $new_object)
Post (successful) object creation hook.
ILIAS Survey Editing EditingGUIRequest $edit_request
static _goto(string $a_target)
redirect script
infoScreen()
show information screen
evaluationObject()
Redirects the evaluation object call to the ilSurveyEvaluationGUI class Coming from ListGUI....
addLocatorItems()
should be overwritten to add object specific items (repository items are preloaded)
ILIAS Survey Execution RunManager $run_manager
addSubTabs(string $a_section)
initImportForm(string $new_type)
getTabs()
@abstract overwrite in derived GUI class of your object type
getUserResultsPlain(int $a_active_id)
checkRbacOrPositionPermission(string $a_rbac_permission, string $a_position_permission)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const EVALUATION_ACCESS_PARTICIPANTS
GUI class for the workflow of copying objects.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ilObjectGUI Basic methods of all Output classes.
__construct($data, int $id=0, bool $call_by_reference=true, bool $prepare_output=true)
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
setCreationMode(bool $mode=true)
if true, a creation screen is displayed the current [ref_id] don't belong to the current class!...
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
addHeaderAction()
Add header action menu.
getDidacticTemplateVar(string $type)
Get didactic template setting from creation screen.
prepareOutput(bool $show_sub_objects=true)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupObjId(int $ref_id)
static _lookupTitle(int $obj_id)
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
class ilRbacSystem system function like checkAccess, addActiveRole ... Supporting system functions ar...
static getAllSettingsTemplates(string $a_type, bool $a_include_auto_generated=false)
Get all settings templates of type.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Survey execution graphical output.
Class ilSurveyParticipantsGUI.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
special template class to simplify handling of ITX/PEAR
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
static is_email(string $a_email, ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
This preg-based function checks whether an e-mail address is formally valid.
static redirect(string $a_script)
if(!file_exists(getcwd() . '/ilias.ini.php'))
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface ilCtrlBaseClassInterface describes ilCtrl base classes.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...