4include_once 
"./Services/Object/classes/class.ilObjectGUI.php";
 
   55        $this->lng = 
$DIC->language();
 
   56        $this->nav_history = 
$DIC[
"ilNavigationHistory"];
 
   57        $this->tabs = 
$DIC->tabs();
 
   58        $this->
user = $DIC->user();
 
   59        $this->help = 
$DIC[
"ilHelp"];
 
   60        $this->rbacsystem = 
$DIC->rbac()->system();
 
   61        $this->tree = 
$DIC->repositoryTree();
 
   62        $this->tpl = 
$DIC[
"tpl"];
 
   63        $this->toolbar = 
$DIC->toolbar();
 
   64        $this->access = 
$DIC->access();
 
   65        $this->locator = 
$DIC[
"ilLocator"];
 
   70        $lng->loadLanguageModule(
"survey");
 
   71        $lng->loadLanguageModule(
"svy");
 
   73        $this->ctrl->saveParameter($this, 
"ref_id");
 
   77        parent::__construct(
"", (
int) 
$_GET[
"ref_id"], 
true, 
false);
 
   85        $this->external_rater_360 = 
false;
 
   86        if (!$this->creation_mode &&
 
   87            $this->object->get360Mode() &&
 
   88            $_SESSION[
"anonymous_id"][$this->object->getId()] &&
 
   90                $this->object->getRefId(),
 
   91                $_SESSION[
"anonymous_id"][$this->object->getId()]
 
   93            $this->external_rater_360 = 
true;
 
   96        if (!$this->external_rater_360) {
 
  105                $this->ctrl->setParameterByClass(
"ilobjsurveygui", 
"ref_id", $this->ref_id);
 
  106                $link = $this->ctrl->getLinkTargetByClass(
"ilobjsurveygui", 
"");
 
  107                $ilNavigationHistory->addItem($this->ref_id, $link, 
"svy");
 
  111        $cmd = $this->ctrl->getCmd(
"properties");
 
  114        if ($cmd == 
"saveTags") {
 
  115            $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
  119        if (!$this->ctrl->getCmdClass() && $cmd == 
"questionsrepo") {
 
  120            $_REQUEST[
"pgov"] = 1;
 
  121            $this->ctrl->setCmd(
"questions");
 
  122            $this->ctrl->setCmdClass(
"ilsurveyeditorgui");
 
  125        $next_class = $this->ctrl->getNextClass($this);
 
  126        $this->ctrl->setReturn($this, 
"properties");
 
  130        $this->log->debug(
"next_class= $next_class");
 
  131        switch ($next_class) {
 
  132            case 'illtiproviderobjectsettinggui':
 
  134                $ilTabs->activateTab(
"settings");
 
  135                $ilTabs->activateSubTab(
'lti_provider');
 
  137                $lti_gui->setCustomRolesForSelection(
$GLOBALS[
'DIC']->rbac()->review()->getLocalRoles($this->object->getRefId()));
 
  138                $lti_gui->offerLTIRolesForSelection(
false);
 
  139                $this->ctrl->forwardCommand($lti_gui);
 
  143            case "ilinfoscreengui":
 
  145                    $this->ctrl->getCmdClass(),
 
  146                    array(
'ilpublicuserprofilegui', 
'ilobjportfoliogui')
 
  152                    $ilTabs->clearTargets();
 
  153                    include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
  155                    $this->ctrl->forwardCommand(
$info);
 
  159            case 'ilobjectmetadatagui':
 
  161                $ilTabs->activateTab(
"meta_data");
 
  163                include_once 
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
 
  165                $this->ctrl->forwardCommand($md_gui);
 
  168            case "ilsurveyevaluationgui":
 
  169                $ilTabs->activateTab(
"svy_results");
 
  171                include_once(
"./Modules/Survey/classes/class.ilSurveyEvaluationGUI.php");
 
  173                $this->ctrl->forwardCommand($eval_gui);
 
  176            case "ilsurveyexecutiongui":
 
  177                $ilTabs->clearTargets();
 
  178                include_once(
"./Modules/Survey/classes/class.ilSurveyExecutionGUI.php");
 
  180                $this->ctrl->forwardCommand($exec_gui);
 
  183            case 'ilpermissiongui':
 
  184                $ilTabs->activateTab(
"perm_settings");
 
  186                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
  188                $this->ctrl->forwardCommand($perm_gui);
 
  191            case 'ilobjectcopygui':
 
  192                include_once 
'./Services/Object/classes/class.ilObjectCopyGUI.php';
 
  195                $this->ctrl->forwardCommand($cp);
 
  198            case "ilcommonactiondispatchergui":
 
  199                include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
 
  201                $this->ctrl->forwardCommand($gui);
 
  205            case 'ilsurveyskillgui':
 
  206                $ilTabs->activateTab(
"survey_competences");
 
  207                include_once(
"./Modules/Survey/classes/class.ilSurveySkillGUI.php");
 
  209                $this->ctrl->forwardCommand($gui);
 
  212            case 'ilsurveyskilldeterminationgui':
 
  213                $ilTabs->activateTab(
"maintenance");
 
  214                include_once(
"./Modules/Survey/classes/class.ilSurveySkillDeterminationGUI.php");
 
  216                $this->ctrl->forwardCommand($gui);
 
  219            case 'ilsurveyeditorgui':
 
  221                $ilTabs->activateTab(
"survey_questions");
 
  222                include_once(
"./Modules/Survey/classes/class.ilSurveyEditorGUI.php");
 
  224                $this->ctrl->forwardCommand($gui);
 
  227            case 'ilsurveyconstraintsgui':
 
  229                $ilTabs->activateTab(
"constraints");
 
  230                include_once(
"./Modules/Survey/classes/class.ilSurveyConstraintsGUI.php");
 
  232                $this->ctrl->forwardCommand($gui);
 
  235            case 'ilsurveyparticipantsgui':
 
  237                    $ilTabs->activateTab(
"maintenance");
 
  239                    $ilTabs->activateTab(
"survey_360_appraisees");
 
  241                include_once(
"./Modules/Survey/classes/class.ilSurveyParticipantsGUI.php");
 
  244                $this->ctrl->forwardCommand($gui);
 
  247            case "illearningprogressgui":
 
  248                $ilTabs->activateTab(
"learning_progress");
 
  249                include_once(
"./Services/Tracking/classes/class.ilLearningProgressGUI.php");
 
  252                    $this->object->getRefId()
 
  254                $this->ctrl->forwardCommand($new_gui);
 
  258                $ilTabs->activateTab(
"export");
 
  259                include_once(
"./Services/Export/classes/class.ilExportGUI.php");
 
  261                $exp_gui->addFormat(
"xml");
 
  262                $this->ctrl->forwardCommand($exp_gui);
 
  269                $this->log->debug(
"Default cmd= $cmd");
 
  275        if (strtolower(
$_GET[
"baseClass"]) != 
"iladministrationgui" &&
 
  290        include_once(
"./Modules/Survey/classes/class.ilSurveyEvaluationGUI.php");
 
  292        $this->ctrl->setCmdClass(get_class($eval_gui));
 
  293        $this->ctrl->redirect($eval_gui, 
"evaluation");
 
  298        include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  301            foreach ($templates as $item) {
 
  302                $a_options[
"svytpl_" . $item[
"id"]] = array($item[
"title"],
 
  303                    nl2br(trim($item[
"description"])));
 
  308        $a_options[
"svy360_1"] = array($this->lng->txt(
"survey_360_mode"),
 
  309            $this->lng->txt(
"survey_360_mode_info"));
 
  312        $a_options[
"svyselfeval_1"] = array($this->lng->txt(
"svy_self_ev_mode"),
 
  313            $this->lng->txt(
"svy_self_ev_info"));
 
  323        $a_new_object->loadFromDb();
 
  327            $a_new_object->applySettingsTemplate(
$tpl);
 
  337        $svy_mode = $a_new_object->getMode();
 
  345        $a_new_object->saveToDB();
 
  348        ilUtil::sendSuccess($this->lng->txt(
"object_added"), 
true);
 
  350            $a_new_object->
getRefId() . 
"&cmd=properties");
 
  367        $ilHelp->setScreenIdComponent(
"svy");
 
  369        $hidden_tabs = array();
 
  370        $template = $this->
object->getTemplate();
 
  372            include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  374            $hidden_tabs = 
$template->getHiddenTabs();
 
  378            $this->tabs_gui->addTab(
 
  380                $this->lng->txt(
"survey_questions"),
 
  381                $this->ctrl->getLinkTargetByClass(array(
"ilsurveyeditorgui", 
"ilsurveypagegui"), 
"renderPage")
 
  386            $this->tabs_gui->addTab(
 
  388                $this->lng->txt(
"info_short"),
 
  389                $this->ctrl->getLinkTarget($this, 
'infoScreen')
 
  395            $this->tabs_gui->addTab(
 
  397                $this->lng->txt(
"settings"),
 
  398                $this->ctrl->getLinkTarget($this, 
'properties')
 
  401            if ($this->object->get360Mode() &&
 
  402                $this->object->get360SelfRaters() &&
 
  403                $this->object->isAppraisee(
$ilUser->getId()) &&
 
  404                !$this->object->isAppraiseeClosed(
$ilUser->getId())) {
 
  405                $this->tabs_gui->addTab(
 
  406                    "survey_360_edit_raters",
 
  407                    $this->lng->txt(
"survey_360_edit_raters"),
 
  408                    $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui', 
'editRaters')
 
  417            !in_array(
"constraints", $hidden_tabs) &&
 
  420            $this->tabs_gui->addTab(
 
  422                $this->lng->txt(
"constraints"),
 
  423                $this->ctrl->getLinkTargetByClass(
"ilsurveyconstraintsgui", 
"constraints")
 
  428            switch ($this->object->getMode()) {
 
  431                    include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
 
  433                    if ($this->object->getSkillService() && $skmg_set->isActivated()) {
 
  434                        $this->tabs_gui->addTab(
 
  435                            "survey_competences",
 
  436                            $this->lng->txt(
"survey_competences"),
 
  437                            $this->ctrl->getLinkTargetByClass(
"ilsurveyskillgui", 
"listQuestionAssignment")
 
  440                    $this->tabs_gui->addTab(
 
  441                        "survey_360_appraisees",
 
  442                        $this->lng->txt(
"survey_360_appraisees"),
 
  443                        $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui', 
'listAppraisees')
 
  448                    include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
 
  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")
 
  457                    $this->tabs_gui->addTab(
 
  459                        $this->lng->txt(
"maintenance"),
 
  460                        $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui', 
'maintenance')
 
  466                    $this->tabs_gui->addTab(
 
  468                        $this->lng->txt(
"maintenance"),
 
  469                        $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui', 
'maintenance')
 
  475        include_once 
"./Modules/Survey/classes/class.ilObjSurveyAccess.php";
 
  480            $this->tabs_gui->addTab(
 
  482                $this->lng->txt(
"svy_results"),
 
  483                $this->ctrl->getLinkTargetByClass(
"ilsurveyevaluationgui", 
"evaluation")
 
  488        include_once 
"./Services/Tracking/classes/class.ilLearningProgressAccess.php";
 
  490            $this->tabs_gui->addTarget(
 
  492                $this->ctrl->getLinkTargetByClass(array(
"ilobjsurveygui", 
"illearningprogressgui"), 
""),
 
  494                array(
"illplistofobjectsgui", 
"illplistofsettingsgui", 
"illearningprogressgui", 
"illplistofprogressgui")
 
  499            if (!in_array(
"meta_data", $hidden_tabs)) {
 
  501                include_once 
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
 
  503                $mdtab = $mdgui->getTab();
 
  505                    $this->tabs_gui->addTab(
 
  507                        $this->lng->txt(
"meta_data"),
 
  513            if (!in_array(
"export", $hidden_tabs)) {
 
  515                $this->tabs_gui->addTab(
 
  517                    $this->lng->txt(
"export"),
 
  518                    $this->ctrl->getLinkTargetByClass(
"ilexportgui", 
"")
 
  525            $this->tabs_gui->addTab(
 
  527                $this->lng->txt(
"perm_settings"),
 
  528                $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm")
 
  551        if (
$form->checkInput()) {
 
  554            if (!$this->object->get360Mode()) {
 
  555                if (
$form->getInput(
"tut")) {
 
  558                    $tut_logins = 
$form->getInput(
"tut_ids");
 
  559                    foreach ($tut_logins as $tut_login) {
 
  561                        if ($tut_id && 
$rbacsystem->checkAccessOfUser($tut_id, 
"write", $this->object->getRefId())) {
 
  562                            $tut_ids[] = $tut_id;
 
  566                        $tut_ids = 
$form->getItemByPostVar(
"tut_ids");
 
  567                        $tut_ids->setAlert($this->lng->txt(
"survey_notification_tutor_recipients_invalid"));
 
  574                if (
$form->getInput(
"rmd")) {
 
  575                    $rmd_start = 
$form->getItemByPostVar(
"rmd_start")->getDate();
 
  576                    $rmd_end = 
$form->getItemByPostVar(
"rmd_end")->getDate();
 
  580                            $rmd_start = $rmd_end;
 
  584                    $this->
object->setReminderStatus(
true);
 
  585                    $this->
object->setReminderStart($rmd_start);
 
  586                    $this->
object->setReminderEnd($rmd_end);
 
  587                    $this->
object->setReminderFrequency(
$form->getInput(
"rmd_freq"));
 
  588                    if (!$this->object->get360Mode()) {
 
  589                        $this->
object->setReminderTarget(
$form->getInput(
"rmd_grp"));
 
  590                        $this->
object->setReminderTemplate((
$form->getInput(
"rmdt") > 0)
 
  591                            ? 
$form->getInput(
"rmdt")
 
  594                        if (
$form->getInput(
"remind_appraisees") && 
$form->getInput(
"remind_raters")) {
 
  596                        } elseif (
$form->getInput(
"remind_appraisees")) {
 
  598                        } elseif (
$form->getInput(
"remind_raters")) {
 
  601                            $this->
object->setReminderTarget(0);
 
  605                    $this->
object->setReminderStatus(
false);
 
  608                if (!$this->object->get360Mode()) {
 
  609                    if (
$form->getInput(
"tut")) {
 
  610                        $this->
object->setTutorNotificationStatus(
true);
 
  611                        $this->
object->setTutorNotificationRecipients($tut_ids); 
 
  612                        $this->
object->setTutorNotificationTarget(
$form->getInput(
"tut_grp"));
 
  614                        $this->
object->setTutorNotificationStatus(
false);
 
  619                if (
$_POST[
'online'] && count($this->object->questions) == 0) {
 
  624                $template_settings = 
null;
 
  625                $template = $this->
object->getTemplate();
 
  627                    include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  629                    $template_settings = 
$template->getSettings();
 
  632                include_once 
'Services/MetaData/classes/class.ilMD.php';
 
  633                $md_obj = 
new ilMD($this->object->getId(), 0, 
"svy");
 
  634                $md_section = $md_obj->getGeneral();
 
  638                $md_section->update();
 
  641                $md_desc_ids = $md_section->getDescriptionIds();
 
  643                    $md_desc = $md_section->getDescription(array_pop($md_desc_ids));
 
  648                $this->
object->setViewOwnResults(
$_POST[
"view_own"]);
 
  649                $this->
object->setMailOwnResults(
$_POST[
"mail_own"]);
 
  650                $this->
object->setMailConfirmation(
$_POST[
"mail_confirm"]);
 
  655                $this->
object->setOfflineStatus((
bool) !
$_POST[
'online']);
 
  656                $this->
object->update();
 
  659                $period = 
$form->getItemByPostVar(
"access_period");
 
  660                if ($period->getStart() && $period->getEnd()) {
 
  661                    $this->
object->setActivationLimited(
true);
 
  662                    $this->
object->setActivationVisibility(
$_POST[
"access_visiblity"]);
 
  663                    $this->
object->setActivationStartDate($period->getStart()->get(
IL_CAL_UNIX));
 
  664                    $this->
object->setActivationEndDate($period->getEnd()->get(
IL_CAL_UNIX));
 
  666                    $this->
object->setActivationLimited(
false);
 
  670                $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->saveTileImage();
 
  673                if (!$template_settings[
"enabled_start_date"][
"hide"]) {
 
  677                        $this->
object->setStartDateAndTime($datetime[0], $datetime[1]);
 
  679                        $this->
object->setStartDate(
null);
 
  683                if (!$template_settings[
"enabled_end_date"][
"hide"]) {
 
  684                    $end = 
$form->getItemByPostVar(
"end_date");
 
  685                    if (
$end->getDate()) {
 
  687                        $this->
object->setEndDateAndTime($datetime[0], $datetime[1]);
 
  689                        $this->
object->setEndDate(
null);
 
  694                include_once 
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
 
  695                $introduction = 
$_POST[
"introduction"];
 
  696                $this->
object->setIntroduction($introduction);
 
  698                $this->
object->setOutro($outro);
 
  700                if (!$template_settings[
"show_question_titles"][
"hide"]) {
 
  701                    $this->
object->setShowQuestionTitles(
$_POST[
"show_question_titles"]);
 
  704                if (!$template_settings[
"use_pool"][
"hide"]) {
 
  705                    $this->
object->setPoolUsage(
$_POST[
"use_pool"]);
 
  708                $this->
object->setMailNotification(
$_POST[
'mailnotification']);
 
  709                $this->
object->setMailAddresses(
$_POST[
'mailaddresses']);
 
  710                $this->
object->setMailParticipantData(
$_POST[
'mailparticipantdata']);
 
  712                switch ($this->object->getMode()) {
 
  714                        $this->
object->set360SelfEvaluation((
bool) 
$_POST[
"self_eval"]);
 
  715                        $this->
object->set360SelfAppraisee((
bool) $_POST[
"self_appr"]);
 
  716                        $this->
object->set360SelfRaters((
bool) $_POST[
"self_rate"]);
 
  717                        $this->
object->set360Results((
int) $_POST[
"ts_res"]);;
 
  718                        $this->
object->setSkillService((
int) $_POST[
"skill_service"]);
 
  721                        $this->
object->setSelfEvaluationResults($_POST[
"self_eval_res"]);
 
  722                        $this->
object->setSkillService((
int) $_POST[
"skill_service"]);
 
  725                        if (!$template_settings[
"evaluation_access"][
"hide"]) {
 
  726                            $this->
object->setEvaluationAccess($_POST[
"evaluation_access"]);
 
  731                            $hide_codes = $template_settings[
"acc_codes"][
"hide"];
 
  732                            $hide_anon = $template_settings[
"anonymization_options"][
"hide"];
 
  733                            if (!$hide_codes || !$hide_anon) {
 
  734                                $current = $this->
object->getAnonymize();
 
  738                                    $codes = (bool) 
$_POST[
"acc_codes"];
 
  744                                    $anon = ((string) 
$_POST[
"anonymization_options"] == 
"statanon");
 
  764                                    $this->
object->setAnonymousUserList($_POST[
"anon_list"]);
 
  768                                unset(
$_SESSION[
"anonymous_id"][$this->object->getId()]);
 
  774                $this->
object->saveToDb();
 
  777                    $this->object->getId(),
 
  784                if (strcmp(
$_SESSION[
"info"], 
"") != 0) {
 
  785                    ilUtil::sendSuccess(
$_SESSION[
"info"] . 
"<br />" . $this->lng->txt(
"settings_saved"), 
true);
 
  787                    ilUtil::sendSuccess($this->lng->txt(
"settings_saved"), 
true);
 
  789                $this->ctrl->redirect($this, 
"properties");
 
  796        $form->setValuesByPost();
 
  809        $template_settings = $hide_rte_switch = 
null;
 
  810        $template = $this->
object->getTemplate();
 
  812            include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  815            $template_settings = 
$template->getSettings();
 
  816            $hide_rte_switch = $template_settings[
"rte_switch"][
"hide"];
 
  819        include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  821        $form->setFormAction($this->ctrl->getFormAction($this));
 
  822        $form->setTableWidth(
"100%");
 
  823        $form->setId(
"survey_properties");
 
  827        $header->setTitle($this->lng->txt(
"settings"));
 
  833        include_once 
'Services/MetaData/classes/class.ilMD.php';
 
  834        $md_obj = 
new ilMD($this->object->getId(), 0, 
"svy");
 
  835        $md_section = $md_obj->getGeneral();
 
  838        $title->setRequired(
true);
 
  839        $title->setValue($md_section->getTitle());
 
  842        $ids = $md_section->getDescriptionIds();
 
  844            $desc_obj = $md_section->getDescription(array_pop($ids));
 
  849            $desc->setValue($desc_obj->getDescription());
 
  850            $form->addItem($desc);
 
  854        $pool_usage = 
new ilRadioGroupInputGUI($this->lng->txt(
"survey_question_pool_usage"), 
"use_pool");
 
  855        $opt = 
new ilRadioOption($this->lng->txt(
"survey_question_pool_usage_active"), 1);
 
  856        $opt->setInfo($this->lng->txt(
"survey_question_pool_usage_active_info"));
 
  857        $pool_usage->addOption($opt);
 
  858        $opt = 
new ilRadioOption($this->lng->txt(
"survey_question_pool_usage_inactive"), 0);
 
  859        $opt->setInfo($this->lng->txt(
"survey_question_pool_usage_inactive_info"));
 
  860        $pool_usage->addOption($opt);
 
  861        $pool_usage->setValue($this->object->getPoolUsage());
 
  862        $form->addItem($pool_usage);
 
  865        if ($this->object->get360Mode()) {
 
  866            $self_eval = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_360_self_evaluation"), 
"self_eval");
 
  867            $self_eval->setInfo($this->lng->txt(
"survey_360_self_evaluation_info"));
 
  868            $self_eval->setChecked($this->object->get360SelfEvaluation());
 
  869            $form->addItem($self_eval);
 
  871            $self_rate = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_360_self_raters"), 
"self_rate");
 
  872            $self_rate->setInfo($this->lng->txt(
"survey_360_self_raters_info"));
 
  873            $self_rate->setChecked($this->object->get360SelfRaters());
 
  874            $form->addItem($self_rate);
 
  876            $self_appr = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_360_self_appraisee"), 
"self_appr");
 
  877            $self_appr->setInfo($this->lng->txt(
"survey_360_self_appraisee_info"));
 
  878            $self_appr->setChecked($this->object->get360SelfAppraisee());
 
  879            $form->addItem($self_appr);
 
  885        include_once 
"Services/Object/classes/class.ilObjectActivation.php";
 
  886        $this->lng->loadLanguageModule(
'rep');
 
  889        $section->setTitle($this->lng->txt(
'rep_activation_availability'));
 
  893        $act_obj_info = $act_ref_info = 
"";
 
  895            $act_obj_info = 
' ' . $this->lng->txt(
'rep_activation_online_object_info');
 
  896            $act_ref_info = $this->lng->txt(
'rep_activation_access_ref_info');
 
  900        $online->setInfo($this->lng->txt(
'svy_activation_online_info') . $act_obj_info);
 
  901        $online->setChecked(!$this->object->getOfflineStatus());
 
  902        $form->addItem($online);
 
  904        include_once 
"Services/Form/classes/class.ilDateDurationInputGUI.php";
 
  906        $dur->setShowTime(
true);
 
  907        $date = $this->
object->getActivationStartDate();
 
  911        $date = $this->
object->getActivationEndDate();
 
  915        $form->addItem($dur);
 
  917        $visible = 
new ilCheckboxInputGUI($this->lng->txt(
'rep_activation_limited_visibility'), 
'access_visiblity');
 
  918        $visible->setInfo($this->lng->txt(
'svy_activation_limited_visibility_info'));
 
  919        $visible->setChecked($this->object->getActivationVisibility());
 
  920        $dur->addSubItem($visible);
 
  924        $section->setTitle($this->lng->txt(
'obj_presentation'));
 
  928        $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addTileImage();
 
  933        $section->setTitle($this->lng->txt(
'svy_settings_section_before_start'));
 
  938        $intro->setValue($this->object->prepareTextareaOutput($this->object->getIntroduction()));
 
  941        $intro->setUseRte(
true);
 
  942        $intro->setInfo($this->lng->txt(
"survey_introduction_info"));
 
  943        include_once 
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
 
  945        $intro->addPlugin(
"latex");
 
  946        $intro->addButton(
"latex");
 
  947        $intro->addButton(
"pastelatex");
 
  948        $intro->setRTESupport($this->object->getId(), 
"svy", 
"survey", 
null, $hide_rte_switch);
 
  949        $form->addItem($intro);
 
  955        $section->setTitle($this->lng->txt(
'svy_settings_section_access'));
 
  959        $start = $this->
object->getStartDate();
 
  962        $startingtime->setShowTime(
true);
 
  966        $form->addItem($startingtime);
 
  969        $end = $this->
object->getEndDate();
 
  972        $endingtime->setShowTime(
true);
 
  976        $form->addItem($endingtime);
 
  979        if (!$this->object->get360Mode()) {
 
  981            $codes->setInfo($this->lng->txt(
"survey_access_codes_info"));
 
  982            $codes->setChecked(!$this->object->isAccessibleWithoutCode());
 
  983            $form->addItem($codes);
 
  986                $codes->setDisabled(
true);
 
  994        $section->setTitle($this->lng->txt(
'svy_settings_section_question_behaviour'));
 
  998        $show_question_titles = 
new ilCheckboxInputGUI($this->lng->txt(
"svy_show_questiontitles"), 
"show_question_titles");
 
  999        $show_question_titles->setValue(1);
 
 1000        $show_question_titles->setChecked($this->object->getShowQuestionTitles());
 
 1001        $form->addItem($show_question_titles);
 
 1007        $info->setTitle($this->lng->txt(
"svy_settings_section_finishing"));
 
 1010        $view_own = 
new ilCheckboxInputGUI($this->lng->txt(
"svy_results_view_own"), 
"view_own");
 
 1011        $view_own->setInfo($this->lng->txt(
"svy_results_view_own_info"));
 
 1012        $view_own->setChecked($this->object->hasViewOwnResults());
 
 1013        $form->addItem($view_own);
 
 1015        $mail_confirm = 
new ilCheckboxInputGUI($this->lng->txt(
"svy_results_mail_confirm"), 
"mail_confirm");
 
 1016        $mail_confirm->setInfo($this->lng->txt(
"svy_results_mail_confirm_info"));
 
 1017        $mail_confirm->setChecked($this->object->hasMailConfirmation());
 
 1018        $form->addItem($mail_confirm);
 
 1020        $mail_own = 
new ilCheckboxInputGUI($this->lng->txt(
"svy_results_mail_own"), 
"mail_own");
 
 1021        $mail_own->setInfo($this->lng->txt(
"svy_results_mail_own_info"));
 
 1022        $mail_own->setChecked($this->object->hasMailOwnResults());
 
 1023        $mail_confirm->addSubItem($mail_own);
 
 1027        $finalstatement->setValue($this->object->prepareTextareaOutput($this->object->getOutro()));
 
 1028        $finalstatement->setRows(10);
 
 1029        $finalstatement->setCols(80);
 
 1030        $finalstatement->setUseRte(
true);
 
 1032        $finalstatement->addPlugin(
"latex");
 
 1033        $finalstatement->addButton(
"latex");
 
 1034        $finalstatement->addButton(
"pastelatex");
 
 1035        $finalstatement->setRTESupport($this->object->getId(), 
"svy", 
"survey", 
null, $hide_rte_switch);
 
 1036        $form->addItem($finalstatement);
 
 1039        $mailnotification = 
new ilCheckboxInputGUI($this->lng->txt(
"mailnotification"), 
"mailnotification");
 
 1041        $mailnotification->setInfo($this->lng->txt(
"svy_result_mail_notification_info")); 
 
 1042        $mailnotification->setValue(1);
 
 1043        $mailnotification->setChecked($this->object->getMailNotification());
 
 1046        $mailaddresses = 
new ilTextInputGUI($this->lng->txt(
"mailaddresses"), 
"mailaddresses");
 
 1047        $mailaddresses->setValue($this->object->getMailAddresses());
 
 1048        $mailaddresses->setSize(80);
 
 1049        $mailaddresses->setInfo($this->lng->txt(
'mailaddresses_info'));
 
 1050        $mailaddresses->setRequired(
true);
 
 1053        $participantdata = 
new ilTextAreaInputGUI($this->lng->txt(
"mailparticipantdata"), 
"mailparticipantdata");
 
 1054        $participantdata->setValue($this->object->getMailParticipantData());
 
 1055        $participantdata->setRows(6);
 
 1056        $participantdata->setCols(80);
 
 1057        $participantdata->setUseRte(
false);
 
 1058        $participantdata->setInfo($this->lng->txt(
"mailparticipantdata_info"));
 
 1061        $placeholders = array(
 
 1062            "FIRST_NAME" => 
"firstname",
 
 1063            "LAST_NAME" => 
"lastname",
 
 1067        foreach ($placeholders as $placeholder => $caption) {
 
 1068            $txt[] = 
"[" . strtoupper($placeholder) . 
"]: " . $this->lng->txt($caption);
 
 1071        $participantdatainfo = 
new ilNonEditableValueGUI($this->lng->txt(
"mailparticipantdata_placeholder"), 
"", 
true);
 
 1072        $participantdatainfo->setValue(
$txt);
 
 1074        $mailnotification->addSubItem($mailaddresses);
 
 1075        $mailnotification->addSubItem($participantdata);
 
 1076        $mailnotification->addSubItem($participantdatainfo);
 
 1077        $form->addItem($mailnotification);
 
 1080        if (!$this->object->get360Mode()) {
 
 1083            $has_parent = 
$tree->checkForParentType($this->object->getRefId(), 
"grp");
 
 1085                $has_parent = 
$tree->checkForParentType($this->object->getRefId(), 
"crs");
 
 1087            $num_inv = 
sizeof($this->
object->getInvitedUsers());
 
 1090            $tut = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_notification_tutor_setting"), 
"tut");
 
 1091            $tut->setChecked($this->object->getTutorNotificationStatus());
 
 1092            $form->addItem($tut);
 
 1094            $tut_logins = array();
 
 1095            $tuts = $this->
object->getTutorNotificationRecipients();
 
 1097                foreach ($tuts as $tut_id) {
 
 1099                    if ($tmp[
"login"]) {
 
 1100                        $tut_logins[] = $tmp[
"login"];
 
 1104            $tut_ids = 
new ilTextInputGUI($this->lng->txt(
"survey_notification_tutor_recipients"), 
"tut_ids");
 
 1105            $tut_ids->setDataSource($this->ctrl->getLinkTarget($this, 
"doAutoComplete", 
"", 
true));
 
 1106            $tut_ids->setRequired(
true);
 
 1107            $tut_ids->setMulti(
true);
 
 1108            $tut_ids->setMultiValues($tut_logins);
 
 1109            $tut_ids->setValue(array_shift($tut_logins));
 
 1110            $tut->addSubItem($tut_ids);
 
 1112            $tut_grp = 
new ilRadioGroupInputGUI($this->lng->txt(
"survey_notification_target_group"), 
"tut_grp");
 
 1113            $tut_grp->setRequired(
true);
 
 1114            $tut_grp->setValue($this->object->getTutorNotificationTarget());
 
 1115            $tut->addSubItem($tut_grp);
 
 1118                $this->lng->txt(
"survey_notification_target_group_parent_course"),
 
 1122                $tut_grp_crs->setInfo($this->lng->txt(
"survey_notification_target_group_parent_course_inactive"));
 
 1124                $tut_grp_crs->setInfo(sprintf(
 
 1125                    $this->lng->txt(
"survey_notification_target_group_invited_info"),
 
 1126                    count($this->object->getNotificationTargetUserIds(
false))
 
 1129            $tut_grp->addOption($tut_grp_crs);
 
 1132                $this->lng->txt(
"survey_notification_target_group_invited"),
 
 1135            $tut_grp_inv->setInfo(sprintf($this->lng->txt(
"survey_notification_target_group_invited_info"), $num_inv));
 
 1136            $tut_grp->addOption($tut_grp_inv);
 
 1143        $info->setTitle($this->lng->txt(
"svy_settings_section_reminders"));
 
 1147        $rmd->setChecked($this->object->getReminderStatus());
 
 1148        $form->addItem($rmd);
 
 1150        $rmd_start = 
new ilDateTimeInputGUI($this->lng->txt(
"survey_reminder_start"), 
"rmd_start");
 
 1151        $rmd_start->setRequired(
true);
 
 1152        $start = $this->
object->getReminderStart();
 
 1154            $rmd_start->setDate(
$start);
 
 1156        $rmd->addSubItem($rmd_start);
 
 1158        $end = $this->
object->getReminderEnd();
 
 1159        $rmd_end = 
new ilDateTimeInputGUI($this->lng->txt(
"survey_reminder_end"), 
"rmd_end");
 
 1161            $rmd_end->setDate(
$end);
 
 1163        $rmd->addSubItem($rmd_end);
 
 1165        $rmd_freq = 
new ilNumberInputGUI($this->lng->txt(
"survey_reminder_frequency"), 
"rmd_freq");
 
 1166        $rmd_freq->setRequired(
true);
 
 1167        $rmd_freq->setSize(3);
 
 1168        $rmd_freq->setSuffix($this->lng->txt(
"survey_reminder_frequency_days"));
 
 1169        $rmd_freq->setValue($this->object->getReminderFrequency());
 
 1170        $rmd_freq->setMinValue(1);
 
 1171        $rmd->addSubItem($rmd_freq);
 
 1174        if (!$this->object->get360Mode()) {
 
 1175            $rmd_grp = 
new ilRadioGroupInputGUI($this->lng->txt(
"survey_notification_target_group"), 
"rmd_grp");
 
 1176            $rmd_grp->setRequired(
true);
 
 1177            $rmd_grp->setValue($this->object->getReminderTarget());
 
 1178            $rmd->addSubItem($rmd_grp);
 
 1181                $this->lng->txt(
"survey_notification_target_group_parent_course"),
 
 1185                $rmd_grp_crs->setInfo($this->lng->txt(
"survey_notification_target_group_parent_course_inactive"));
 
 1187                $rmd_grp_crs->setInfo(sprintf(
 
 1188                    $this->lng->txt(
"survey_notification_target_group_invited_info"),
 
 1189                    count($this->object->getNotificationTargetUserIds(
false))
 
 1192            $rmd_grp->addOption($rmd_grp_crs);
 
 1195                $this->lng->txt(
"survey_notification_target_group_invited"),
 
 1198            $rmd_grp_inv->setInfo(sprintf($this->lng->txt(
"survey_notification_target_group_invited_info"), $num_inv));
 
 1199            $rmd_grp->addOption($rmd_grp_inv);
 
 1201            $mtmpl = $this->
object->getReminderMailTemplates();
 
 1204                $rmdt->setRequired(
true);
 
 1205                $rmdt->addOption(
new ilRadioOption($this->lng->txt(
"svy_reminder_mail_template_none"), -1));
 
 1206                foreach ($mtmpl as $mtmpl_id => $mtmpl_caption) {
 
 1208                    $rmdt->addOption($option);
 
 1211                $reminderTemplateValue = -1;
 
 1212                if ($this->object->getReminderTemplate()) {
 
 1213                    $reminderTemplateValue = $this->
object->getReminderTemplate();
 
 1215                $rmdt->setValue($reminderTemplateValue);
 
 1216                $rmd->addSubItem($rmdt);
 
 1220            $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_notification_target_group"), 
"remind_appraisees");
 
 1221            $cb->setOptionTitle($this->lng->txt(
"survey_360_appraisees"));
 
 1222            $cb->setInfo($this->lng->txt(
"survey_360_appraisees_remind_info"));
 
 1224            $cb->setChecked(in_array(
 
 1225                $this->object->getReminderTarget(),
 
 1228            $rmd->addSubItem($cb);
 
 1232            $cb->setOptionTitle($this->lng->txt(
"survey_360_raters"));
 
 1233            $cb->setInfo($this->lng->txt(
"survey_360_raters_remind_info"));
 
 1235            $cb->setChecked(in_array(
 
 1236                $this->object->getReminderTarget(),
 
 1239            $rmd->addSubItem($cb);
 
 1246        $results->setTitle($this->lng->txt(
"results"));
 
 1250        switch ($this->object->getMode()) {
 
 1253                $ts_results->setValue($this->object->get360Results());
 
 1256                $option->setInfo($this->lng->txt(
"survey_360_results_none_info"));
 
 1257                $ts_results->addOption($option);
 
 1260                $option->setInfo($this->lng->txt(
"survey_360_results_own_info"));
 
 1261                $ts_results->addOption($option);
 
 1264                $option->setInfo($this->lng->txt(
"survey_360_results_all_info"));
 
 1265                $ts_results->addOption($option);
 
 1267                $form->addItem($ts_results);
 
 1272                $evaluation_access = 
new ilRadioGroupInputGUI($this->lng->txt(
'evaluation_access'), 
"self_eval_res");
 
 1273                $evaluation_access->setValue($this->object->getSelfEvaluationResults());
 
 1276                $evaluation_access->addOption($option);
 
 1279                $evaluation_access->addOption($option);
 
 1282                $evaluation_access->addOption($option);
 
 1284                $form->addItem($evaluation_access);
 
 1288                $evaluation_access = 
new ilRadioGroupInputGUI($this->lng->txt(
'evaluation_access'), 
"evaluation_access");
 
 1291                $option->setInfo($this->lng->txt(
"svy_evaluation_access_off_info"));
 
 1292                $evaluation_access->addOption($option);
 
 1295                $option->setInfo($this->lng->txt(
"svy_evaluation_access_all_info"));
 
 1296                $evaluation_access->addOption($option);
 
 1299                $option->setInfo($this->lng->txt(
"svy_evaluation_access_participants_info"));
 
 1300                $evaluation_access->addOption($option);
 
 1302                $evaluation_access->setValue($this->object->getEvaluationAccess());
 
 1303                $form->addItem($evaluation_access);
 
 1305                $anonymization_options = 
new ilRadioGroupInputGUI($this->lng->txt(
"survey_results_anonymization"), 
"anonymization_options");
 
 1307                $option = 
new ilCheckboxOption($this->lng->txt(
"survey_results_personalized"), 
"statpers");
 
 1308                $option->setInfo($this->lng->txt(
"survey_results_personalized_info"));
 
 1309                $anonymization_options->addOption($option);
 
 1311                $option = 
new ilCheckboxOption($this->lng->txt(
"survey_results_anonymized"), 
"statanon");
 
 1312                $option->setInfo($this->lng->txt(
"survey_results_anonymized_info"));
 
 1313                $anonymization_options->addOption($option);
 
 1314                $anonymization_options->setValue($this->object->hasAnonymizedResults()
 
 1317                $form->addItem($anonymization_options);
 
 1319                $surveySetting = 
new ilSetting(
"survey");
 
 1320                if ($surveySetting->get(
"anonymous_participants", 
false)) {
 
 1322                    if ($surveySetting->get(
"anonymous_participants_min", 0)) {
 
 1323                        $min = 
" (" . $this->lng->txt(
"svy_anonymous_participants_min") . 
": " .
 
 1324                            $surveySetting->get(
"anonymous_participants_min") . 
")";
 
 1327                    $anon_list = 
new ilCheckboxInputGUI($this->lng->txt(
"svy_anonymous_participants_svy"), 
"anon_list");
 
 1328                    $anon_list->setInfo($this->lng->txt(
"svy_anonymous_participants_svy_info") . $min);
 
 1329                    $anon_list->setChecked($this->object->hasAnonymousUserList());
 
 1330                    $option->addSubItem($anon_list);
 
 1333                if ($this->object->_hasDatasets($this->object->getSurveyId())) {
 
 1334                    $anonymization_options->setDisabled(
true);
 
 1336                        $anon_list->setDisabled(
true);
 
 1344        include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
 
 1346        $svy_mode = $this->
object->getMode();
 
 1349            $other->setTitle($this->lng->txt(
"other"));
 
 1350            $form->addItem($other);
 
 1352            $skill_service = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_activate_skill_service"), 
"skill_service");
 
 1353            $skill_service->setInfo($this->lng->txt(
"survey_activate_skill_service_info"));
 
 1354            $skill_service->setChecked($this->object->getSkillService());
 
 1355            $form->addItem($skill_service);
 
 1359            ->getObjectPositionSettingsByType($this->object->getType());
 
 1361        if ($position_settings->isActive()) {
 
 1364            $feat->setTitle($this->lng->txt(
'obj_features'));
 
 1365            $form->addItem($feat);
 
 1369                $this->object->getId(),
 
 1377        $form->addCommandButton(
"saveProperties", $this->lng->txt(
"save"));
 
 1380        if ($template_settings) {
 
 1381            foreach ($template_settings as 
$id => $item) {
 
 1382                if ($item[
"hide"]) {
 
 1383                    if (
$id == 
"enabled_end_date") {
 
 1386                    if (
$id == 
"enabled_start_date") {
 
 1389                    $form->removeItemByPostVar(
$id, 
true);
 
 1402        if ($a_section == 
'settings') {
 
 1403            $this->tabs_gui->addSubTabTarget(
 
 1405                $this->ctrl->getLinkTarget($this, 
'properties')
 
 1409            if ($lti_settings->hasSettingsAccess()) {
 
 1410                $this->tabs_gui->addSubTabTarget(
 
 1412                    $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
 
 1432        $ilTabs->activateTab(
"settings");
 
 1433        $ilTabs->activateSubTab(
'settings');
 
 1435        if ($this->object->get360Mode()) {
 
 1436            $ilHelp->setScreenId(
"settings_360");
 
 1445        if ($this->object->getTemplate()) {
 
 1446            $link = $this->ctrl->getLinkTarget($this, 
"confirmResetTemplate");
 
 1447            $link = 
"<a href=\"" . $link . 
"\">" . $this->lng->txt(
"survey_using_template_link") . 
"</a>";
 
 1448            $message = 
"<div style=\"margin-top:10px\">" .
 
 1449                $this->tpl->getMessageHTML(sprintf(
 
 1450                    $this->lng->txt(
"survey_using_template"),
 
 1457        $this->tpl->setContent($a_form->getHTML() . 
$message);
 
 1462        $fields = array(
'login',
'firstname',
'lastname',
'email');
 
 1464        include_once 
'./Services/User/classes/class.ilUserAutoComplete.php';
 
 1466        $auto->setSearchFields($fields);
 
 1467        $auto->setResultField(
'login');
 
 1468        $auto->enableFieldSearchableCheck(
true);
 
 1469        $auto->setMoreLinkAvailable(
true);
 
 1471        if (($_REQUEST[
'fetchall'])) {
 
 1485        $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.il_svy_svy_confirm_resettemplate.html", 
"Modules/Survey");
 
 1486        $this->tpl->setCurrentBlock(
"adm_content");
 
 1487        $this->tpl->setVariable(
"BTN_CONFIRM_REMOVE", $this->lng->txt(
"confirm"));
 
 1488        $this->tpl->setVariable(
"BTN_CANCEL_REMOVE", $this->lng->txt(
"cancel"));
 
 1489        $this->tpl->setVariable(
"FORM_ACTION", $this->ctrl->getFormAction($this, 
"resetTemplateObject"));
 
 1490        $this->tpl->parseCurrentBlock();
 
 1498        $this->
object->setTemplate(
null);
 
 1499        $this->
object->saveToDB();
 
 1501        ilUtil::sendSuccess($this->lng->txt(
"survey_template_reset"), 
true);
 
 1502        $this->ctrl->redirect($this, 
"properties");
 
 1513        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1515        $form->setTarget(
"_top");
 
 1516        $form->setFormAction($this->ctrl->getFormAction($this));
 
 1517        $form->setTitle($this->lng->txt(
"import_svy"));
 
 1519        include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
 
 1520        $fi = 
new ilFileInputGUI($this->lng->txt(
"import_file"), 
"importfile");
 
 1521        $fi->setSuffixes(array(
"zip"));
 
 1522        $fi->setRequired(
true);
 
 1523        $form->addItem($fi);
 
 1525        include_once(
"./Modules/Survey/classes/class.ilObjSurvey.php");
 
 1527        $questionspools = $svy->getAvailableQuestionpools(
true, 
true, 
true);
 
 1529        $pools = 
new ilSelectInputGUI($this->lng->txt(
"select_questionpool_short"), 
"spl");
 
 1530        $pools->setOptions(array(
"" => $this->lng->txt(
"dont_use_questionpool")) + $questionspools);
 
 1531        $pools->setRequired(
false);
 
 1532        $form->addItem($pools);
 
 1534        $form->addCommandButton(
"importSurvey", $this->lng->txt(
"import"));
 
 1535        $form->addCommandButton(
"cancel", $this->lng->txt(
"cancel"));
 
 1547        $parent_id = 
$_GET[
"ref_id"];
 
 1548        $new_type = $_REQUEST[
"new_type"];
 
 1553        $this->lng->loadLanguageModule($new_type);
 
 1554        $this->ctrl->setParameter($this, 
"new_type", $new_type);
 
 1557        if (
$form->checkInput()) {
 
 1558            include_once(
"./Modules/Survey/classes/class.ilObjSurvey.php");
 
 1560            $newObj->setType($new_type);
 
 1561            $newObj->setTitle(
"dummy");
 
 1562            $newObj->create(
true);
 
 1567            $this->log->debug(
"form->getInput(spl) = " . 
$form->getInput(
"spl"));
 
 1569            $error = $newObj->importObject($_FILES[
"importfile"], 
$form->getInput(
"spl"));
 
 1570            if (strlen($error)) {
 
 1576            ilUtil::sendSuccess($this->lng->txt(
"object_imported"), 
true);
 
 1578                "&baseClass=ilObjSurveyGUI");
 
 1581            include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
 1585                $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/questions/jquery.js");
 
 1588                $this->tpl->setCurrentBlock(
"template_option");
 
 1589                $this->tpl->setVariable(
"VAL_TEMPLATE_OPTION", 
"");
 
 1590                $this->tpl->setVariable(
"TXT_TEMPLATE_OPTION", $this->lng->txt(
"none"));
 
 1591                $this->tpl->parseCurrentBlock();
 
 1593                foreach ($templates as $item) {
 
 1594                    $this->tpl->setCurrentBlock(
"template_option");
 
 1595                    $this->tpl->setVariable(
"VAL_TEMPLATE_OPTION", $item[
"id"]);
 
 1596                    $this->tpl->setVariable(
"TXT_TEMPLATE_OPTION", $item[
"title"]);
 
 1597                    $this->tpl->parseCurrentBlock();
 
 1599                    $desc = str_replace(
"\n", 
"", nl2br($item[
"description"]));
 
 1600                    $desc = str_replace(
"\r", 
"", $desc);
 
 1602                    $this->tpl->setCurrentBlock(
"js_data");
 
 1603                    $this->tpl->setVariable(
"JS_DATA_ID", $item[
"id"]);
 
 1604                    $this->tpl->setVariable(
"JS_DATA_TEXT", $desc);
 
 1605                    $this->tpl->parseCurrentBlock();
 
 1608                $this->tpl->setCurrentBlock(
"templates");
 
 1609                $this->tpl->setVariable(
"TXT_TEMPLATE", $this->lng->txt(
"svy_settings_template"));
 
 1610                $this->tpl->parseCurrentBlock();
 
 1615        $form->setValuesByPost();
 
 1631        $this->ctrl->setCmd(
"showSummary");
 
 1632        $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
 1646        if (!$this->external_rater_360) {
 
 1652        $ilTabs->activateTab(
"info_short");
 
 1654        include_once 
"./Modules/Survey/classes/class.ilSurveyExecutionGUI.php";
 
 1657        include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
 1659        $info->enablePrivateNotes();
 
 1662        $is_appraisee = 
false;
 
 1665        if ($this->object->get360Mode() &&
 
 1666            $this->object->isAppraisee(
$ilUser->getId())) {
 
 1667            $is_appraisee = 
true;
 
 1669            $info->addSection($this->lng->txt(
"survey_360_appraisee_info"));
 
 1671            $appr_data = $this->
object->getAppraiseesData();
 
 1672            $appr_data = $appr_data[
$ilUser->getId()];
 
 1673            $info->addProperty($this->lng->txt(
"survey_360_raters_status_info"), $appr_data[
"finished"]);
 
 1675            if (!$appr_data[
"closed"]) {
 
 1676                include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
 1678                $button->setCaption(
"survey_360_appraisee_close_action");
 
 1679                $button->setUrl($this->ctrl->getLinkTargetByClass(
"ilsurveyparticipantsgui", 
"confirmappraiseeclose"));
 
 1680                $close_button_360 = 
'<div>' . $button->render() . 
'</div>';
 
 1682                $txt = 
"survey_360_appraisee_close_action_info";
 
 1683                if ($this->object->getSkillService()) {
 
 1687                    $this->lng->txt(
"status"),
 
 1688                    $close_button_360 . $this->lng->txt(
$txt)
 
 1695                    $this->lng->txt(
"status"),
 
 1697                        $this->lng->txt(
"survey_360_appraisee_close_action_status"),
 
 1708        $code_input = 
false;
 
 1709        $anonymous_code = 
$_POST[
"anonymous_id"];
 
 1710        if ($anonymous_code) {
 
 1713            if (!$this->object->checkSurveyCode($anonymous_code)) { 
 
 1714                $anonymous_code = 
null;
 
 1717                $this->
object->bindSurveyCodeToUser(
$ilUser->getId(), $anonymous_code);
 
 1720        if ($anonymous_code) {
 
 1721            $_SESSION[
"anonymous_id"][$this->
object->getId()] = $anonymous_code;
 
 1723            $anonymous_code = 
$_SESSION[
"anonymous_id"][$this->
object->getId()];
 
 1724            if ($anonymous_code) {
 
 1730        if ($this->object->getAnonymize() && !$anonymous_code) {
 
 1731            $anonymous_code = $this->
object->findCodeForUser(
$ilUser->getId());
 
 1735        $participant_status = $this->
object->getUserSurveyExecutionStatus($anonymous_code);
 
 1736        if ($participant_status) {
 
 1737            $anonymous_code = $participant_status[
"code"];
 
 1738            $participant_status = $participant_status[
"runs"];
 
 1742        if (!$this->object->isAccessibleWithoutCode() &&
 
 1745            (!$anonymous_code || !$this->object->isAnonymousKey($anonymous_code))) {
 
 1746            $anonymous_code = 
null;
 
 1751        $_SESSION[
"anonymous_id"][$this->
object->getId()] = $anonymous_code;
 
 1753        $survey_started = $this->
object->isSurveyStarted(
$ilUser->getId(), $anonymous_code);
 
 1755        $showButtons = $big_button = 
false;
 
 1758        if (!$this->object->get360Mode() &&
 
 1759                ($survey_started === 1 &&                                                                                       
 
 1760                !(!$this->object->isAccessibleWithoutCode() && !$anonymous_code && 
$ilUser->getId() == ANONYMOUS_USER_ID))) {   
 
 1763            if (
$ilUser->getId() != ANONYMOUS_USER_ID) {
 
 1764                if ($this->object->hasViewOwnResults()) {
 
 1765                    include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
 1767                    $button->setCaption(
"svy_view_own_results");
 
 1768                    $button->setUrl($this->ctrl->getLinkTarget($this, 
"viewUserResults"));
 
 1769                    $ilToolbar->addButtonInstance($button);
 
 1773                if ($this->object->hasMailConfirmation()) {
 
 1774                    if ($this->object->hasViewOwnResults()) {
 
 1775                        $ilToolbar->addSeparator();
 
 1778                    if (
$ilUser->getId() == ANONYMOUS_USER_ID ||
 
 1780                        require_once 
"Services/Form/classes/class.ilTextInputGUI.php";
 
 1783                        $mail->setValue(
$ilUser->getEmail());
 
 1784                        $ilToolbar->addInputItem($mail, 
true);
 
 1787                    $ilToolbar->setFormAction($this->ctrl->getFormAction($this, 
"mailUserResults"));
 
 1789                    include_once 
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
 
 1791                    $button->setCaption(
"svy_mail_send_confirmation");
 
 1792                    $button->setCommand(
"mailUserResults");
 
 1793                    $ilToolbar->addButtonInstance($button);
 
 1798            $canStart = $this->
object->canStartSurvey(
null, $this->external_rater_360);
 
 1800            $showButtons = $canStart[
"result"];
 
 1801            if (!$showButtons) {
 
 1802                if ($canStart[
"edit_settings"] &&
 
 1803                    $ilAccess->checkAccess(
"write", 
"", $this->ref_id)) {
 
 1804                    $canStart[
"messages"][] = 
"<a href=\"" . $this->ctrl->getLinkTarget($this, 
"properties") . 
"\">» " .
 
 1805                        $this->lng->txt(
"survey_edit_settings") . 
"</a>";
 
 1813            if (!$is_appraisee &&
 
 1815                !$this->object->isAccessibleWithoutCode()) {
 
 1816                $info->setFormAction($this->ctrl->getFormAction($this, 
"infoScreen"));
 
 1817                $info->addSection($this->lng->txt(
"anonymization"));
 
 1818                $info->addProperty(
"", $this->lng->txt(
"anonymize_anonymous_introduction"));
 
 1819                $info->addPropertyTextinput($this->lng->txt(
"enter_anonymous_id"), 
"anonymous_id", 
"", 8, 
"infoScreen", $this->lng->txt(
"submit"), 
true);
 
 1822                if (!$this->object->get360Mode()) {
 
 1823                    if ($anonymous_code) {
 
 1824                        $info->addHiddenElement(
"anonymous_id", $anonymous_code);
 
 1826                    if ($survey_started === 0) {
 
 1827                        $big_button = array(
"resume", $this->lng->txt(
"resume_survey"));
 
 1828                    } elseif ($survey_started === 
false) {
 
 1829                        $big_button = array(
"start", $this->lng->txt(
"start_survey"));
 
 1834                    $appr_ids = array();
 
 1837                    if ($anonymous_code) {
 
 1838                        $anonymous_id = $this->
object->getAnonymousIdByCode($anonymous_code);
 
 1839                        if ($anonymous_id) {
 
 1840                            $appr_ids = $this->
object->getAppraiseesToRate(0, $anonymous_id);
 
 1846                    if (!$appr_ids && 
$ilUser->getId() != ANONYMOUS_USER_ID) {
 
 1847                        $appr_ids = $this->
object->getAppraiseesToRate(
$ilUser->getId());
 
 1850                    if (
sizeof($appr_ids)) {
 
 1852                        $active_appraisees = array();
 
 1853                        if ($participant_status) {
 
 1854                            foreach ($participant_status as $item) {
 
 1855                                $active_appraisees[$item[
"appr_id"]] = $item[
"finished"];
 
 1861                        foreach ($appr_ids as $appr_id) {
 
 1862                            if ($this->object->isAppraiseeClosed($appr_id)) {
 
 1864                                $list[$appr_id] = $this->lng->txt(
"survey_360_appraisee_is_closed");
 
 1865                            } elseif (array_key_exists($appr_id, $active_appraisees)) {
 
 1867                                if ($active_appraisees[$appr_id]) {
 
 1868                                    $list[$appr_id] = $this->lng->txt(
"already_completed_survey");
 
 1872                                    $list[$appr_id] = array(
"resume", $this->lng->txt(
"resume_survey"));
 
 1876                                $list[$appr_id] = array(
"start", $this->lng->txt(
"start_survey"));
 
 1880                        $info->addSection($this->lng->txt(
"survey_360_rate_other_appraisees"));
 
 1882                        include_once 
"Services/User/classes/class.ilUserUtil.php";
 
 1883                        foreach (
$list as $appr_id => $item) {
 
 1886                            if (!is_array($item)) {
 
 1887                                $info->addProperty($appr_name, $item);
 
 1889                                $this->ctrl->setParameter($output_gui, 
"appr_id", $appr_id);
 
 1890                                $href = $this->ctrl->getLinkTarget($output_gui, $item[0]);
 
 1891                                $this->ctrl->setParameter($output_gui, 
"appr_id", 
"");
 
 1893                                include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
 1895                                $button->setCaption($item[1], 
false);
 
 1896                                $button->setUrl($href);
 
 1897                                $big_button_360 = 
'<div>' . $button->render() . 
'</div>';
 
 1899                                $info->addProperty($appr_name, $big_button_360);
 
 1902                    } elseif (!$is_appraisee) {
 
 1908            if ($this->object->get360Mode() &&
 
 1909                $this->object->get360SelfAppraisee() &&
 
 1910                !$this->object->isAppraisee(
$ilUser->getId()) &&
 
 1911                $ilUser->getId() != ANONYMOUS_USER_ID) { 
 
 1912                $link = $this->ctrl->getLinkTargetByClass(
"ilsurveyparticipantsgui", 
"addSelfAppraisee");
 
 1913                $link = 
'<a href="' . $link . 
'">' . $this->lng->txt(
"survey_360_add_self_appraisee") . 
'</a>';
 
 1914                $info->addProperty(
" ", $link);
 
 1919            $ilToolbar->setFormAction($this->ctrl->getFormAction($output_gui, 
"infoScreen"));
 
 1921            include_once 
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
 
 1923            $button->setCaption($big_button[1], 
false);
 
 1924            $button->setCommand($big_button[0]);
 
 1925            $button->setPrimary(
true);
 
 1926            $ilToolbar->addButtonInstance($button);
 
 1928            $ilToolbar->setCloseFormTag(
false);
 
 1929            $info->setOpenFormTag(
false);
 
 1938        if (strlen($this->object->getIntroduction())) {
 
 1939            $introduction = $this->
object->getIntroduction();
 
 1940            $info->addSection($this->lng->txt(
"introduction"));
 
 1941            $info->addProperty(
"", $this->object->prepareTextareaOutput($introduction) .
 
 1942                "<br />" . 
$info->getHiddenToggleButton());
 
 1944            $info->addSection(
"");
 
 1945            $info->addProperty(
"", 
$info->getHiddenToggleButton());
 
 1948        $info->hideFurtherSections(
false);
 
 1950        if (!$this->object->get360Mode()) {
 
 1951            $info->addSection($this->lng->txt(
"svy_general_properties"));
 
 1954                $this->lng->txt(
"survey_results_anonymization"),
 
 1955                !$this->object->hasAnonymizedResults()
 
 1956                    ? $this->lng->txt(
"survey_results_personalized_info")
 
 1957                    : $this->lng->txt(
"survey_results_anonymized_info")
 
 1960            include_once 
"./Modules/Survey/classes/class.ilObjSurveyAccess.php";
 
 1963                $info->addProperty($this->lng->txt(
"evaluation_access"), $this->lng->txt(
"evaluation_access_info"));
 
 1967        $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
 
 1969        $this->ctrl->forwardCommand(
$info);
 
 1975        switch ($this->ctrl->getCmd()) {
 
 1980            case "redirectQuestion":
 
 1981                $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, 
"infoScreen"), 
"", 
$_GET[
"ref_id"]);
 
 1984            case "checkEvaluationAccess":
 
 1985            case "evaluationdetails":
 
 1986            case "evaluationuser":
 
 1987                $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTargetByClass(
"ilsurveyevaluationgui", 
"evaluation"), 
"", 
$_GET[
"ref_id"]);
 
 1992            case "importSurvey":
 
 1996                $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, 
"infoScreen"), 
"", 
$_GET[
"ref_id"]);
 
 1999                $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, 
"infoScreen"), 
"", 
$_GET[
"ref_id"]);
 
 2002                if ((
int) 
$_GET[
"q_id"] && !(
int) $_REQUEST[
"new_for_survey"]) {
 
 2005                    $q_id = (int) 
$_GET[
"q_id"];
 
 2006                    include_once 
"./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
 
 2008                    $this->ctrl->setParameterByClass($q_type, 
"q_id", $q_id);
 
 2009                    $ilLocator->addItem(
 
 2011                        $this->ctrl->getLinkTargetByClass(array(
"ilSurveyEditorGUI", $q_type), 
"editQuestion")
 
 2025    public static function _goto($a_target, $a_access_code = 
"")
 
 2029        $ilAccess = 
$DIC->access();
 
 2033        if (strlen($a_access_code)) {
 
 2035            $_GET[
"baseClass"] = 
"ilObjSurveyGUI";
 
 2036            $_GET[
"cmd"] = 
"infoScreen";
 
 2037            $_GET[
"ref_id"] = $a_target;
 
 2038            include(
"ilias.php");
 
 2042        if ($ilAccess->checkAccess(
"visible", 
"", $a_target) ||
 
 2043            $ilAccess->checkAccess(
"read", 
"", $a_target)) {
 
 2044            $_GET[
"baseClass"] = 
"ilObjSurveyGUI";
 
 2045            $_GET[
"cmd"] = 
"infoScreen";
 
 2046            $_GET[
"ref_id"] = $a_target;
 
 2047            include(
"ilias.php");
 
 2049        } elseif ($ilAccess->checkAccess(
"read", 
"", ROOT_FOLDER_ID)) {
 
 2051                $lng->txt(
"msg_no_perm_read_item"),
 
 2060        $rtpl = 
new ilTemplate(
"tpl.svy_view_user_results.html", 
true, 
true, 
"Modules/Survey");
 
 2062        $show_titles = (bool) $this->object->getShowQuestionTitles();
 
 2064        foreach ($this->object->getSurveyPages() as $page) {
 
 2065            if (count($page) > 0) {
 
 2067                if (count($page) > 1) {
 
 2068                    if ((
bool) $page[0][
"questionblock_show_blocktitle"]) {
 
 2069                        $rtpl->setVariable(
"BLOCK_TITLE", trim($page[0][
"questionblock_title"]));
 
 2074                foreach ($page as $question) {
 
 2075                    $question_gui = $this->
object->getQuestionGUI($question[
"type_tag"], $question[
"question_id"]);
 
 2076                    if (is_object($question_gui)) {
 
 2077                        $rtpl->setCurrentBlock(
"question_bl");
 
 2080                        if (strlen($question[
"heading"])) {
 
 2081                            $rtpl->setVariable(
"HEADING", trim($question[
"heading"]));
 
 2086                            $question_gui->getPrintView(
 
 2088                                (
bool) $question[
"questionblock_show_questiontext"],
 
 2089                                $this->object->getId(),
 
 2090                                $this->object->loadWorkingData($question[
"question_id"], $a_active_id)
 
 2094                        $rtpl->parseCurrentBlock();
 
 2098                $rtpl->setCurrentBlock(
"block_bl");
 
 2099                $rtpl->parseCurrentBlock();
 
 2103        return $rtpl->get();
 
 2112        $anonymous_code = 
$_SESSION[
"anonymous_id"][$this->
object->getId()];
 
 2113        $active_id = $this->
object->getActiveID(
$ilUser->getId(), $anonymous_code, 0);
 
 2114        if ($this->object->isSurveyStarted(
$ilUser->getId(), $anonymous_code) !== 1 ||
 
 2116            $this->ctrl->redirect($this, 
"infoScreen");
 
 2119        $ilTabs->clearTargets();
 
 2120        $ilTabs->setBackTarget(
 
 2121            $this->lng->txt(
"btn_back"),
 
 2122            $this->ctrl->getLinkTarget($this, 
"infoScreen")
 
 2133        $show_titles = (bool) $this->object->getShowQuestionTitles();
 
 2135        foreach ($this->object->getSurveyPages() as $page) {
 
 2136            if (count($page) > 0) {
 
 2137                $res[] = 
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
 
 2140                if (count($page) > 1) {
 
 2141                    if ((
bool) $page[0][
"questionblock_show_blocktitle"]) {
 
 2142                        $res[$this->lng->txt(
"questionblock")] = trim($page[0][
"questionblock_title"]) . 
"\n";
 
 2148                $page_res = array();
 
 2150                foreach ($page as $question) {
 
 2151                    $question_gui = $this->
object->getQuestionGUI($question[
"type_tag"], $question[
"question_id"]);
 
 2152                    if (is_object($question_gui)) {
 
 2153                        $question_parts = array();
 
 2156                        if (strlen($question[
"heading"])) {
 
 2157                            $question_parts[$this->lng->txt(
"heading")] = trim($question[
"heading"]);
 
 2161                            $question_parts[$this->lng->txt(
"title")] = trim($question[
"title"]);
 
 2164                        if ((
bool) $question[
"questionblock_show_questiontext"]) {
 
 2165                            $question_parts[$this->lng->txt(
"question")] = trim(strip_tags($question_gui->object->getQuestionText()));
 
 2168                        $answers = $question_gui->getParsedAnswers(
 
 2169                            $this->object->loadWorkingData($question[
"question_id"], $a_active_id),
 
 2173                        if (
sizeof($answers)) {
 
 2175                            if (
sizeof($answers) > 1 ||
 
 2176                                get_class($question_gui) == 
"SurveyTextQuestionGUI") {
 
 2181                            foreach ($answers as $answer) {
 
 2183                                if ($answer[
"textanswer"]) {
 
 2184                                    $text = 
' ("' . $answer[
"textanswer"] . 
'")';
 
 2186                                if (!isset($answer[
"cols"])) {
 
 2187                                    if (isset($answer[
"title"])) {
 
 2188                                        $parts[] = $answer[
"title"] . 
$text;
 
 2189                                    } elseif (isset($answer[
"value"])) {
 
 2190                                        $parts[] = $answer[
"value"];
 
 2192                                        $parts[] = substr(
$text, 2, -1);
 
 2198                                    foreach ($answer[
"cols"] as $col) {
 
 2199                                        $tmp[] = $col[
"title"];
 
 2201                                    $parts[] = $answer[
"title"] . 
": " . implode(
", ", $tmp) . 
$text;
 
 2204                            $question_parts[$this->lng->txt(
"answer")] =
 
 2205                                ($multiline ? 
"\n" : 
"") . implode(
"\n", $parts);
 
 2209                        foreach ($question_parts as 
$type => $value) {
 
 2210                            $tmp[] = 
$type . 
": " . $value;
 
 2212                        $page_res[] = implode(
"\n", $tmp);
 
 2216                $res[] = implode(
"\n\n-------------------------------\n\n", $page_res);
 
 2220        $res[] = 
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
 
 2222        return implode(
"\n", 
$res);
 
 2229        $finished = $this->
object->getSurveyParticipants(array($a_active_id));
 
 2230        $finished = array_pop($finished);
 
 2233        require_once 
"Services/Mail/classes/class.ilMail.php";
 
 2234        require_once 
"Services/Link/classes/class.ilLink.php";
 
 2237        $body .= $this->lng->txt(
"svy_mail_own_results_body") . 
"\n";
 
 2238        $body .= 
"\n" . $this->lng->txt(
"obj_svy") . 
": " . $this->
object->getTitle() . 
"\n";
 
 2240        $body .= 
"\n" . $this->lng->txt(
"survey_results_finished") . 
": " . $finished . 
"\n\n";
 
 2242        if ($this->object->hasMailOwnResults()) {
 
 2243            $subject = 
"svy_mail_own_results_subject";
 
 2246            $subject = 
"svy_mail_confirmation_subject";
 
 2252        require_once 
"Services/Mail/classes/class.ilMail.php";
 
 2253        $mail = 
new ilMail(ANONYMOUS_USER_ID);
 
 2254        $mail->sendMimeMail(
 
 2258            sprintf($this->lng->txt($subject), $this->object->getTitle()),
 
 2269        $anonymous_code = 
$_SESSION[
"anonymous_id"][$this->
object->getId()];
 
 2270        $active_id = $this->
object->getActiveID(
$ilUser->getId(), $anonymous_code, 0);
 
 2271        if ($this->object->isSurveyStarted(
$ilUser->getId(), $anonymous_code) !== 1 ||
 
 2273            $this->ctrl->redirect($this, 
"infoScreen");
 
 2276        $recipient = 
$_POST[
"mail"];
 
 2278            $recipient = 
$ilUser->getEmail();
 
 2281            $this->ctrl->redirect($this, 
"infoScreen");
 
 2286        ilUtil::sendSuccess($this->lng->txt(
"mail_sent"), 
true);
 
 2287        $this->ctrl->redirect($this, 
"infoScreen");
 
 2299        return $access->checkRbacOrPositionPermissionAccess(
 
 2301            $a_position_permission,
 
 2302            $this->object->getRefId()
 
An exception for terminatinating execution or to throw for unit testing.
static _getTitle($question_id)
Returns the question title of a question with a given id.
static _getQuestionType($question_id)
Returns the question type of a question with a given id.
This class represents an option in a checkbox group.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
static setUseRelativeDates($a_status)
set use relative dates
@classDescription Date and time handling
Export User Interface Class.
GUI class for LTI provider object settings.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static getLogger($a_component_id)
Get component logger.
static _getInstallationSignature()
static getSalutation($a_usr_id, ilLanguage $a_language=null)
This class represents a non editable value in a property form.
static _getUsedHTMLTags($a_module="")
Returns an array of all allowed HTML tags for text editing.
static _hasEvaluationAccess($a_obj_id, $user_id)
propertiesObject(ilPropertyFormGUI $a_form=null)
Display and fill the properties form of the test.
afterSave(ilObject $a_new_object)
save object @access public
initPropertiesForm()
Init survey settings form.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
static _goto($a_target, $a_access_code="")
redirect script
sendUserResultsMail($a_active_id, $a_recipient)
initImportForm($a_new_type)
Init object import form.
savePropertiesObject()
Save the survey properties.
getUserResultsPlain($a_active_id)
addSubTabs($a_section)
Add subtabs for tabs.
addDidacticTemplateOptions(array &$a_options)
Add custom templates.
executeCommand()
execute command
importSurveyObject()
form for new survey object import
infoScreen()
show information screen
evaluationObject()
Redirects the evaluation object call to the ilSurveyEvaluationGUI class.
resetTemplateObject()
Enable all settings - remove template.
addLocatorItems()
should be overwritten to add object specific items (repository items are preloaded)
confirmResetTemplateObject()
Enable all settings - Confirmation.
getTabs()
adds tabs to tab gui object
getUserResultsTable($a_active_id)
checkRbacOrPositionPermission($a_rbac_permission, $a_position_permission)
Check rbac or position permission.
const EVALUATION_ACCESS_PARTICIPANTS
const RESULTS_SELF_EVAL_NONE
const NOTIFICATION_INVITED_USERS
const RESULTS_SELF_EVAL_ALL
const NOTIFICATION_PARENT_COURSE
const EVALUATION_ACCESS_ALL
static _hasDatasets($survey_id)
const NOTIFICATION_APPRAISEES_AND_RATERS
const ANONYMIZE_FREEACCESS
const EVALUATION_ACCESS_OFF
static validateExternalRaterCode($a_ref_id, $a_code)
const RESULTS_SELF_EVAL_OWN
const NOTIFICATION_APPRAISEES
const NOTIFICATION_RATERS
static _lookupId($a_user_str)
Lookup id by login.
static _lookupName($a_user_id)
lookup user name
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
getDidacticTemplateVar($a_type)
Get didactic template setting from creation screen.
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
prepareOutput($a_show_subobjects=true)
prepare output
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
addHeaderAction()
Add header action menu.
const ORGU_POSITION_ACCESS
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
getRefId()
get reference id @access public
static _getAllReferences($a_id)
get all reference ids of object
static getInstance()
Get instance.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents an option in a radio group.
Settings template application class.
static getAllSettingsTemplates($a_type, $a_include_auto_generated=false)
Get all settings templates of type.
static lookupTitle($a_id)
Lookup title.
Skill management settings.
Class ilSurveyConstraintsGUI.
Survey evaluation graphical output.
Survey execution graphical output.
Class ilSurveyParticipantsGUI.
Survey skill determination GUI class.
Survey skill service GUI class.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
Auto completion class for user lists.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static is_email($a_email, ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
This preg-based function checks whether an e-mail address is formally valid.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
catch(Exception $e) $message
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list
foreach($_POST as $key=> $value) $res