/** * Init creation form */ function initForm($a_mode = "create") { global $lng, $ilCtrl; include_once "Services/Form/classes/class.ilPropertyFormGUI.php"; if ($a_mode == "edit") { $std_item = $this->object->getMediaItem("Standard"); } $this->form_gui = new ilPropertyFormGUI(); // standard view resource $title = new ilTextInputGUI($lng->txt("title"), "standard_title"); $title->setSize(40); $title->setMaxLength(120); $this->form_gui->addItem($title); $radio_prop = new ilRadioGroupInputGUI($lng->txt("cont_resource"), "standard_type"); $op1 = new ilRadioOption($lng->txt("cont_file"), "File"); $up = new ilFileInputGUI("", "standard_file"); $up->setSuffixes(ilObjMediaObject::getRestrictedFileTypes()); $up->setInfo(""); $op1->addSubItem($up); $radio_prop->addOption($op1); $op2 = new ilRadioOption($lng->txt("url"), "Reference"); $ref = new ilTextInputGUI("", "standard_reference"); $ref->setInfo($lng->txt("cont_ref_helptext")); $op2->addSubItem($ref); $radio_prop->addOption($op2); $radio_prop->setValue("File"); $this->form_gui->addItem($radio_prop); // standard format if ($a_mode == "edit") { $format = new ilNonEditableValueGUI($lng->txt("cont_format"), "standard_format"); $format->setValue($std_item->getFormat()); $this->form_gui->addItem($format); } // standard size $radio_size = new ilRadioGroupInputGUI($lng->txt("size"), "standard_size"); if ($a_mode == "edit") { if ($orig_size = $std_item->getOriginalSize()) { $add_str = " (" . $orig_size["width"] . " x " . $orig_size["height"] . ")"; } $op1 = new ilRadioOption($lng->txt("cont_resource_size") . $add_str, "original"); $op2 = new ilRadioOption($lng->txt("cont_custom_size"), "selected"); } else { $op1 = new ilRadioOption($lng->txt("cont_orig_size"), "original"); $op2 = new ilRadioOption($lng->txt("cont_adjust_size"), "selected"); } $radio_size->addOption($op1); // width height include_once "./Services/MediaObjects/classes/class.ilWidthHeightInputGUI.php"; $width_height = new ilWidthHeightInputGUI($lng->txt("cont_width") . " / " . $lng->txt("cont_height"), "standard_width_height"); $width_height->setConstrainProportions(true); $op2->addSubItem($width_height); // resize image if ($a_mode == "edit") { $std_item = $this->object->getMediaItem("Standard"); if (is_int(strpos($std_item->getFormat(), "image")) && $std_item->getLocationType() == "LocalFile") { $resize = new ilCheckboxInputGUI($lng->txt("cont_resize_img"), "standard_resize"); $op2->addSubItem($resize); } } $radio_size->setValue("original"); if ($a_mode == "create" && ($this->getHeightPreset() > 0 || $this->getWidthPreset() > 0)) { $radio_size->setValue("selected"); $width_height->setWidth($this->getWidthPreset()); $width_height->setHeight($this->getHeightPreset()); } $radio_size->addOption($op2); $this->form_gui->addItem($radio_size); // standard caption $caption = new ilTextAreaInputGUI($lng->txt("cont_caption"), "standard_caption"); $caption->setCols(30); $caption->setRows(2); $this->form_gui->addItem($caption); /*$caption = new ilTextInputGUI($lng->txt("cont_caption"), "standard_caption"); $caption->setSize(40); $caption->setMaxLength(200); $this->form_gui->addItem($caption);*/ // text representation (alt text) if ($a_mode == "edit" && is_int(strpos($std_item->getFormat(), "image"))) { $ta = new ilTextAreaInputGUI($lng->txt("text_repr"), "text_representation"); $ta->setCols(30); $ta->setRows(2); $ta->setInfo($lng->txt("text_repr_info")); $this->form_gui->addItem($ta); } // standard parameters if ($a_mode == "edit" && !in_array($std_item->getFormat(), ilObjMediaObject::_getSimpleMimeTypes())) { if (ilObjMediaObject::_useAutoStartParameterOnly($std_item->getLocation(), $std_item->getFormat())) { $auto = new ilCheckboxInputGUI($lng->txt("cont_autostart"), "standard_autostart"); $this->form_gui->addItem($auto); } else { $par = new ilTextAreaInputGUI($lng->txt("cont_parameter"), "standard_parameters"); $par->setRows(5); $par->setCols(50); $this->form_gui->addItem($par); } } if ($a_mode == "edit") { $full_item = $this->object->getMediaItem("Fullscreen"); } // fullscreen view resource $fs_sec = new ilFormSectionHeaderGUI(); $fs_sec->setTitle($lng->txt("cont_fullscreen")); $this->form_gui->addItem($fs_sec); $radio_prop2 = new ilRadioGroupInputGUI($lng->txt("cont_resource"), "full_type"); $op1 = new ilRadioOption($lng->txt("cont_none"), "None"); $radio_prop2->addOption($op1); $op4 = new ilRadioOption($lng->txt("cont_use_same_resource_as_above"), "Standard"); $radio_prop2->addOption($op4); $op2 = new ilRadioOption($lng->txt("cont_file"), "File"); $up = new ilFileInputGUI("", "full_file"); $up->setSuffixes(ilObjMediaObject::getRestrictedFileTypes()); $up->setInfo(""); $op2->addSubItem($up); $radio_prop2->addOption($op2); $op3 = new ilRadioOption($lng->txt("url"), "Reference"); $ref = new ilTextInputGUI("", "full_reference"); $ref->setInfo($lng->txt("cont_ref_helptext")); $op3->addSubItem($ref); $radio_prop2->addOption($op3); $radio_prop2->setValue("None"); $this->form_gui->addItem($radio_prop2); // fullscreen format if ($a_mode == "edit") { if ($this->object->hasFullscreenItem()) { $format = new ilNonEditableValueGUI($lng->txt("cont_format"), "full_format"); $format->setValue($full_item->getFormat()); $this->form_gui->addItem($format); } } // fullscreen size $radio_size = new ilRadioGroupInputGUI($lng->txt("size"), "full_size"); if ($a_mode == "edit") { $add_str = ""; if ($this->object->hasFullscreenItem() && ($orig_size = $full_item->getOriginalSize())) { $add_str = " (" . $orig_size["width"] . " x " . $orig_size["height"] . ")"; } $op1 = new ilRadioOption($lng->txt("cont_resource_size") . $add_str, "original"); $op2 = new ilRadioOption($lng->txt("cont_custom_size"), "selected"); } else { $op1 = new ilRadioOption($lng->txt("cont_orig_size"), "original"); $op2 = new ilRadioOption($lng->txt("cont_adjust_size"), "selected"); } $radio_size->addOption($op1); // width/height $width_height = new ilWidthHeightInputGUI($lng->txt("cont_width") . " / " . $lng->txt("cont_height"), "full_width_height"); $width_height->setConstrainProportions(true); $op2->addSubItem($width_height); // resize image if ($a_mode == "edit") { $full_item = $this->object->getMediaItem("Fullscreen"); if ($this->object->hasFullscreenItem() && is_int(strpos($full_item->getFormat(), "image")) && $full_item->getLocationType() == "LocalFile") { $resize = new ilCheckboxInputGUI($lng->txt("cont_resize_img"), "full_resize"); $op2->addSubItem($resize); } } $radio_size->setValue("original"); $radio_size->addOption($op2); $this->form_gui->addItem($radio_size); // fullscreen caption $caption = new ilTextAreaInputGUI($lng->txt("cont_caption"), "full_caption"); $caption->setCols(30); $caption->setRows(2); $this->form_gui->addItem($caption); /*$caption = new ilTextInputGUI($lng->txt("cont_caption"), "full_caption"); $caption->setSize(40); $caption->setMaxLength(200); $this->form_gui->addItem($caption);*/ // text representation (alt text) if ($a_mode == "edit" && $this->object->hasFullscreenItem() && is_int(strpos($std_item->getFormat(), "image"))) { $ta = new ilTextAreaInputGUI($lng->txt("text_repr"), "full_text_representation"); $ta->setCols(30); $ta->setRows(2); $ta->setInfo($lng->txt("text_repr_info")); $this->form_gui->addItem($ta); } // fullscreen parameters if ($a_mode == "edit" && $this->object->hasFullscreenItem() && !in_array($full_item->getFormat(), ilObjMediaObject::_getSimpleMimeTypes())) { if (ilObjMediaObject::_useAutoStartParameterOnly($full_item->getLocation(), $full_item->getFormat())) { $auto = new ilCheckboxInputGUI($lng->txt("cont_autostart"), "full_autostart"); $this->form_gui->addItem($auto); } else { $par = new ilTextAreaInputGUI($lng->txt("cont_parameter"), "full_parameters"); $par->setRows(5); $par->setCols(50); $this->form_gui->addItem($par); } } $this->form_gui->setTitle($lng->txt("cont_insert_mob")); if ($a_mode == "edit") { $this->form_gui->addCommandButton("saveProperties", $lng->txt("save")); } else { $this->form_gui->addCommandButton("save", $lng->txt("save")); $this->form_gui->addCommandButton("cancel", $lng->txt("cancel")); } $this->form_gui->setFormAction($ilCtrl->getFormAction($this)); }
/** * Init survey settings form * * @return ilPropertyFormGUI */ function initPropertiesForm() { $template_settings = $hide_rte_switch = null; $template = $this->object->getTemplate(); if ($template) { include_once "Services/Administration/classes/class.ilSettingsTemplate.php"; $template = new ilSettingsTemplate($template); $template_settings = $template->getSettings(); $hide_rte_switch = $template_settings["rte_switch"]["hide"]; } include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this)); $form->setTableWidth("100%"); $form->setId("survey_properties"); // general properties $header = new ilFormSectionHeaderGUI(); $header->setTitle($this->lng->txt("settings")); $form->addItem($header); // title & description (meta data) include_once 'Services/MetaData/classes/class.ilMD.php'; $md_obj = new ilMD($this->object->getId(), 0, "svy"); $md_section = $md_obj->getGeneral(); $title = new ilTextInputGUI($this->lng->txt("title"), "title"); $title->setRequired(true); $title->setValue($md_section->getTitle()); $form->addItem($title); $ids = $md_section->getDescriptionIds(); if ($ids) { $desc_obj = $md_section->getDescription(array_pop($ids)); $desc = new ilTextAreaInputGUI($this->lng->txt("description"), "description"); $desc->setCols(50); $desc->setRows(4); $desc->setValue($desc_obj->getDescription()); $form->addItem($desc); } // pool usage $pool_usage = new ilRadioGroupInputGUI($this->lng->txt("survey_question_pool_usage"), "use_pool"); $opt = new ilRadioOption($this->lng->txt("survey_question_pool_usage_active"), 1); $opt->setInfo($this->lng->txt("survey_question_pool_usage_active_info")); $pool_usage->addOption($opt); $opt = new ilRadioOption($this->lng->txt("survey_question_pool_usage_inactive"), 0); $opt->setInfo($this->lng->txt("survey_question_pool_usage_inactive_info")); $pool_usage->addOption($opt); $pool_usage->setValue($this->object->getPoolUsage()); $form->addItem($pool_usage); // 360°: appraisees if ($this->object->get360Mode()) { $self_eval = new ilCheckboxInputGUI($this->lng->txt("survey_360_self_evaluation"), "self_eval"); $self_eval->setInfo($this->lng->txt("survey_360_self_evaluation_info")); $self_eval->setChecked($this->object->get360SelfEvaluation()); $form->addItem($self_eval); $self_rate = new ilCheckboxInputGUI($this->lng->txt("survey_360_self_raters"), "self_rate"); $self_rate->setInfo($this->lng->txt("survey_360_self_raters_info")); $self_rate->setChecked($this->object->get360SelfRaters()); $form->addItem($self_rate); $self_appr = new ilCheckboxInputGUI($this->lng->txt("survey_360_self_appraisee"), "self_appr"); $self_appr->setInfo($this->lng->txt("survey_360_self_appraisee_info")); $self_appr->setChecked($this->object->get360SelfAppraisee()); $form->addItem($self_appr); } // activation include_once "Services/Object/classes/class.ilObjectActivation.php"; $this->lng->loadLanguageModule('rep'); $section = new ilFormSectionHeaderGUI(); $section->setTitle($this->lng->txt('rep_activation_availability')); $form->addItem($section); // additional info only with multiple references $act_obj_info = $act_ref_info = ""; if (sizeof(ilObject::_getAllReferences($this->object->getId())) > 1) { $act_obj_info = ' ' . $this->lng->txt('rep_activation_online_object_info'); $act_ref_info = $this->lng->txt('rep_activation_access_ref_info'); } $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'), 'online'); $online->setInfo($this->lng->txt('svy_activation_online_info') . $act_obj_info); $online->setChecked($this->object->isOnline()); $form->addItem($online); $act_type = new ilCheckboxInputGUI($this->lng->txt('rep_visibility_until'), 'access_type'); // $act_type->setInfo($this->lng->txt('svy_availability_until_info')); $act_type->setChecked($this->object->isActivationLimited()); $this->tpl->addJavaScript('./Services/Form/js/date_duration.js'); include_once "Services/Form/classes/class.ilDateDurationInputGUI.php"; $dur = new ilDateDurationInputGUI($this->lng->txt('rep_time_period'), "access_period"); $dur->setShowTime(true); $date = $this->object->getActivationStartDate(); $dur->setStart(new ilDateTime($date ? $date : time(), IL_CAL_UNIX)); $dur->setStartText($this->lng->txt('rep_activation_limited_start')); $date = $this->object->getActivationEndDate(); $dur->setEnd(new ilDateTime($date ? $date : time(), IL_CAL_UNIX)); $dur->setEndText($this->lng->txt('rep_activation_limited_end')); $act_type->addSubItem($dur); $visible = new ilCheckboxInputGUI($this->lng->txt('rep_activation_limited_visibility'), 'access_visiblity'); $visible->setInfo($this->lng->txt('svy_activation_limited_visibility_info')); $visible->setChecked($this->object->getActivationVisibility()); $act_type->addSubItem($visible); $form->addItem($act_type); // before start $section = new ilFormSectionHeaderGUI(); $section->setTitle($this->lng->txt('svy_settings_section_before_start')); $form->addItem($section); // introduction $intro = new ilTextAreaInputGUI($this->lng->txt("introduction"), "introduction"); $intro->setValue($this->object->prepareTextareaOutput($this->object->getIntroduction())); $intro->setRows(10); $intro->setCols(80); $intro->setUseRte(TRUE); $intro->setInfo($this->lng->txt("survey_introduction_info")); include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php"; $intro->setRteTags(ilObjAdvancedEditing::_getUsedHTMLTags("survey")); $intro->addPlugin("latex"); $intro->addButton("latex"); $intro->addButton("pastelatex"); $intro->setRTESupport($this->object->getId(), "svy", "survey", null, $hide_rte_switch); $form->addItem($intro); // access $section = new ilFormSectionHeaderGUI(); $section->setTitle($this->lng->txt('svy_settings_section_access')); $form->addItem($section); // enable start date $start = $this->object->getStartDate(); $enablestartingtime = new ilCheckboxInputGUI($this->lng->txt("start_date"), "enabled_start_date"); $enablestartingtime->setValue(1); // $enablestartingtime->setOptionTitle($this->lng->txt("enabled")); $enablestartingtime->setChecked($start); // start date $startingtime = new ilDateTimeInputGUI('', 'start_date'); $startingtime->setShowTime(true); if ($start) { $startingtime->setDate(new ilDate($start, IL_CAL_TIMESTAMP)); } $enablestartingtime->addSubItem($startingtime); $form->addItem($enablestartingtime); // enable end date $end = $this->object->getEndDate(); $enableendingtime = new ilCheckboxInputGUI($this->lng->txt("end_date"), "enabled_end_date"); $enableendingtime->setValue(1); // $enableendingtime->setOptionTitle($this->lng->txt("enabled")); $enableendingtime->setChecked($end); // end date $endingtime = new ilDateTimeInputGUI('', 'end_date'); $endingtime->setShowTime(true); if ($end) { $endingtime->setDate(new ilDate($end, IL_CAL_TIMESTAMP)); } $enableendingtime->addSubItem($endingtime); $form->addItem($enableendingtime); // anonymization if (!$this->object->get360Mode()) { $codes = new ilCheckboxInputGUI($this->lng->txt("survey_access_codes"), "acc_codes"); $codes->setInfo($this->lng->txt("survey_access_codes_info")); $codes->setChecked(!$this->object->isAccessibleWithoutCode()); $form->addItem($codes); if ($this->object->_hasDatasets($this->object->getSurveyId())) { $codes->setDisabled(true); } } // question behaviour $section = new ilFormSectionHeaderGUI(); $section->setTitle($this->lng->txt('svy_settings_section_question_behaviour')); $form->addItem($section); // show question titles $show_question_titles = new ilCheckboxInputGUI($this->lng->txt("svy_show_questiontitles"), "show_question_titles"); $show_question_titles->setValue(1); $show_question_titles->setChecked($this->object->getShowQuestionTitles()); $form->addItem($show_question_titles); // finishing $info = new ilFormSectionHeaderGUI(); $info->setTitle($this->lng->txt("svy_settings_section_finishing")); $form->addItem($info); $view_own = new ilCheckboxInputGUI($this->lng->txt("svy_results_view_own"), "view_own"); $view_own->setInfo($this->lng->txt("svy_results_view_own_info")); $view_own->setChecked($this->object->hasViewOwnResults()); $form->addItem($view_own); $mail_own = new ilCheckboxInputGUI($this->lng->txt("svy_results_mail_own"), "mail_own"); $mail_own->setInfo($this->lng->txt("svy_results_mail_own_info")); $mail_own->setChecked($this->object->hasMailOwnResults()); $form->addItem($mail_own); // final statement $finalstatement = new ilTextAreaInputGUI($this->lng->txt("outro"), "outro"); $finalstatement->setValue($this->object->prepareTextareaOutput($this->object->getOutro())); $finalstatement->setRows(10); $finalstatement->setCols(80); $finalstatement->setUseRte(TRUE); $finalstatement->setRteTags(ilObjAdvancedEditing::_getUsedHTMLTags("survey")); $finalstatement->addPlugin("latex"); $finalstatement->addButton("latex"); $finalstatement->addButton("pastelatex"); $finalstatement->setRTESupport($this->object->getId(), "svy", "survey", null, $hide_rte_switch); $form->addItem($finalstatement); // mail notification $mailnotification = new ilCheckboxInputGUI($this->lng->txt("mailnotification"), "mailnotification"); // $mailnotification->setOptionTitle($this->lng->txt("activate")); $mailnotification->setInfo($this->lng->txt("svy_result_mail_notification_info")); // #11762 $mailnotification->setValue(1); $mailnotification->setChecked($this->object->getMailNotification()); // addresses $mailaddresses = new ilTextInputGUI($this->lng->txt("mailaddresses"), "mailaddresses"); $mailaddresses->setValue($this->object->getMailAddresses()); $mailaddresses->setSize(80); $mailaddresses->setInfo($this->lng->txt('mailaddresses_info')); $mailaddresses->setRequired(true); // participant data $participantdata = new ilTextAreaInputGUI($this->lng->txt("mailparticipantdata"), "mailparticipantdata"); $participantdata->setValue($this->object->getMailParticipantData()); $participantdata->setRows(6); $participantdata->setCols(80); $participantdata->setUseRte(false); $participantdata->setInfo($this->lng->txt("mailparticipantdata_info")); // #12755 - because of privacy concerns we restrict user data to a minimum $placeholders = array("FIRST_NAME" => "firstname", "LAST_NAME" => "lastname", "LOGIN" => "login"); $txt = array(); foreach ($placeholders as $placeholder => $caption) { $txt[] = "[" . strtoupper($placeholder) . "]: " . $this->lng->txt($caption); } $txt = implode("<br />", $txt); $participantdatainfo = new ilNonEditableValueGUI($this->lng->txt("mailparticipantdata_placeholder"), "", true); $participantdatainfo->setValue($txt); $mailnotification->addSubItem($mailaddresses); $mailnotification->addSubItem($participantdata); $mailnotification->addSubItem($participantdatainfo); $form->addItem($mailnotification); // tutor notification - currently not available for 360° if (!$this->object->get360Mode()) { // parent course? global $tree; $has_parent = $tree->checkForParentType($this->object->getRefId(), "grp"); if (!$has_parent) { $has_parent = $tree->checkForParentType($this->object->getRefId(), "crs"); } $num_inv = sizeof($this->object->getInvitedUsers()); // notification $tut = new ilCheckboxInputGUI($this->lng->txt("survey_notification_tutor_setting"), "tut"); $tut->setChecked($this->object->getTutorNotificationStatus()); $form->addItem($tut); $tut_logins = array(); $tuts = $this->object->getTutorNotificationRecipients(); if ($tuts) { foreach ($tuts as $tut_id) { $tmp = ilObjUser::_lookupName($tut_id); if ($tmp["login"]) { $tut_logins[] = $tmp["login"]; } } } $tut_ids = new ilTextInputGUI($this->lng->txt("survey_notification_tutor_recipients"), "tut_ids"); $tut_ids->setDataSource($this->ctrl->getLinkTarget($this, "doAutoComplete", "", true)); $tut_ids->setRequired(true); $tut_ids->setMulti(true); $tut_ids->setMultiValues($tut_logins); $tut_ids->setValue(array_shift($tut_logins)); $tut->addSubItem($tut_ids); $tut_grp = new ilRadioGroupInputGUI($this->lng->txt("survey_notification_target_group"), "tut_grp"); $tut_grp->setRequired(true); $tut_grp->setValue($this->object->getTutorNotificationTarget()); $tut->addSubItem($tut_grp); $tut_grp_crs = new ilRadioOption($this->lng->txt("survey_notification_target_group_parent_course"), ilObjSurvey::NOTIFICATION_PARENT_COURSE); if (!$has_parent) { $tut_grp_crs->setInfo($this->lng->txt("survey_notification_target_group_parent_course_inactive")); } $tut_grp->addOption($tut_grp_crs); $tut_grp_inv = new ilRadioOption($this->lng->txt("survey_notification_target_group_invited"), ilObjSurvey::NOTIFICATION_INVITED_USERS); $tut_grp_inv->setInfo(sprintf($this->lng->txt("survey_notification_target_group_invited_info"), $num_inv)); $tut_grp->addOption($tut_grp_inv); } // reminders // reminder - currently not available for 360° if (!$this->object->get360Mode()) { $info = new ilFormSectionHeaderGUI(); $info->setTitle($this->lng->txt("svy_settings_section_reminders")); $form->addItem($info); $rmd = new ilCheckboxInputGUI($this->lng->txt("survey_reminder_setting"), "rmd"); $rmd->setChecked($this->object->getReminderStatus()); $form->addItem($rmd); $rmd_start = new ilDateTimeInputGUI($this->lng->txt("survey_reminder_start"), "rmd_start"); $rmd_start->setRequired(true); $start = $this->object->getReminderStart(); if ($start) { $rmd_start->setDate($start); } $rmd->addSubItem($rmd_start); $end = $this->object->getReminderEnd(); $rmd_end = new ilDateTimeInputGUI($this->lng->txt("survey_reminder_end"), "rmd_end"); $rmd_end->enableDateActivation("", "rmd_end_tgl", (bool) $end); if ($end) { $rmd_end->setDate($end); } $rmd->addSubItem($rmd_end); $rmd_freq = new ilNumberInputGUI($this->lng->txt("survey_reminder_frequency"), "rmd_freq"); $rmd_freq->setRequired(true); $rmd_freq->setSize(3); $rmd_freq->setSuffix($this->lng->txt("survey_reminder_frequency_days")); $rmd_freq->setValue($this->object->getReminderFrequency()); $rmd_freq->setMinValue(1); $rmd->addSubItem($rmd_freq); $rmd_grp = new ilRadioGroupInputGUI($this->lng->txt("survey_notification_target_group"), "rmd_grp"); $rmd_grp->setRequired(true); $rmd_grp->setValue($this->object->getReminderTarget()); $rmd->addSubItem($rmd_grp); $rmd_grp_crs = new ilRadioOption($this->lng->txt("survey_notification_target_group_parent_course"), ilObjSurvey::NOTIFICATION_PARENT_COURSE); if (!$has_parent) { $rmd_grp_crs->setInfo($this->lng->txt("survey_notification_target_group_parent_course_inactive")); } $rmd_grp->addOption($rmd_grp_crs); $rmd_grp_inv = new ilRadioOption($this->lng->txt("survey_notification_target_group_invited"), ilObjSurvey::NOTIFICATION_INVITED_USERS); $rmd_grp_inv->setInfo(sprintf($this->lng->txt("survey_notification_target_group_invited_info"), $num_inv)); $rmd_grp->addOption($rmd_grp_inv); } // results $results = new ilFormSectionHeaderGUI(); $results->setTitle($this->lng->txt("results")); $form->addItem($results); // evaluation access if (!$this->object->get360Mode()) { $evaluation_access = new ilRadioGroupInputGUI($this->lng->txt('evaluation_access'), "evaluation_access"); $option = new ilCheckboxOption($this->lng->txt("evaluation_access_off"), ilObjSurvey::EVALUATION_ACCESS_OFF, ''); $option->setInfo($this->lng->txt("svy_evaluation_access_off_info")); $evaluation_access->addOption($option); $option = new ilCheckboxOption($this->lng->txt("evaluation_access_all"), ilObjSurvey::EVALUATION_ACCESS_ALL, ''); $option->setInfo($this->lng->txt("svy_evaluation_access_all_info")); $evaluation_access->addOption($option); $option = new ilCheckboxOption($this->lng->txt("evaluation_access_participants"), ilObjSurvey::EVALUATION_ACCESS_PARTICIPANTS, ''); $option->setInfo($this->lng->txt("svy_evaluation_access_participants_info")); $evaluation_access->addOption($option); $evaluation_access->setValue($this->object->getEvaluationAccess()); $form->addItem($evaluation_access); $anonymization_options = new ilRadioGroupInputGUI($this->lng->txt("survey_results_anonymization"), "anonymization_options"); $option = new ilCheckboxOption($this->lng->txt("survey_results_personalized"), "statpers"); $option->setInfo($this->lng->txt("survey_results_personalized_info")); $anonymization_options->addOption($option); $option = new ilCheckboxOption($this->lng->txt("survey_results_anonymized"), "statanon"); $option->setInfo($this->lng->txt("survey_results_anonymized_info")); $anonymization_options->addOption($option); $anonymization_options->setValue($this->object->hasAnonymizedResults() ? "statanon" : "statpers"); $form->addItem($anonymization_options); if ($this->object->_hasDatasets($this->object->getSurveyId())) { $anonymization_options->setDisabled(true); } } else { $ts_results = new ilRadioGroupInputGUI($this->lng->txt("survey_360_results"), "ts_res"); $ts_results->setValue($this->object->get360Results()); $option = new ilRadioOption($this->lng->txt("survey_360_results_none"), ilObjSurvey::RESULTS_360_NONE); $option->setInfo($this->lng->txt("survey_360_results_none_info")); $ts_results->addOption($option); $option = new ilRadioOption($this->lng->txt("survey_360_results_own"), ilObjSurvey::RESULTS_360_OWN); $option->setInfo($this->lng->txt("survey_360_results_own_info")); $ts_results->addOption($option); $option = new ilRadioOption($this->lng->txt("survey_360_results_all"), ilObjSurvey::RESULTS_360_ALL); $option->setInfo($this->lng->txt("survey_360_results_all_info")); $ts_results->addOption($option); $form->addItem($ts_results); } // competence service activation for 360 mode include_once "./Services/Skill/classes/class.ilSkillManagementSettings.php"; $skmg_set = new ilSkillManagementSettings(); if ($this->object->get360Mode() && $skmg_set->isActivated()) { $other = new ilFormSectionHeaderGUI(); $other->setTitle($this->lng->txt("other")); $form->addItem($other); $skill_service = new ilCheckboxInputGUI($this->lng->txt("survey_activate_skill_service"), "skill_service"); $skill_service->setInfo($this->lng->txt("survey_activate_skill_service_info")); $skill_service->setChecked($this->object->get360SkillService()); $form->addItem($skill_service); } $form->addCommandButton("saveProperties", $this->lng->txt("save")); // remove items when using template if ($template_settings) { foreach ($template_settings as $id => $item) { if ($item["hide"]) { $form->removeItemByPostVar($id); } } } return $form; }
/** * FORM NewsItem: Init form. * * @param int $a_mode Form Edit Mode (IL_FORM_EDIT | IL_FORM_CREATE) */ public function initFormNewsItem($a_mode) { global $lng, $ilTabs; $ilTabs->clearTargets(); //$this->setTabs(); $lng->loadLanguageModule("news"); include "Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form_gui = new ilPropertyFormGUI(); // Property Title $text_input = new ilTextInputGUI($lng->txt("news_news_item_title"), "news_title"); $text_input->setInfo(""); $text_input->setRequired(true); $text_input->setMaxLength(200); $this->form_gui->addItem($text_input); // Property Content $text_area = new ilTextAreaInputGUI($lng->txt("news_news_item_content"), "news_content"); $text_area->setInfo(""); $text_area->setRequired(false); $this->form_gui->addItem($text_area); // Property Visibility $radio_group = new ilRadioGroupInputGUI($lng->txt("news_news_item_visibility"), "news_visibility"); $radio_option = new ilRadioOption($lng->txt("news_visibility_users"), "users"); $radio_group->addOption($radio_option); $radio_option = new ilRadioOption($lng->txt("news_visibility_public"), "public"); $radio_group->addOption($radio_option); $radio_group->setInfo($lng->txt("news_news_item_visibility_info")); $radio_group->setRequired(false); $radio_group->setValue("users"); $this->form_gui->addItem($radio_group); // Property ContentLong $text_area = new ilTextAreaInputGUI($lng->txt("news_news_item_content_long"), "news_content_long"); $text_area->setInfo($lng->txt("news_news_item_content_long_info")); $text_area->setRequired(false); $text_area->setCols("40"); $text_area->setRows("8"); $text_area->setUseRte(true); $this->form_gui->addItem($text_area); // save and cancel commands if (in_array($a_mode, array(IL_FORM_CREATE, IL_FORM_RE_CREATE))) { $this->form_gui->addCommandButton("saveNewsItem", $lng->txt("save")); $this->form_gui->addCommandButton("cancelSaveNewsItem", $lng->txt("cancel")); } else { $this->form_gui->addCommandButton("updateNewsItem", $lng->txt("save")); $this->form_gui->addCommandButton("cancelUpdateNewsItem", $lng->txt("cancel")); } $this->form_gui->setTitle($lng->txt("news_news_item_head")); $this->form_gui->setFormAction($this->ctrl->getFormAction($this)); $this->form_gui->setTitleIcon(ilUtil::getImagePath("icon_news.png")); $news_set = new ilSetting("news"); if (!$news_set->get("enable_rss_for_internal")) { $this->form_gui->removeItemByPostVar("news_visibility"); } else { $nv = $this->form_gui->getItemByPostVar("news_visibility"); if (is_object($nv)) { $nv->setValue(ilNewsItem::_getDefaultVisibilityForRefId($_GET["ref_id"])); } } }
/** * Shows the certificate editor for ILIAS tests */ public function certificateEditor() { global $ilAccess; $form_fields = array(); if (strcmp($this->ctrl->getCmd(), "certificateSave") == 0) { $form_fields = $this->getFormFieldsFromPOST(); } else { $form_fields = $this->getFormFieldsFromFO(); } include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setPreventDoubleSubmission(false); $form->setFormAction($this->ctrl->getFormAction($this)); $form->setTitle($this->lng->txt("certificate_edit")); $form->setMultipart(TRUE); $form->setTableWidth("100%"); $form->setId("certificate"); $active = new ilCheckboxInputGUI($this->lng->txt("active"), "active"); $active->setChecked($form_fields["active"]); $form->addItem($active); $import = new ilFileInputGUI($this->lng->txt("import"), "certificate_import"); $import->setRequired(FALSE); $import->setSuffixes(array("zip")); // handle the certificate import if (strlen($_FILES["certificate_import"]["tmp_name"])) { if ($import->checkInput()) { $result = $this->object->importCertificate($_FILES["certificate_import"]["tmp_name"], $_FILES["certificate_import"]["name"]); if ($result == FALSE) { $import->setAlert($this->lng->txt("certificate_error_import")); } else { $this->ctrl->redirect($this, "certificateEditor"); } } } $form->addItem($import); $pageformat = new ilRadioGroupInputGUI($this->lng->txt("certificate_page_format"), "pageformat"); $pageformats = $this->object->getPageFormats(); $pageformat->setValue($form_fields["pageformat"]); foreach ($pageformats as $format) { $option = new ilRadioOption($format["name"], $format["value"]); if (strcmp($format["value"], "custom") == 0) { $pageheight = new ilTextInputGUI($this->lng->txt("certificate_pageheight"), "pageheight"); $pageheight->setValue($form_fields["pageheight"]); $pageheight->setSize(6); $pageheight->setValidationRegexp("/[0123456789\\.](cm|mm|in|pt|pc|px|em)/is"); $pageheight->setInfo($this->lng->txt("certificate_unit_description")); $pageheight->setRequired(true); $option->addSubitem($pageheight); $pagewidth = new ilTextInputGUI($this->lng->txt("certificate_pagewidth"), "pagewidth"); $pagewidth->setValue($form_fields["pagewidth"]); $pagewidth->setSize(6); $pagewidth->setValidationRegexp("/[0123456789\\.](cm|mm|in|pt|pc|px|em)/is"); $pagewidth->setInfo($this->lng->txt("certificate_unit_description")); $pagewidth->setRequired(true); $option->addSubitem($pagewidth); } $pageformat->addOption($option); } $pageformat->setRequired(true); if (strcmp($this->ctrl->getCmd(), "certificateSave") == 0) { $pageformat->checkInput(); } $form->addItem($pageformat); $bgimage = new ilImageFileInputGUI($this->lng->txt("certificate_background_image"), "background"); $bgimage->setRequired(FALSE); $bgimage->setUseCache(false); if (count($_POST)) { // handle the background upload if (strlen($_FILES["background"]["tmp_name"])) { if ($bgimage->checkInput()) { $result = $this->object->uploadBackgroundImage($_FILES["background"]["tmp_name"]); if ($result == FALSE) { $bgimage->setAlert($this->lng->txt("certificate_error_upload_bgimage")); } } } } if (!$this->object->hasBackgroundImage()) { include_once "./Services/Certificate/classes/class.ilObjCertificateSettingsAccess.php"; if (ilObjCertificateSettingsAccess::hasBackgroundImage()) { $bgimage->setImage(ilObjCertificateSettingsAccess::getBackgroundImageThumbPathWeb()); } } else { $bgimage->setImage($this->object->getBackgroundImageThumbPathWeb()); } $form->addItem($bgimage); $padding_top = new ilTextInputGUI($this->lng->txt("certificate_padding_top"), "padding_top"); $padding_top->setRequired(TRUE); $padding_top->setValue($form_fields["padding_top"]); $padding_top->setSize(6); $padding_top->setValidationRegexp("/[0123456789\\.](cm|mm|in|pt|pc|px|em)/is"); $padding_top->setInfo($this->lng->txt("certificate_unit_description")); if (strcmp($this->ctrl->getCmd(), "certificateSave") == 0) { $padding_top->checkInput(); } $form->addItem($padding_top); $rect = new ilCSSRectInputGUI($this->lng->txt("certificate_margin_body"), "margin_body"); $rect->setRequired(TRUE); $rect->setUseUnits(TRUE); $rect->setTop($form_fields["margin_body_top"]); $rect->setBottom($form_fields["margin_body_bottom"]); $rect->setLeft($form_fields["margin_body_left"]); $rect->setRight($form_fields["margin_body_right"]); $rect->setInfo($this->lng->txt("certificate_unit_description")); if (strcmp($this->ctrl->getCmd(), "certificateSave") == 0) { $rect->checkInput(); } $form->addItem($rect); $certificate = new ilTextAreaInputGUI($this->lng->txt("certificate_text"), "certificate_text"); $certificate->removePlugin('ilimgupload'); $certificate->setValue($form_fields["certificate_text"]); $certificate->setRequired(TRUE); $certificate->setRows(20); $certificate->setCols(80); // fraunhpatch start $common_desc_tpl = new ilTemplate("tpl.common_desc.html", true, true, "Services/Certificate"); foreach (ilCertificate::getCustomCertificateFields() as $f) { $common_desc_tpl->setCurrentBlock("cert_field"); $common_desc_tpl->setVariable("PH", $f["ph"]); $common_desc_tpl->setVariable("PH_TXT", $f["name"]); $common_desc_tpl->parseCurrentBlock(); } $common_desc = $common_desc_tpl->get(); // fraunhpatch start $certificate->setInfo($this->object->getAdapter()->getCertificateVariablesDescription() . $common_desc); $certificate->setUseRte(TRUE, '3.4.7'); $tags = array("br", "em", "font", "li", "ol", "p", "span", "strong", "u", "ul"); $certificate->setRteTags($tags); if (strcmp($this->ctrl->getCmd(), "certificateSave") == 0) { $certificate->checkInput(); } $form->addItem($certificate); $this->object->getAdapter()->addAdditionalFormElements($form, $form_fields); if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) { if ($this->object->isComplete() || $this->object->hasBackgroundImage()) { $form->addCommandButton("certificatePreview", $this->lng->txt("certificate_preview")); $form->addCommandButton("certificateExportFO", $this->lng->txt("certificate_export")); $form->addCommandButton("certificateDelete", $this->lng->txt("delete")); } $form->addCommandButton("certificateSave", $this->lng->txt("save")); } $this->tpl->setVariable("ADM_CONTENT", $form->getHTML()); if (strcmp($this->ctrl->getCmd(), "certificateSave") == 0) { if ($_POST["background_delete"]) { $this->object->deleteBackgroundImage(); } if ($form->checkInput()) { try { $xslfo = $this->object->processXHTML2FO($form_fields); $this->object->getAdapter()->saveFormFields($form_fields); $this->object->saveCertificate($xslfo); $this->object->writeActive($form_fields["active"]); ilUtil::sendSuccess($this->lng->txt("saved_successfully"), TRUE); $this->ctrl->redirect($this, "certificateEditor"); } catch (Exception $e) { ilUtil::sendFailure($e->getMessage()); } } } }
/** * Creates an output of the edit form for the question * * @access public */ public function editQuestion($checkonly = FALSE) { $save = $this->isSaveCommand(); $this->getQuestionTemplate(); include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this)); $form->setTitle($this->outQuestionType()); $form->setMultipart(FALSE); $form->setTableWidth("100%"); $form->setId("orderinghorizontal"); $this->addBasicQuestionFormProperties($form); // errortext $errortext = new ilTextAreaInputGUI($this->lng->txt("errortext"), "errortext"); $errortext->setValue(ilUtil::prepareFormOutput($this->object->getErrorText())); $errortext->setRequired(TRUE); $errortext->setInfo($this->lng->txt("errortext_info")); $errortext->setRows(10); $errortext->setCols(80); $form->addItem($errortext); if (!$this->getSelfAssessmentEditingMode()) { // textsize $textsize = new ilNumberInputGUI($this->lng->txt("textsize"), "textsize"); $textsize->setValue(strlen($this->object->getTextSize()) ? $this->object->getTextSize() : 100.0); $textsize->setInfo($this->lng->txt("textsize_errortext_info")); $textsize->setSize(6); $textsize->setSuffix("%"); $textsize->setMinValue(10); $textsize->setRequired(true); $form->addItem($textsize); } if (count($this->object->getErrorData()) || $checkonly) { $header = new ilFormSectionHeaderGUI(); $header->setTitle($this->lng->txt("errors_section")); $form->addItem($header); include_once "./Modules/TestQuestionPool/classes/class.ilErrorTextWizardInputGUI.php"; $errordata = new ilErrorTextWizardInputGUI($this->lng->txt("errors"), "errordata"); $values = array(); $errordata->setKeyName($this->lng->txt('text_wrong')); $errordata->setValueName($this->lng->txt('text_correct')); $errordata->setValues($this->object->getErrorData()); $form->addItem($errordata); // points for wrong selection $points_wrong = new ilNumberInputGUI($this->lng->txt("points_wrong"), "points_wrong"); $points_wrong->setValue($this->object->getPointsWrong()); $points_wrong->setInfo($this->lng->txt("points_wrong_info")); $points_wrong->setSize(6); $points_wrong->setRequired(true); $form->addItem($points_wrong); } $form->addCommandButton("analyze", $this->lng->txt('analyze_errortext')); $this->addQuestionFormCommandButtons($form); $errors = false; if ($save) { $form->setValuesByPost(); $errors = !$form->checkInput(); $form->setValuesByPost(); // again, because checkInput now performs the whole stripSlashes handling and we need this if we don't want to have duplication of backslashes if ($errors) { $checkonly = false; } } if (!$checkonly) { $this->tpl->setVariable("QUESTION_DATA", $form->getHTML()); } return $errors; }
/** * Show learning objectives */ function showProperties() { global $tpl, $lng, $ilTabs, $ilCtrl; $this->setTabs(); $this->setLocator(); $ilTabs->setTabActive("sahs_desc_objectives"); include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); // hide objectives page $cb = new ilCheckboxInputGUI($lng->txt("sahs_hide_objectives_page"), "hide_objectives_page"); $cb->setInfo($lng->txt("sahs_hide_objectives_page_info")); $form->addItem($cb); $cb->setChecked($this->node_object->getHideObjectivePage()); // description $ta = new ilTextAreaInputGUI($lng->txt("description"), "desc"); $ta->setRows(4); $ta->setCols(55); $ta->setInfo($lng->txt("sahs_list_info")); $form->setTitle($lng->txt("properties")); $form->addItem($ta); include_once "./Services/MetaData/classes/class.ilMD.php"; $meta = new ilMD($this->node_object->getSLMId(), $this->node_object->getId(), $this->node_object->getType()); $desc_ids = $meta->getGeneral()->getDescriptionIds(); $ta->setValue($meta->getGeneral()->getDescription($desc_ids[0])->getDescription()); // objectives $sh = new ilFormSectionHeaderGUI(); $sh->setTitle($lng->txt("sahs_learning_objectives")); $form->addItem($sh); $objectives = $this->node_object->getObjectives(); foreach ($objectives as $ob) { // map info $mappings = $ob->getMappings(); $mapinfo = null; foreach ($mappings as $map) { $mapinfo .= $map->getTargetObjectiveID(); } if ($mapinfo == null) { $mapinfo = "local"; } else { $mapinfo = "global to " . $mapinfo; } // objective $ta = new ilTextAreaInputGUI($mapinfo, "obj_" . $ob->getId()); $ta->setCols(55); $ta->setRows(4); $ta->setInfo($lng->txt("sahs_list_info")); $form->addItem($ta); $ta->setValue($ob->getObjectiveID()); } $form->setFormAction($ilCtrl->getFormAction($this)); $form->addCommandButton("updateProperties", $lng->txt("save")); $tpl->setContent($form->getHTML()); }
/** * Creates an output of the edit form for the question * * @access public */ public function editQuestion($checkonly = FALSE) { $save = $this->isSaveCommand(); $this->getQuestionTemplate(); include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this)); $form->setTitle($this->outQuestionType()); $form->setMultipart(FALSE); $form->setTableWidth("100%"); $form->setId("orderinghorizontal"); $this->addBasicQuestionFormProperties($form); // ordertext $ordertext = new ilTextAreaInputGUI($this->lng->txt("ordertext"), "ordertext"); $ordertext->setValue($this->object->prepareTextareaOutput($this->object->getOrderText())); $ordertext->setRequired(TRUE); $ordertext->setInfo(sprintf($this->lng->txt("ordertext_info"), $this->object->separator)); $ordertext->setRows(10); $ordertext->setCols(80); $form->addItem($ordertext); // textsize $textsize = new ilNumberInputGUI($this->lng->txt("textsize"), "textsize"); $textsize->setValue($this->object->getTextSize()); $textsize->setInfo($this->lng->txt("textsize_info")); $textsize->setSize(6); $textsize->setMinValue(10); $textsize->setRequired(FALSE); $form->addItem($textsize); // points $points = new ilNumberInputGUI($this->lng->txt("points"), "points"); // mbecker: Fix for mantis bug 7866: Predefined values schould make sense. // This implements a default value of "1" for this question type. if ($this->object->getPoints() == null) { $points->setValue("1"); } else { $points->setValue($this->object->getPoints()); } $points->setRequired(TRUE); $points->setSize(3); $points->setMinValue(0.0); $points->setMinvalueShouldBeGreater(true); $form->addItem($points); $this->addQuestionFormCommandButtons($form); $errors = false; if ($save) { $form->setValuesByPost(); $errors = !$form->checkInput(); $form->setValuesByPost(); // again, because checkInput now performs the whole stripSlashes handling and we need this if we don't want to have duplication of backslashes if ($errors) { $checkonly = false; } } if (!$checkonly) { $this->tpl->setVariable("QUESTION_DATA", $form->getHTML()); } return $errors; }
/** * Fill table row */ protected function fillRow($d) { global $lng, $ilCtrl; $this->tpl->setVariable("TXT_ASS_TITLE", $d["title"]); $file_info = ilExAssignment::getDownloadedFilesInfoForTableGUIS($this->parent_obj, $this->exc_id, $d["type"], $d["id"], $this->part_id, $this->parent_cmd); $has_no_team_yet = false; if ($d["type"] == ilExAssignment::TYPE_UPLOAD_TEAM) { $members = ilExAssignment::getTeamMembersByAssignmentId($d["id"], $this->part_id); // #11957 if (sizeof($members)) { $this->tpl->setCurrentBlock("ass_members"); foreach ($members as $member_id) { $this->tpl->setVariable("TXT_MEMBER_NAME", ilObjUser::_lookupFullname($member_id)); $this->tpl->parseCurrentBlock(); } $ilCtrl->setParameter($this->parent_obj, "lpart", $this->part_id); $this->tpl->setVariable("HREF_LOG", $ilCtrl->getLinkTarget($this->parent_obj, "showTeamLog")); $this->tpl->setVariable("TXT_LOG", $lng->txt("exc_team_log")); $ilCtrl->setParameter($this->parent_obj, "lpart", ""); } else { // #11957 $has_no_team_yet = true; $this->tpl->setCurrentBlock("team_info"); $this->tpl->setVariable("TXT_TEAM_INFO", $lng->txt("exc_no_team_yet")); $this->tpl->setVariable("TXT_CREATE_TEAM", $lng->txt("exc_create_team")); $ilCtrl->setParameter($this->parent_obj, "ass_id", $d["id"]); $ilCtrl->setParameter($this->parent_obj, "lpart", $this->part_id); $this->tpl->setVariable("URL_CREATE_TEAM", $ilCtrl->getLinkTarget($this->getParentObject(), "createSingleMemberTeam")); $ilCtrl->setParameter($this->parent_obj, "lpart", ""); $ilCtrl->setParameter($this->parent_obj, "ass_id", ""); if ($file_info["files"]["count"]) { $this->tpl->setVariable("TEAM_FILES_INFO", "<br />" . $file_info["files"]["txt"] . ": " . $file_info["files"]["count"]); } $this->tpl->parseCurrentBlock(); } } if (!$has_no_team_yet) { $this->tpl->setVariable("VAL_CHKBOX", ilUtil::formCheckbox(0, "assid[" . $d["id"] . "]", 1)); $this->tpl->setVariable("VAL_ID", $d["id"]); $this->tpl->setVariable("VAL_LAST_SUBMISSION", $file_info["last_submission"]["value"]); $this->tpl->setVariable("TXT_LAST_SUBMISSION", $file_info["last_submission"]["txt"]); $this->tpl->setVariable("TXT_SUBMITTED_FILES", $file_info["files"]["txt"]); $this->tpl->setVariable("VAL_SUBMITTED_FILES", $file_info["files"]["count"]); if ($file_info["files"]["download_url"]) { $this->tpl->setCurrentBlock("download_link"); $this->tpl->setVariable("LINK_DOWNLOAD", $file_info["files"]["download_url"]); $this->tpl->setVariable("TXT_DOWNLOAD", $file_info["files"]["download_txt"]); $this->tpl->parseCurrentBlock(); } if ($file_info["files"]["download_new_url"]) { $this->tpl->setCurrentBlock("download_link"); $this->tpl->setVariable("LINK_NEW_DOWNLOAD", $file_info["files"]["download_new_url"]); $this->tpl->setVariable("TXT_NEW_DOWNLOAD", $file_info["files"]["download_new_txt"]); $this->tpl->parseCurrentBlock(); } // note $this->tpl->setVariable("TXT_NOTE", $lng->txt("exc_note_for_tutor")); $this->tpl->setVariable("NAME_NOTE", "notice[" . $d["id"] . "]"); $this->tpl->setVariable("VAL_NOTE", ilUtil::prepareFormOutput(ilExAssignment::lookupNoticeOfUser($d["id"], $this->part_id))); // comment for learner $lcomment_value = ilExAssignment::lookupCommentForUser($d["id"], $this->part_id); $overlay_id = "excasscomm_" . $d["id"] . "_" . $this->part_id; $overlay_trigger_id = $overlay_id . "_tr"; $overlay = new ilOverlayGUI($overlay_id); $overlay->setAnchor($overlay_trigger_id); $overlay->setTrigger($overlay_trigger_id, "click", $overlay_trigger_id); $overlay->add(); $this->tpl->setVariable("LCOMMENT_ID", $overlay_id . "_snip"); $this->tpl->setVariable("LCOMMENT_SNIPPET", ilUtil::shortenText($lcomment_value, 25, true)); $this->tpl->setVariable("COMMENT_OVERLAY_TRIGGER_ID", $overlay_trigger_id); $this->tpl->setVariable("COMMENT_OVERLAY_TRIGGER_TEXT", $lng->txt("exc_comment_for_learner_edit")); $lcomment_form = new ilPropertyFormGUI(); $lcomment_form->setId($overlay_id); $lcomment_form->setPreventDoubleSubmission(false); $lcomment = new ilTextAreaInputGUI($lng->txt("exc_comment_for_learner"), "lcomment_" . $d["id"] . "_" . $this->part_id); $lcomment->setInfo($lng->txt("exc_comment_for_learner_info")); $lcomment->setValue($lcomment_value); $lcomment->setCols(45); $lcomment->setRows(5); $lcomment_form->addItem($lcomment); //$lcomment_form->addCommandButton("save", $lng->txt("save")); // $lcomment_form->addCommandButton("cancel", $lng->txt("cancel")); $this->overlay_tpl->setCurrentBlock("overlay_bl"); $this->overlay_tpl->setVariable("COMMENT_OVERLAY_ID", $overlay_id); $this->overlay_tpl->setVariable("COMMENT_OVERLAY_FORM", $lcomment_form->getHTML()); $this->overlay_tpl->parseCurrentBlock(); /* $this->tpl->setVariable("TXT_LCOMMENT", $lng->txt("exc_comment_for_learner")); $this->tpl->setVariable("NAME_LCOMMENT", "lcomment[".$d["id"]."]"); $lpcomment = ilExAssignment::lookupCommentForUser($d["id"], $this->part_id); $this->tpl->setVariable("VAL_LCOMMENT", ilUtil::prepareFormOutput($lpcomment)); */ // solved //$this->tpl->setVariable("CHKBOX_SOLVED", // ilUtil::formCheckbox($this->exc->members_obj->getStatusByMember($member_id),"solved[$member_id]",1)); $status = ilExAssignment::lookupStatusOfUser($d["id"], $this->part_id); $this->tpl->setVariable("SEL_" . strtoupper($status), ' selected="selected" '); $this->tpl->setVariable("TXT_NOTGRADED", $lng->txt("exc_notgraded")); $this->tpl->setVariable("TXT_PASSED", $lng->txt("exc_passed")); $this->tpl->setVariable("TXT_FAILED", $lng->txt("exc_failed")); if (($sd = ilExAssignment::lookupStatusTimeOfUser($d["id"], $this->part_id)) > 0) { $this->tpl->setCurrentBlock("status_date"); $this->tpl->setVariable("TXT_LAST_CHANGE", $lng->txt("last_change")); $this->tpl->setVariable('VAL_STATUS_DATE', ilDatePresentation::formatDate(new ilDateTime($sd, IL_CAL_DATETIME))); $this->tpl->parseCurrentBlock(); } switch ($status) { case "passed": $pic = "scorm/passed.svg"; break; case "failed": $pic = "scorm/failed.svg"; break; default: $pic = "scorm/not_attempted.svg"; break; } $this->tpl->setVariable("IMG_STATUS", ilUtil::getImagePath($pic)); $this->tpl->setVariable("ALT_STATUS", $lng->txt("exc_" . $status)); // mark $this->tpl->setVariable("TXT_MARK", $lng->txt("exc_mark")); $this->tpl->setVariable("NAME_MARK", "mark[" . $d["id"] . "]"); $mark = ilExAssignment::lookupMarkOfUser($d["id"], $this->part_id); $this->tpl->setVariable("VAL_MARK", ilUtil::prepareFormOutput($mark)); // feedback $ilCtrl->setParameter($this->parent_obj, "member_id", $this->part_id); if (($ft = ilExAssignment::lookupFeedbackTimeOfUser($d["id"], $this->part_id)) > 0) { $this->tpl->setCurrentBlock("feedback_date"); $this->tpl->setVariable("TXT_FEEDBACK_MAIL_SENT", sprintf($lng->txt("exc_sent_at"), ilDatePresentation::formatDate(new ilDateTime($ft, IL_CAL_DATETIME)))); $this->tpl->parseCurrentBlock(); } $ilCtrl->setParameter($this, "rcp_to", $this->user->getLogin()); $this->tpl->setVariable("LINK_FEEDBACK", $ilCtrl->getLinkTarget($this->parent_obj, "redirectFeedbackMail")); //"ilias.php?baseClass=ilMailGUI&type=new&rcp_to=".$mem_obj->getLogin()); $this->tpl->setVariable("TXT_FEEDBACK", $lng->txt("exc_send_mail")); $ilCtrl->setParameter($this->parent_obj, "rcp_to", ""); if ($d["type"] == ilExAssignment::TYPE_UPLOAD_TEAM) { $feedback_id = "t" . ilExAssignment::getTeamIdByAssignment($d["id"], $this->part_id); } else { $feedback_id = $this->part_id; } $storage = new ilFSStorageExercise($this->exc_id, $d["id"]); $cnt_files = $storage->countFeedbackFiles($feedback_id); $ilCtrl->setParameter($this->parent_obj, "fsmode", "feedbackpart"); $this->tpl->setVariable("LINK_FILE_FEEDBACK", $ilCtrl->getLinkTargetByClass("ilfilesystemgui", "listFiles")); if ($cnt_files == 0) { $this->tpl->setVariable("TXT_FILE_FEEDBACK", $lng->txt("exc_add_feedback_file")); } else { $this->tpl->setVariable("TXT_FILE_FEEDBACK", $lng->txt("exc_fb_files") . " (" . $cnt_files . ")"); } // peer review / rating if ($d["type"] != ilExAssignment::TYPE_UPLOAD_TEAM && $d["peer"]) { $this->tpl->setCurrentBlock("peer_review_bl"); $this->tpl->setVariable("TXT_PEER_REVIEW", $lng->txt("exc_peer_review_show")); $ilCtrl->setParameter($this->parent_obj, "grd", 2); $this->tpl->setVariable("LINK_PEER_REVIEW", $ilCtrl->getLinkTarget($this->parent_obj, "showPersonalPeerReview")); $ilCtrl->setParameter($this->parent_obj, "grd", ""); $rating = new ilRatingGUI(); $rating->setObject($d["id"], "ass", $this->part_id, "peer"); $rating->setUserId(0); $this->tpl->setVariable("VAL_RATING", $rating->getHTML(true, false)); $this->tpl->parseCurrentBlock(); } $ilCtrl->setParameter($this->parent_obj, "ass_id", $_GET["ass_id"]); } else { $this->tpl->touchBlock("member_has_no_team_bl"); } }
public function populateQuestionSpecificFormPart(ilPropertyFormGUI $form) { // cloze text $cloze_text = new ilTextAreaInputGUI($this->lng->txt("cloze_text"), 'cloze_text'); $cloze_text->setRequired(true); $cloze_text->setValue($this->applyIndizesToGapText($this->object->getClozeText())); $cloze_text->setInfo($this->lng->txt("close_text_hint")); $cloze_text->setRows(10); $cloze_text->setCols(80); if (!$this->object->getSelfAssessmentEditingMode()) { if ($this->object->getAdditionalContentEditingMode() == assQuestion::ADDITIONAL_CONTENT_EDITING_MODE_DEFAULT) { $cloze_text->setUseRte(TRUE); include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php"; $cloze_text->setRteTags(ilObjAdvancedEditing::_getUsedHTMLTags("assessment")); $cloze_text->addPlugin("latex"); $cloze_text->addButton("latex"); $cloze_text->addButton("pastelatex"); } } else { $cloze_text->setUseRte(TRUE); $cloze_text->setRteTags(self::getSelfAssessmentTags()); $cloze_text->setUseTagsForRteOnly(false); } $cloze_text->setRTESupport($this->object->getId(), "qpl", "assessment"); $form->addItem($cloze_text); $tpl = new ilTemplate("tpl.il_as_qpl_cloze_gap_button_code.html", TRUE, TRUE, "Modules/TestQuestionPool"); $tpl->setVariable('INSERT_GAP', $this->lng->txt('insert_gap')); $tpl->setVariable('CREATE_GAPS', $this->lng->txt('create_gaps')); $tpl->parseCurrentBlock(); $button = new ilCustomInputGUI(' ', ''); $button->setHtml($tpl->get()); $form->addItem($button); // text rating if (!$this->object->getSelfAssessmentEditingMode()) { $textrating = new ilSelectInputGUI($this->lng->txt("text_rating"), "textgap_rating"); $text_options = array("ci" => $this->lng->txt("cloze_textgap_case_insensitive"), "cs" => $this->lng->txt("cloze_textgap_case_sensitive"), "l1" => sprintf($this->lng->txt("cloze_textgap_levenshtein_of"), "1"), "l2" => sprintf($this->lng->txt("cloze_textgap_levenshtein_of"), "2"), "l3" => sprintf($this->lng->txt("cloze_textgap_levenshtein_of"), "3"), "l4" => sprintf($this->lng->txt("cloze_textgap_levenshtein_of"), "4"), "l5" => sprintf($this->lng->txt("cloze_textgap_levenshtein_of"), "5")); $textrating->setOptions($text_options); $textrating->setValue($this->object->getTextgapRating()); $form->addItem($textrating); // text field length $fixedTextLength = new ilNumberInputGUI($this->lng->txt("cloze_fixed_textlength"), "fixedTextLength"); $ftl = $this->object->getFixedTextLength(); $fixedTextLength->setValue($ftl > 0 ? $ftl : ''); $fixedTextLength->setMinValue(0); $fixedTextLength->setSize(3); $fixedTextLength->setMaxLength(6); $fixedTextLength->setInfo($this->lng->txt('cloze_fixed_textlength_description')); $fixedTextLength->setRequired(false); $form->addItem($fixedTextLength); // identical scoring $identical_scoring = new ilCheckboxInputGUI($this->lng->txt("identical_scoring"), "identical_scoring"); $identical_scoring->setValue(1); $identical_scoring->setChecked($this->object->getIdenticalScoring()); $identical_scoring->setInfo($this->lng->txt('identical_scoring_desc')); $identical_scoring->setRequired(FALSE); $form->addItem($identical_scoring); } return $form; }
/** * FORM NewsItem: Init form. * * @param int $a_mode Form Edit Mode (IL_FORM_EDIT | IL_FORM_CREATE) */ public function initFormNewsItem($a_mode) { global $lng; $lng->loadLanguageModule("news"); include "Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form_gui = new ilPropertyFormGUI(); // Property Title $text_input = new ilTextInputGUI($lng->txt("news_news_item_title"), "news_title"); $text_input->setInfo(""); $text_input->setRequired(true); $text_input->setMaxLength(200); $this->form_gui->addItem($text_input); // Property Content $text_area = new ilTextAreaInputGUI($lng->txt("news_news_item_content"), "news_content"); $text_area->setInfo(""); $text_area->setRequired(false); $this->form_gui->addItem($text_area); // Property Visibility $radio_group = new ilRadioGroupInputGUI($lng->txt("news_news_item_visibility"), "news_visibility"); $radio_option = new ilRadioOption($lng->txt("news_visibility_users"), "users"); $radio_group->addOption($radio_option); $radio_option = new ilRadioOption($lng->txt("news_visibility_public"), "public"); $radio_group->addOption($radio_option); $radio_group->setInfo($lng->txt("news_news_item_visibility_info")); $radio_group->setRequired(false); $radio_group->setValue("users"); $this->form_gui->addItem($radio_group); // Property ContentLong $text_area = new ilTextAreaInputGUI($lng->txt("news_news_item_content_long"), "news_content_long"); $text_area->setInfo($lng->txt("news_news_item_content_long_info")); $text_area->setRequired(false); $text_area->setCols("40"); $text_area->setRows("8"); $text_area->setUseRte(true); $this->form_gui->addItem($text_area); // save and cancel commands if (in_array($a_mode, array(IL_FORM_CREATE, IL_FORM_RE_CREATE))) { $this->form_gui->addCommandButton("saveNewsItem", $lng->txt("save")); $this->form_gui->addCommandButton("cancelSaveNewsItem", $lng->txt("cancel")); } else { $this->form_gui->addCommandButton("updateNewsItem", $lng->txt("save")); $this->form_gui->addCommandButton("cancelUpdateNewsItem", $lng->txt("cancel")); } $this->form_gui->setTitle($lng->txt("news_news_item_head")); $this->form_gui->setFormAction($this->ctrl->getFormAction($this)); $this->prepareFormNewsItem($this->form_gui); }
/** * init info editor * * @access protected * @return */ protected function initInfoEditor() { if (is_object($this->form)) { return true; } include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form = new ilPropertyFormGUI(); $this->form->setFormAction($this->ctrl->getFormAction($this, 'updateInfo')); $this->form->setTitle($this->lng->txt('grp_general_informations')); $this->form->addCommandButton('updateInfo', $this->lng->txt('save')); $this->form->addCommandButton('cancel', $this->lng->txt('cancel')); $area = new ilTextAreaInputGUI($this->lng->txt('grp_information'), 'important'); $area->setInfo($this->lng->txt('grp_information_info')); $area->setValue($this->object->getInformation()); $area->setRows(8); $area->setCols(80); $this->form->addItem($area); }
/** * Init your form * */ protected function initForm() { $title = $this->setting->getId() ? sprintf($this->pl->txt('edit_setting'), $this->setting->getIdentifier()) : $this->pl->txt('add_new_custom_setting'); $this->setTitle($title); $item = new ilHiddenInputGUI('custom_setting_id'); $item->setValue($this->setting->getId()); $this->addItem($item); $item = new ilTextInputGUI($this->pl->txt('identifier'), 'identifier'); $item->setRequired(true); $item->setValue($this->setting->getIdentifier()); $item->setInfo(sprintf($this->pl->txt('identifier_info'), srCertificatePlaceholder::REGEX_VALID_IDENTIFIER)); $this->addItem($item); $item = new ilRadioGroupInputGUI($this->pl->txt('custom_setting_type'), 'setting_type_id'); $item->setRequired(true); $option = new ilRadioOption($this->pl->txt('custom_setting_type_' . srCertificateCustomTypeSetting::SETTING_TYPE_BOOLEAN), srCertificateCustomTypeSetting::SETTING_TYPE_BOOLEAN); $item->addOption($option); $option = new ilRadioOption($this->pl->txt('custom_setting_type_' . srCertificateCustomTypeSetting::SETTING_TYPE_SELECT), srCertificateCustomTypeSetting::SETTING_TYPE_SELECT); $subitem = new ilTextAreaInputGUI($this->pl->txt('custom_setting_type_2_data'), 'data'); $subitem->setValue($this->setting->getData()); $subitem->setInfo($this->pl->txt('custom_setting_type_2_data_info')); $option->addSubItem($subitem); $item->setValue($this->setting->getSettingTypeId()); $item->addOption($option); $this->addItem($item); $item = new ilTextInputGUI($this->pl->txt('default_value'), "value"); $item->setInfo($this->pl->txt('custom_setting_default_value_info')); $item->setValue($this->setting->getValue()); $this->addItem($item); $item = new ilMultiSelectInputGUI($this->pl->txt('editable_in'), 'editable_in'); $options = array(); foreach (srCertificateType::getAllAvailableObjectTypes() as $type) { $options[$type] = $type; } $item->setOptions($options); $item->setValue($this->setting->getEditableIn()); $this->addItem($item); // Update definitions, add settings if (!$this->setting->getId()) { $item = new ilCheckboxInputGUI($this->pl->txt('update_cert_definitions'), 'update_definitions'); $item->setInfo($this->pl->txt('custom_setting_update_cert_definitions_info')); $this->addItem($item); } // Label per language /** @var srCertificateType $type */ $type = $this->setting->getId() ? srCertificateType::find($this->setting->getTypeId()) : srCertificateType::find((int) $_GET['type_id']); foreach ($type->getLanguages() as $lang_code) { $this->addLabelInput($lang_code); } }
/** * Display and fill the properties form of the test * * @access public */ function propertiesObject($checkonly = FALSE) { global $ilAccess; if (!$ilAccess->checkAccess("write", "", $this->ref_id)) { // allow only write access ilUtil::sendInfo($this->lng->txt("cannot_edit_test"), true); $this->ctrl->redirect($this, "infoScreen"); } // using template? $template_settings = null; $template = $this->object->getTemplate(); if ($template) { include_once "Services/Administration/classes/class.ilSettingsTemplate.php"; $template = new ilSettingsTemplate($template, ilObjAssessmentFolderGUI::getSettingsTemplateConfig()); $template_settings = $template->getSettings(); $hide_rte_switch = $template_settings["rte_switch"]["hide"]; } $save = strcmp($this->ctrl->getCmd(), "saveProperties") == 0 ? TRUE : FALSE; $total = $this->object->evalTotalPersons(); $this->tpl->addJavascript("./Services/JavaScript/js/Basic.js"); include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this)); $form->setTableWidth("100%"); $form->setId("test_properties"); if (!$template || $template && $this->formShowGeneralSection($template_settings)) { // general properties $header = new ilFormSectionHeaderGUI(); $header->setTitle($this->lng->txt("tst_general_properties")); $form->addItem($header); } // title & description (meta data) include_once 'Services/MetaData/classes/class.ilMD.php'; $md_obj = new ilMD($this->object->getId(), 0, "tst"); $md_section = $md_obj->getGeneral(); $title = new ilTextInputGUI($this->lng->txt("title"), "title"); $title->setRequired(true); $title->setValue($md_section->getTitle()); $form->addItem($title); $ids = $md_section->getDescriptionIds(); if ($ids) { $desc_obj = $md_section->getDescription(array_pop($ids)); $desc = new ilTextAreaInputGUI($this->lng->txt("description"), "description"); $desc->setCols(50); $desc->setRows(4); $desc->setValue($desc_obj->getDescription()); $form->addItem($desc); } // anonymity $anonymity = new ilRadioGroupInputGUI($this->lng->txt('tst_anonymity'), 'anonymity'); if ($total) { $anonymity->setDisabled(true); } $rb = new ilRadioOption($this->lng->txt('tst_anonymity_no_anonymization'), 0); $anonymity->addOption($rb); $rb = new ilRadioOption($this->lng->txt('tst_anonymity_anonymous_test'), 1); $anonymity->addOption($rb); $anonymity->setValue((int) $this->object->getAnonymity()); $form->addItem($anonymity); // random selection of questions $random = new ilCheckboxInputGUI($this->lng->txt("tst_random_selection"), "random_test"); $random->setValue(1); if ($total) { $random->setDisabled(true); } $random->setChecked($this->object->isRandomTest()); $info = $this->lng->txt("tst_random_test_description"); if ($this->object->hasQuestionsWithoutQuestionpool()) { $info .= $this->lng->txt("tst_random_test_description_warning"); } $random->setInfo($info); $form->addItem($random); // pool usage $pool_usage = new ilCheckboxInputGUI($this->lng->txt("test_question_pool_usage"), "use_pool"); $pool_usage->setValue(1); $pool_usage->setChecked($this->object->getPoolUsage()); $form->addItem($pool_usage); // activation/availability (no template support yet) include_once "Services/Object/classes/class.ilObjectActivation.php"; $this->lng->loadLanguageModule('rep'); $section = new ilFormSectionHeaderGUI(); $section->setTitle($this->lng->txt('rep_activation_availability')); $form->addItem($section); // additional info only with multiple references $act_obj_info = $act_ref_info = ""; if (sizeof(ilObject::_getAllReferences($this->object->getId())) > 1) { $act_obj_info = ' ' . $this->lng->txt('rep_activation_online_object_info'); $act_ref_info = $this->lng->txt('rep_activation_access_ref_info'); } $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'), 'online'); $online->setChecked($this->object->isOnline()); $online->setInfo($this->lng->txt('tst_activation_online_info') . $act_obj_info); $form->addItem($online); $act_type = new ilRadioGroupInputGUI($this->lng->txt('rep_activation_access'), 'activation_type'); $act_type->setInfo($act_ref_info); $act_type->setValue($this->object->isActivationLimited() ? ilObjectActivation::TIMINGS_ACTIVATION : ilObjectActivation::TIMINGS_DEACTIVATED); $opt = new ilRadioOption($this->lng->txt('rep_visibility_limitless'), ilObjectActivation::TIMINGS_DEACTIVATED); $opt->setInfo($this->lng->txt('tst_availability_limitless_info')); $act_type->addOption($opt); $opt = new ilRadioOption($this->lng->txt('rep_visibility_until'), ilObjectActivation::TIMINGS_ACTIVATION); $opt->setInfo($this->lng->txt('tst_availability_until_info')); $date = $this->object->getActivationStartingTime(); $start = new ilDateTimeInputGUI($this->lng->txt('rep_activation_limited_start'), 'act_starting_time'); #$start->setMode(ilDateTimeInputGUI::MODE_INPUT); $start->setShowTime(true); $start->setDate(new ilDateTime($date ? $date : time(), IL_CAL_UNIX)); $opt->addSubItem($start); $date = $this->object->getActivationEndingTime(); $end = new ilDateTimeInputGUI($this->lng->txt('rep_activation_limited_end'), 'act_ending_time'); #$end->setMode(ilDateTimeInputGUI::MODE_INPUT); $end->setShowTime(true); $end->setDate(new ilDateTime($date ? $date : time(), IL_CAL_UNIX)); $opt->addSubItem($end); $visible = new ilCheckboxInputGUI($this->lng->txt('rep_activation_limited_visibility'), 'activation_visibility'); $visible->setInfo($this->lng->txt('tst_activation_limited_visibility_info')); $visible->setChecked($this->object->getActivationVisibility()); $opt->addSubItem($visible); $act_type->addOption($opt); $form->addItem($act_type); if (!$template || $template && $this->formShowBeginningEndingInformation($template_settings)) { // general properties $header = new ilFormSectionHeaderGUI(); $header->setTitle($this->lng->txt("tst_beginning_ending_information")); $form->addItem($header); } // introduction $intro = new ilTextAreaInputGUI($this->lng->txt("tst_introduction"), "introduction"); $intro->setValue($this->object->prepareTextareaOutput($this->object->getIntroduction())); $intro->setRows(10); $intro->setCols(80); $intro->setUseRte(TRUE); $intro->addPlugin("latex"); $intro->addButton("latex"); $intro->setRTESupport($this->object->getId(), "tst", 'assessment', null, false, '3.4.7'); $intro->setRteTagSet('full'); $intro->setInfo($this->lng->txt('intro_desc')); // showinfo $showinfo = new ilCheckboxInputGUI('', "showinfo"); $showinfo->setValue(1); $showinfo->setChecked($this->object->getShowInfo()); $showinfo->setOptionTitle($this->lng->txt("showinfo")); $showinfo->setInfo($this->lng->txt("showinfo_desc")); $intro->addSubItem($showinfo); $form->addItem($intro); // final statement $finalstatement = new ilTextAreaInputGUI($this->lng->txt("final_statement"), "finalstatement"); $finalstatement->setValue($this->object->prepareTextareaOutput($this->object->getFinalStatement())); $finalstatement->setRows(10); $finalstatement->setCols(80); $finalstatement->setUseRte(TRUE); $finalstatement->addPlugin("latex"); $finalstatement->addButton("latex"); $finalstatement->setRTESupport($this->object->getId(), "tst", "assessment", null, false, '3.4.7'); $finalstatement->setRteTagSet('full'); // show final statement $showfinal = new ilCheckboxInputGUI('', "showfinalstatement"); $showfinal->setValue(1); $showfinal->setChecked($this->object->getShowFinalStatement()); $showfinal->setOptionTitle($this->lng->txt("final_statement_show")); $showfinal->setInfo($this->lng->txt("final_statement_show_desc")); $finalstatement->addSubItem($showfinal); $form->addItem($finalstatement); if (!$template || $template && $this->formShowSessionSection($template_settings)) { // session properties $sessionheader = new ilFormSectionHeaderGUI(); $sessionheader->setTitle($this->lng->txt("tst_session_settings")); $form->addItem($sessionheader); } // max. number of passes $nr_of_tries = new ilTextInputGUI($this->lng->txt("tst_nr_of_tries"), "nr_of_tries"); $nr_of_tries->setSize(3); $nr_of_tries->setValue($this->object->getNrOfTries()); $nr_of_tries->setRequired(true); $nr_of_tries->setSuffix($this->lng->txt("0_unlimited")); if ($total) { $nr_of_tries->setDisabled(true); } $form->addItem($nr_of_tries); // enable max. processing time $processing = new ilCheckboxInputGUI($this->lng->txt("tst_processing_time"), "chb_processing_time"); $processing->setValue(1); //$processing->setOptionTitle($this->lng->txt("enabled")); if ($template_settings && $template_settings['chb_processing_time'] && $template_settings['chb_processing_time']['value']) { $processing->setChecked(true); } else { $processing->setChecked($this->object->getEnableProcessingTime()); } // max. processing time $processingtime = new ilDurationInputGUI('', 'processing_time'); $ptime = $this->object->getProcessingTimeAsArray(); $processingtime->setHours($ptime['hh']); $processingtime->setMinutes($ptime['mm']); $processingtime->setSeconds($ptime['ss']); $processingtime->setShowMonths(false); $processingtime->setShowDays(false); $processingtime->setShowHours(true); $processingtime->setShowMinutes(true); $processingtime->setShowSeconds(true); $processingtime->setInfo($this->lng->txt("tst_processing_time_desc")); $processing->addSubItem($processingtime); // reset max. processing time $resetprocessing = new ilCheckboxInputGUI('', "chb_reset_processing_time"); $resetprocessing->setValue(1); $resetprocessing->setOptionTitle($this->lng->txt("tst_reset_processing_time")); $resetprocessing->setChecked($this->object->getResetProcessingTime()); $resetprocessing->setInfo($this->lng->txt("tst_reset_processing_time_desc")); $processing->addSubItem($resetprocessing); $form->addItem($processing); // enable starting time $enablestartingtime = new ilCheckboxInputGUI($this->lng->txt("tst_starting_time"), "chb_starting_time"); $enablestartingtime->setValue(1); //$enablestartingtime->setOptionTitle($this->lng->txt("enabled")); if ($template_settings && $template_settings['chb_starting_time'] && $template_settings['chb_starting_time']['value']) { $enablestartingtime->setChecked(true); } else { $enablestartingtime->setChecked(strlen($this->object->getStartingTime())); } // starting time $startingtime = new ilDateTimeInputGUI('', 'starting_time'); $startingtime->setShowDate(true); $startingtime->setShowTime(true); if (strlen($this->object->getStartingTime())) { $startingtime->setDate(new ilDateTime($this->object->getStartingTime(), IL_CAL_TIMESTAMP)); } else { $startingtime->setDate(new ilDateTime(time(), IL_CAL_UNIX)); } $enablestartingtime->addSubItem($startingtime); if ($total) { $enablestartingtime->setDisabled(true); } if ($total) { $startingtime->setDisabled(true); } $form->addItem($enablestartingtime); // enable ending time $enableendingtime = new ilCheckboxInputGUI($this->lng->txt("tst_ending_time"), "chb_ending_time"); $enableendingtime->setValue(1); //$enableendingtime->setOptionTitle($this->lng->txt("enabled")); if ($template_settings && $template_settings['chb_ending_time'] && $template_settings['chb_ending_time']['value']) { $enableendingtime->setChecked(true); } else { $enableendingtime->setChecked(strlen($this->object->getEndingTime())); } // ending time $endingtime = new ilDateTimeInputGUI('', 'ending_time'); $endingtime->setShowDate(true); $endingtime->setShowTime(true); if (strlen($this->object->getEndingTime())) { $endingtime->setDate(new ilDateTime($this->object->getEndingTime(), IL_CAL_TIMESTAMP)); } else { $endingtime->setDate(new ilDateTime(time(), IL_CAL_UNIX)); } $enableendingtime->addSubItem($endingtime); $form->addItem($enableendingtime); // test password $password = new ilTextInputGUI($this->lng->txt("tst_password"), "password"); $password->setSize(20); $password->setValue($this->object->getPassword()); $password->setInfo($this->lng->txt("tst_password_details")); $form->addItem($password); if (!$template || $template && $this->formShowPresentationSection($template_settings)) { // sequence properties $seqheader = new ilFormSectionHeaderGUI(); $seqheader->setTitle($this->lng->txt("tst_presentation_properties")); $form->addItem($seqheader); } // use previous answers $prevanswers = new ilCheckboxInputGUI($this->lng->txt("tst_use_previous_answers"), "chb_use_previous_answers"); $prevanswers->setValue(1); $prevanswers->setChecked($this->object->getUsePreviousAnswers()); $prevanswers->setInfo($this->lng->txt("tst_use_previous_answers_description")); $form->addItem($prevanswers); // force js $forcejs = new ilCheckboxInputGUI($this->lng->txt("forcejs_short"), "forcejs"); $forcejs->setValue(1); $forcejs->setChecked($this->object->getForceJS()); $forcejs->setOptionTitle($this->lng->txt("forcejs")); $forcejs->setInfo($this->lng->txt("forcejs_desc")); $form->addItem($forcejs); // question title output $title_output = new ilRadioGroupInputGUI($this->lng->txt("tst_title_output"), "title_output"); $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_full"), 0, '')); $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_hide_points"), 1, '')); $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_no_title"), 2, '')); $title_output->setValue($this->object->getTitleOutput()); $title_output->setInfo($this->lng->txt("tst_title_output_description")); $form->addItem($title_output); // Autosave $autosave_output = new ilCheckboxInputGUI($this->lng->txt('autosave'), 'autosave'); $autosave_output->setValue(1); $autosave_output->setChecked($this->object->getAutosave()); $autosave_output->setInfo($this->lng->txt('autosave_info')); $autosave_interval = new ilTextInputGUI($this->lng->txt('autosave_ival'), 'autosave_ival'); $autosave_interval->setSize(10); $autosave_interval->setValue($this->object->getAutosaveIval()); $autosave_interval->setInfo($this->lng->txt('autosave_ival_info')); $autosave_output->addSubItem($autosave_interval); $form->addItem($autosave_output); if (!$template || $template && $this->formShowSequenceSection($template_settings)) { // sequence properties $seqheader = new ilFormSectionHeaderGUI(); $seqheader->setTitle($this->lng->txt("tst_sequence_properties")); $form->addItem($seqheader); } // postpone questions $postpone = new ilCheckboxInputGUI($this->lng->txt("tst_postpone"), "chb_postpone"); $postpone->setValue(1); $postpone->setChecked($this->object->getSequenceSettings()); $postpone->setInfo($this->lng->txt("tst_postpone_description")); $form->addItem($postpone); // shuffle questions $shuffle = new ilCheckboxInputGUI($this->lng->txt("tst_shuffle_questions"), "chb_shuffle_questions"); $shuffle->setValue(1); $shuffle->setChecked($this->object->getShuffleQuestions()); $shuffle->setInfo($this->lng->txt("tst_shuffle_questions_description")); $form->addItem($shuffle); // show list of questions $list_of_questions = new ilCheckboxInputGUI($this->lng->txt("tst_show_summary"), "list_of_questions"); //$list_of_questions->setOptionTitle($this->lng->txt("tst_show_summary")); $list_of_questions->setValue(1); $list_of_questions->setChecked($this->object->getListOfQuestions()); $list_of_questions->setInfo($this->lng->txt("tst_show_summary_description")); $list_of_questions_options = new ilCheckboxGroupInputGUI('', "list_of_questions_options"); $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_start"), 'chb_list_of_questions_start', '')); $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_end"), 'chb_list_of_questions_end', '')); $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_with_description"), 'chb_list_of_questions_with_description', '')); $values = array(); if ($this->object->getListOfQuestionsStart()) { array_push($values, 'chb_list_of_questions_start'); } if ($this->object->getListOfQuestionsEnd()) { array_push($values, 'chb_list_of_questions_end'); } if ($this->object->getListOfQuestionsDescription()) { array_push($values, 'chb_list_of_questions_with_description'); } $list_of_questions_options->setValue($values); $list_of_questions->addSubItem($list_of_questions_options); $form->addItem($list_of_questions); // show question marking $marking = new ilCheckboxInputGUI($this->lng->txt("question_marking"), "chb_show_marker"); $marking->setValue(1); $marking->setChecked($this->object->getShowMarker()); $marking->setInfo($this->lng->txt("question_marking_description")); $form->addItem($marking); // show suspend test $cancel = new ilCheckboxInputGUI($this->lng->txt("tst_show_cancel"), "chb_show_cancel"); $cancel->setValue(1); $cancel->setChecked($this->object->getShowCancel()); $cancel->setInfo($this->lng->txt("tst_show_cancel_description")); $form->addItem($cancel); if (!$template || $template && $this->formShowNotificationSection($template_settings)) { // notifications $notifications = new ilFormSectionHeaderGUI(); $notifications->setTitle($this->lng->txt("tst_mail_notification")); $form->addItem($notifications); } // mail notification $mailnotification = new ilRadioGroupInputGUI($this->lng->txt("tst_finish_notification"), "mailnotification"); $mailnotification->addOption(new ilRadioOption($this->lng->txt("tst_finish_notification_no"), 0, '')); $mailnotification->addOption(new ilRadioOption($this->lng->txt("tst_finish_notification_simple"), 1, '')); $mailnotification->addOption(new ilRadioOption($this->lng->txt("tst_finish_notification_advanced"), 2, '')); $mailnotification->setValue($this->object->getMailNotification()); $form->addItem($mailnotification); $mailnottype = new ilCheckboxInputGUI('', "mailnottype"); $mailnottype->setValue(1); $mailnottype->setOptionTitle($this->lng->txt("mailnottype")); $mailnottype->setChecked($this->object->getMailNotificationType()); $form->addItem($mailnottype); /* This options always active (?) */ $highscore_head = new ilFormSectionHeaderGUI(); $highscore_head->setTitle($this->lng->txt("tst_highscore_options")); $form->addItem($highscore_head); $highscore = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_enabled"), "highscore_enabled"); $highscore->setValue(1); $highscore->setChecked($this->object->getHighscoreEnabled()); $highscore->setInfo($this->lng->txt("tst_highscore_description")); $form->addItem($highscore); $highscore_anon = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_anon"), "highscore_anon"); $highscore_anon->setValue(1); $highscore_anon->setChecked($this->object->getHighscoreAnon()); $highscore_anon->setInfo($this->lng->txt("tst_highscore_anon_description")); $highscore->addSubItem($highscore_anon); $highscore_achieved_ts = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_achieved_ts"), "highscore_achieved_ts"); $highscore_achieved_ts->setValue(1); $highscore_achieved_ts->setChecked($this->object->getHighscoreAchievedTS()); $highscore_achieved_ts->setInfo($this->lng->txt("tst_highscore_achieved_ts_description")); $highscore->addSubItem($highscore_achieved_ts); $highscore_score = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_score"), "highscore_score"); $highscore_score->setValue(1); $highscore_score->setChecked($this->object->getHighscoreScore()); $highscore_score->setInfo($this->lng->txt("tst_highscore_score_description")); $highscore->addSubItem($highscore_score); $highscore_percentage = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_percentage"), "highscore_percentage"); $highscore_percentage->setValue(1); $highscore_percentage->setChecked($this->object->getHighscorePercentage()); $highscore_percentage->setInfo($this->lng->txt("tst_highscore_percentage_description")); $highscore->addSubItem($highscore_percentage); $highscore_hints = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_hints"), "highscore_hints"); $highscore_hints->setValue(1); $highscore_hints->setChecked($this->object->getHighscoreHints()); $highscore_hints->setInfo($this->lng->txt("tst_highscore_hints_description")); $highscore->addSubItem($highscore_hints); $highscore_wtime = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_wtime"), "highscore_wtime"); $highscore_wtime->setValue(1); $highscore_wtime->setChecked($this->object->getHighscoreWTime()); $highscore_wtime->setInfo($this->lng->txt("tst_highscore_wtime_description")); $highscore->addSubItem($highscore_wtime); $highscore_own_table = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_own_table"), "highscore_own_table"); $highscore_own_table->setValue(1); $highscore_own_table->setChecked($this->object->getHighscoreOwnTable()); $highscore_own_table->setInfo($this->lng->txt("tst_highscore_own_table_description")); $highscore->addSubItem($highscore_own_table); $highscore_top_table = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_top_table"), "highscore_top_table"); $highscore_top_table->setValue(1); $highscore_top_table->setChecked($this->object->getHighscoreTopTable()); $highscore_top_table->setInfo($this->lng->txt("tst_highscore_top_table_description")); $highscore->addSubItem($highscore_top_table); $highscore_top_num = new ilTextInputGUI($this->lng->txt("tst_highscore_top_num"), "highscore_top_num"); $highscore_top_num->setSize(4); $highscore_top_num->setSuffix($this->lng->txt("tst_highscore_top_num_unit")); $highscore_top_num->setValue($this->object->getHighscoreTopNum()); $highscore_top_table->setInfo($this->lng->txt("tst_highscore_top_num_description")); $highscore->addSubItem($highscore_top_num); if (!$template || $template && $this->formShowKioskSection($template_settings)) { // kiosk mode properties $kioskheader = new ilFormSectionHeaderGUI(); $kioskheader->setTitle($this->lng->txt("kiosk")); $form->addItem($kioskheader); } // kiosk mode $kiosk = new ilCheckboxInputGUI($this->lng->txt("kiosk"), "kiosk"); $kiosk->setValue(1); $kiosk->setChecked($this->object->getKioskMode()); $kiosk->setInfo($this->lng->txt("kiosk_description")); // kiosk mode options $kiosktitle = new ilCheckboxGroupInputGUI($this->lng->txt("kiosk_options"), "kiosk_options"); $kiosktitle->addOption(new ilCheckboxOption($this->lng->txt("kiosk_show_title"), 'kiosk_title', '')); $kiosktitle->addOption(new ilCheckboxOption($this->lng->txt("kiosk_show_participant"), 'kiosk_participant', '')); $values = array(); if ($this->object->getShowKioskModeTitle()) { array_push($values, 'kiosk_title'); } if ($this->object->getShowKioskModeParticipant()) { array_push($values, 'kiosk_participant'); } $kiosktitle->setValue($values); $kiosktitle->setInfo($this->lng->txt("kiosk_options_desc")); $kiosk->addSubItem($kiosktitle); $form->addItem($kiosk); if (!$template || $template && $this->formShowParticipantSection($template_settings)) { // participants properties $restrictions = new ilFormSectionHeaderGUI(); $restrictions->setTitle($this->lng->txt("tst_max_allowed_users")); $form->addItem($restrictions); } $fixedparticipants = new ilCheckboxInputGUI($this->lng->txt('participants_invitation'), "fixedparticipants"); $fixedparticipants->setValue(1); $fixedparticipants->setChecked($this->object->getFixedParticipants()); $fixedparticipants->setOptionTitle($this->lng->txt("tst_allow_fixed_participants")); $fixedparticipants->setInfo($this->lng->txt("participants_invitation_description")); $invited_users = $this->object->getInvitedUsers(); if ($total && count($invited_users) == 0) { $fixedparticipants->setDisabled(true); } $form->addItem($fixedparticipants); // simultaneous users $simul = new ilTextInputGUI($this->lng->txt("tst_allowed_users"), "allowedUsers"); $simul->setSize(3); $simul->setValue($this->object->getAllowedUsers() ? $this->object->getAllowedUsers() : ''); $form->addItem($simul); // idle time $idle = new ilTextInputGUI($this->lng->txt("tst_allowed_users_time_gap"), "allowedUsersTimeGap"); $idle->setSize(4); $idle->setSuffix($this->lng->txt("seconds")); $idle->setValue($this->object->getAllowedUsersTimeGap() ? $this->object->getAllowedUsersTimeGap() : ''); $form->addItem($idle); // Edit ecs export settings include_once 'Modules/Test/classes/class.ilECSTestSettings.php'; $ecs = new ilECSTestSettings($this->object); $ecs->addSettingsToForm($form, 'tst'); if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) { $form->addCommandButton("saveProperties", $this->lng->txt("save")); } // remove items when using template if ($template_settings) { foreach ($template_settings as $id => $item) { if ($item["hide"]) { $form->removeItemByPostVar($id); } } } $errors = false; if ($save) { $errors = !$form->checkInput(); $form->setValuesByPost(); if ($online->getChecked() && !$this->object->isComplete()) { $online->setAlert($this->lng->txt("cannot_switch_to_online_no_questions_andor_no_mark_steps")); ilUtil::sendFailure($this->lng->txt('form_input_not_valid')); $errors = true; } if ($errors) { $checkonly = false; } } if (!$checkonly) { // using template? $message = ""; if ($template) { global $tpl; $link = $this->ctrl->getLinkTarget($this, "confirmResetTemplate"); $link = "<a href=\"" . $link . "\">" . $this->lng->txt("test_using_template_link") . "</a>"; $message = "<div style=\"margin-top:10px\">" . $tpl->getMessageHTML(sprintf($this->lng->txt("test_using_template"), $template->getTitle(), $link), "info") . "</div>"; } $this->tpl->setVariable("ADM_CONTENT", $form->getHTML() . $message); } return $errors; }
public function settings() { global $rbacreview; $this->tabs_gui->setSubTabActive('shib_settings'); // set already saved data or default value for port $settings = $this->ilias->getAllSettings(); // Compose role list $role_list = $rbacreview->getRolesByFilter(2); $role = array(); if (!isset($settings["shib_user_default_role"])) { $settings["shib_user_default_role"] = 4; } if (!isset($settings["shib_idp_list"]) || $settings["shib_idp_list"] == '') { $settings["shib_idp_list"] = "urn:mace:organization1:providerID, Example Organization 1\nurn:mace:organization2:providerID, Example Organization 2, /Shibboleth.sso/WAYF/SWITCHaai"; } if (!isset($settings["shib_login_button"]) || $settings["shib_login_button"] == '') { $settings["shib_login_button"] = "templates/default/images/shib_login_button.png"; } if (!isset($settings["shib_hos_type"]) || $settings["shib_hos_type"] == '') { $settings["shib_hos_type"] = 'internal_wayf'; } foreach ($role_list as $data) { $role[$data["obj_id"]] = $data["title"]; } // Set text field content $shib_settings = array('shib_login', 'shib_title', 'shib_firstname', 'shib_lastname', 'shib_email', 'shib_gender', 'shib_institution', 'shib_department', 'shib_zipcode', 'shib_city', 'shib_country', 'shib_street', 'shib_phone_office', 'shib_phone_home', 'shib_phone_mobile', 'shib_language', 'shib_matriculation'); //set PropertyFormGUI include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $propertys = new ilPropertyFormGUI(); $propertys->setTitle($this->lng->txt("shib")); $propertys->setFormAction($this->ctrl->getFormAction($this, "save")); $propertys->addCommandButton("save", $this->lng->txt("save")); $propertys->addCommandButton("settings", $this->lng->txt("cancel")); //set enable shibboleth support $enable = new ilCheckboxInputGUI(); $enable->setTitle($this->lng->txt("shib_active")); $read_me_link = "./Services/AuthShibboleth/README.SHIBBOLETH.txt"; $info = "<a href='" . $read_me_link . "' target='_blank'>" . $this->lng->txt("auth_shib_instructions") . "</a>"; $enable->setInfo($info); $enable->setPostVar("shib[active]"); $enable->setChecked($settings["shib_active"]); //set allow local authentication $local = new ilCheckboxInputGUI(); $local->setTitle($this->lng->txt("auth_allow_local")); $local->setPostVar("shib[auth_allow_local]"); $local->setChecked($settings['shib_auth_allow_local']); //set user default role $defaultrole = new ilSelectInputGUI(); $defaultrole->setTitle($this->lng->txt("shib_user_default_role")); $defaultrole->setPostVar("shib[user_default_role]"); $defaultrole->setOptions($role); $defaultrole->setRequired(true); $defaultrole->setValue($settings["shib_user_default_role"]); //set name of federation $name = new ilTextInputGUI(); $name->setTitle($this->lng->txt("shib_federation_name")); $name->setPostVar("shib[federation_name]"); $name->setSize(40); $name->setMaxLength(50); $name->setRequired(true); $name->setValue(stripslashes($settings["shib_federation_name"])); //set Organize selection group include_once "./Services/Form/classes/class.ilRadioGroupInputGUI.php"; include_once "./Services/Form/classes/class.ilRadioOption.php"; $organize = new ilRadioGroupInputGUI(); $organize->setTitle($this->lng->txt("shib_login_type")); $organize->setPostVar("shib[hos_type]"); $organize->setRequired(true); $organize->setValue($settings["shib_hos_type"]); //set 1. option internalwayf $internalwayf = new ilRadioOption(); $internalwayf->setTitle($this->lng->txt("shib_login_internal_wayf")); $internalwayf->setValue("internal_wayf"); //set 1. option internalwayf textbox idplist $idplist = new ilTextAreaInputGUI(); $idplist->setInfo($this->lng->txt("shib_idp_list")); $idplist->setPostVar("shib[idp_list]"); $idplist->setRows(3); $idplist->setCols(50); $idplist->setValue($settings["shib_idp_list"]); //set 2. Option externalwayf $externalwayf = new ilRadioOption(); $externalwayf->setTitle($this->lng->txt("shib_login_external_wayf")); $externalwayf->setValue("external_wayf"); //set 2. Option externalwayf textfield path to login button image $loginbutton = new ilTextInputGUI(); $loginbutton->setInfo($this->lng->txt("shib_login_button")); $loginbutton->setPostVar("shib[login_button]"); $loginbutton->setSize(50); $loginbutton->setMaxLength(255); $loginbutton->setValue($settings["shib_login_button"]); //set 3. Option embeddedwayf $embeddedwayf = new ilRadioOption(); $embeddedwayf->setTitle($this->lng->txt("shib_login_embedded_wayf")); $embeddedwayf->setInfo($this->lng->txt("shib_login_embedded_wayf_description")); $embeddedwayf->setValue("embedded_wayf"); //set login instructions $logininstruction = new ilTextAreaInputGUI(); $logininstruction->setTitle($this->lng->txt("auth_login_instructions")); $logininstruction->setPostVar("shib[login_instructions]"); $logininstruction->setRows(3); $logininstruction->setCols(50); $logininstruction->setValue(stripslashes($settings["shib_login_instructions"])); //set path to data manipulation API $dataconv = new ilTextInputGUI(); $dataconv->setTitle($this->lng->txt("shib_data_conv")); $dataconv->setPostVar("shib[data_conv]"); $dataconv->setSize(80); $dataconv->setMaxLength(512); $dataconv->setValue($settings["shib_data_conv"]); //field mappings $fields = array(); foreach ($shib_settings as $setting) { $field = ereg_replace('shib_', '', $setting); $textinput = new ilTextInputGUI(); $textinput->setTitle($this->lng->txt($setting)); $textinput->setPostVar("shib[" . $field . "]"); $textinput->setValue($settings[$setting]); $textinput->setSize(40); $textinput->setMaxLength(50); $checkinput = new ilCheckboxInputGUI(""); $checkinput->setOptionTitle($this->lng->txt("shib_update")); $checkinput->setPostVar("shib[update_" . $field . "]"); $checkinput->setChecked($settings["shib_update_" . $field]); if ($setting == 'shib_login' || $setting == 'shib_title' || $setting == 'shib_firstname' || $setting == 'shib_lastname' || $setting == 'shib_email') { $textinput->setRequired(true); } $fields[$setting] = array("text" => $textinput, "check" => $checkinput); } $propertys->addItem($enable); $propertys->addItem($local); $propertys->addItem($defaultrole); $propertys->addItem($name); $internalwayf->addSubItem($idplist); $organize->addOption($internalwayf); $externalwayf->addSubItem($loginbutton); $organize->addOption($externalwayf); $organize->addOption($embeddedwayf); $propertys->addItem($organize); $propertys->addItem($logininstruction); $propertys->addItem($dataconv); foreach ($shib_settings as $setting) { $propertys->addItem($fields[$setting]["text"]); if ($setting != "shib_login") { $propertys->addItem($fields[$setting]["check"]); } } $this->tpl->setContent($propertys->getHTML()); }
/** * @param $type_id * @param ilDataCollectionField $field * @return ilCheckboxInputGUI|ilDateTimeInputGUI|ilFileInputGUI|ilTextInputGUI|NULL */ static function getInputField(ilDataCollectionField $field) { global $lng; $type_id = $field->getDatatypeId(); $title = $field->getTitle(); switch ($type_id) { case ilDataCollectionDatatype::INPUTFORMAT_TEXT: $input = new ilTextInputGUI($title, 'field_' . $field->getId()); if ($field->getTextArea()) { $input = new ilTextAreaInputGUI($title, 'field_' . $field->getId()); } if ($field->getLength()) { $input->setInfo($lng->txt("dcl_max_text_length") . ": " . $field->getLength()); if (!$field->getTextArea()) { $input->setMaxLength($field->getLength()); } } break; case ilDataCollectionDatatype::INPUTFORMAT_NUMBER: $input = new ilTextInputGUI($title, 'field_' . $field->getId()); break; case ilDataCollectionDatatype::INPUTFORMAT_BOOLEAN: $input = new ilCheckboxInputGUI($title, 'field_' . $field->getId()); break; case ilDataCollectionDatatype::INPUTFORMAT_DATETIME: $input = new ilDateTimeInputGUI($title, 'field_' . $field->getId()); $input->setStartYear(date("Y") - 100); break; case ilDataCollectionDatatype::INPUTFORMAT_FILE: $input = new ilFileInputGUI($title, 'field_' . $field->getId()); break; case ilDataCollectionDatatype::INPUTFORMAT_REFERENCE: if (!$field->isNRef()) { $input = new ilSelectInputGUI($title, 'field_' . $field->getId()); } else { $input = new ilMultiSelectInputGUI($title, 'field_' . $field->getId()); } break; case ilDataCollectionDatatype::INPUTFORMAT_RATING: $input = new ilTextInputGUI($title, 'field_' . $field->getId()); $input->setValue($lng->txt("dcl_editable_in_table_gui")); $input->setDisabled(true); break; case ilDataCollectionDatatype::INPUTFORMAT_ILIAS_REF: $input = new ilDataCollectionTreePickInputGUI($title, 'field_' . $field->getId()); break; case ilDataCollectionDatatype::INPUTFORMAT_MOB: $input = new ilImageFileInputGUI($title, 'field_' . $field->getId()); $input->setAllowDeletion(true); break; } if ($field->getDescription()) { $input->setInfo($field->getDescription() . ($input->getInfo() ? "<br>" . $input->getInfo() : "")); } return $input; }
/** * fill registration type * * @access protected * @return */ protected function fillRegistrationType() { global $ilUser; if ($this->container->getSubscriptionLimitationType() == IL_CRS_SUBSCRIPTION_DEACTIVATED) { $reg = new ilCustomInputGUI($this->lng->txt('mem_reg_type')); #$reg->setHtml($this->lng->txt('crs_info_reg_deactivated')); $reg->setAlert($this->lng->txt('crs_info_reg_deactivated')); #ilUtil::sendFailure($this->lng->txt('crs_info_reg_deactivated')); #$reg = new ilNonEditableValueGUI($this->lng->txt('mem_reg_type')); #$reg->setValue($this->lng->txt('crs_info_reg_deactivated')); #$reg->setAlert($this->lng->txt('grp_reg_deactivated_alert')); $this->form->addItem($reg); // Disable registration $this->enableRegistration(false); return true; } switch ($this->container->getSubscriptionType()) { case IL_CRS_SUBSCRIPTION_DIRECT: // no "request" info if waiting list is active if ($this->isWaitingListActive()) { return true; } $txt = new ilNonEditableValueGUI($this->lng->txt('mem_reg_type')); $txt->setValue($this->lng->txt('crs_info_reg_direct')); $this->form->addItem($txt); break; case IL_CRS_SUBSCRIPTION_PASSWORD: $txt = new ilNonEditableValueGUI($this->lng->txt('mem_reg_type')); $txt->setValue($this->lng->txt('crs_subscription_options_password')); $pass = new ilTextInputGUI($this->lng->txt('passwd'), 'grp_passw'); $pass->setInputType('password'); $pass->setSize(12); $pass->setMaxLength(32); #$pass->setRequired(true); $pass->setInfo($this->lng->txt('crs_info_reg_password')); $txt->addSubItem($pass); $this->form->addItem($txt); break; case IL_CRS_SUBSCRIPTION_CONFIRMATION: // no "request" info if waiting list is active if ($this->isWaitingListActive()) { return true; } $txt = new ilNonEditableValueGUI($this->lng->txt('mem_reg_type')); $txt->setValue($this->lng->txt('crs_subscription_options_confirmation')); $sub = new ilTextAreaInputGUI($this->lng->txt('crs_reg_subject'), 'subject'); $sub->setValue($_POST['subject']); $sub->setInfo($this->lng->txt('crs_info_reg_confirmation')); $sub->setCols(40); $sub->setRows(5); if ($this->participants->isSubscriber($ilUser->getId())) { $sub_data = $this->participants->getSubscriberData($ilUser->getId()); $sub->setValue($sub_data['subject']); $sub->setInfo(''); ilUtil::sendFailure($this->lng->txt('crs_reg_user_already_subscribed')); $this->enableRegistration(false); } $txt->addSubItem($sub); $this->form->addItem($txt); break; default: return true; } return true; }
public function initNewsForm($a_mode = 'create', $view = 'news') { global $ilTabs, $rbacreview, $ilUser; if (!$rbacreview->isAssigned($ilUser->getId(), SYSTEM_ROLE_ID)) { $this->ilErr->raiseError($this->lng->txt('permission_denied'), $this->ilErr->MESSAGE); } if ($view == 'archive') { $ilTabs->setSubTabActive('archive'); } else { $ilTabs->setSubTabActive('news'); } // include_once('./Services/Form/classes/class.ilPropertyFormGUI.php'); $this->form_gui = new ilPropertyFormGUI(); $this->form_gui->setTitle($this->lng->txt('shopnews_settings')); $this->form_gui->setTitleIcon(ilUtil::getImagePath('icon_news.png')); // Property Title $text_input = new ilTextInputGUI($this->lng->txt('news_news_item_title'), 'news_title'); $text_input->setInfo(''); $text_input->setRequired(true); $text_input->setMaxLength(200); $text_input->setSize(93); $this->form_gui->addItem($text_input); // Property Content $text_area = new ilTextAreaInputGUI($this->lng->txt('news_news_item_content'), 'news_content'); $text_area->setInfo(''); $text_area->setRequired(false); $text_area->setCols(90); $text_area->setRows(10); $this->form_gui->addItem($text_area); // Property Visibility $radio_group = new ilRadioGroupInputGUI($this->lng->txt('news_news_item_visibility'), 'news_visibility'); $radio_option = new ilRadioOption($this->lng->txt('news_visibility_users'), 'users'); $radio_group->addOption($radio_option); $radio_option = new ilRadioOption($this->lng->txt('news_visibility_public'), 'public'); $radio_group->addOption($radio_option); $radio_group->setInfo($this->lng->txt('news_news_item_visibility_info')); $radio_group->setRequired(false); $radio_group->setValue('users'); $this->form_gui->addItem($radio_group); // save and cancel commands if ($a_mode == 'create') { $this->form_gui->addCommandButton('saveNews', $this->lng->txt('save')); $this->form_gui->addCommandButton('showNews', $this->lng->txt('cancel')); $this->form_gui->setFormAction($this->ctrl->getFormAction($this, 'saveNews')); } else { $this->ctrl->setParameter($this, 'news_id', $this->oCurrentNewsItem->getId()); if ($view == 'archive') { $this->form_gui->addCommandButton('updateArchiveNews', $this->lng->txt('save')); $this->form_gui->addCommandButton('showArchive', $this->lng->txt('cancel')); $this->form_gui->setFormAction($this->ctrl->getFormAction($this, 'updateArchiveNews')); } else { $this->form_gui->addCommandButton('updateNews', $this->lng->txt('save')); $this->form_gui->addCommandButton('showNews', $this->lng->txt('cancel')); $this->form_gui->setFormAction($this->ctrl->getFormAction($this, 'updateNews')); } } $this->form_gui->setTitle($this->lng->txt('news_news_item_head')); $this->tpl->setVariable('ADM_CONTENT', $this->form_gui->getHtml()); }
/** * Init quick edit form. */ public function initQuickEditForm() { global $lng, $ilCtrl; include_once "Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form = new ilPropertyFormGUI(); // title $ti = new ilTextInputGUI($this->lng->txt("title"), "gen_title"); $ti->setMaxLength(200); $ti->setSize(50); $ti->setRequired(true); $ti->setValue($this->md_section->getTitle()); $this->form->addItem($ti); // description(s) foreach ($ids = $this->md_section->getDescriptionIds() as $id) { $md_des = $this->md_section->getDescription($id); $ta = new ilTextAreaInputGUI($this->lng->txt("meta_description"), "gen_description[" . $id . "][description]"); $ta->setCols(50); $ta->setRows(4); $ta->setValue($md_des->getDescription()); if (count($ids) > 1) { $ta->setInfo($this->lng->txt("meta_l_" . $md_des->getDescriptionLanguageCode())); } $this->form->addItem($ta); } // language(s) $first = ""; $options = ilMDLanguageItem::_getLanguages(); foreach ($ids = $this->md_section->getLanguageIds() as $id) { $md_lan = $this->md_section->getLanguage($id); $first_lang = $md_lan->getLanguageCode(); $si = new ilSelectInputGUI($this->lng->txt("meta_language"), "gen_language[" . $id . "][language]"); $si->setOptions($options); $si->setValue($md_lan->getLanguageCode()); $this->form->addItem($si); $first = false; } if ($first) { $si = new ilSelectInputGUI($this->lng->txt("meta_language"), "gen_language[][language]"); $si->setOptions($options); $this->form->addItem($si); } // keyword(s) $first = true; $keywords = array(); foreach ($ids = $this->md_section->getKeywordIds() as $id) { $md_key = $this->md_section->getKeyword($id); if (trim($md_key->getKeyword()) != "") { $keywords[$md_key->getKeywordLanguageCode()][] = $md_key->getKeyword(); } } foreach ($keywords as $lang => $keyword_set) { $kw = new ilTextInputGUI($this->lng->txt("keywords"), "keywords[value][" . $lang . "]"); $kw->setDataSource($this->ctrl->getLinkTarget($this, "keywordAutocomplete", "", true)); $kw->setMaxLength(200); $kw->setSize(50); $kw->setMulti(true); if (count($keywords) > 1) { $kw->setInfo($this->lng->txt("meta_l_" . $lang)); } $this->form->addItem($kw); asort($keyword_set); $kw->setValue($keyword_set); } if (count($keywords) == 0) { $kw = new ilTextInputGUI($this->lng->txt("keywords"), "keywords[value][" . $first_lang . "]"); $kw->setDataSource($this->ctrl->getLinkTarget($this, "keywordAutocomplete", "", true)); $kw->setMaxLength(200); $kw->setSize(50); $kw->setMulti(true); $this->form->addItem($kw); } // Lifecycle... // Authors $ta = new ilTextAreaInputGUI($this->lng->txt('authors') . "<br />" . "(" . sprintf($this->lng->txt('md_separated_by'), $this->md_settings->getDelimiter()) . ")", "life_authors"); $ta->setCols(50); $ta->setRows(2); if (is_object($this->md_section = $this->md_obj->getLifecycle())) { $sep = $ent_str = ""; foreach ($ids = $this->md_section->getContributeIds() as $con_id) { $md_con = $this->md_section->getContribute($con_id); if ($md_con->getRole() == "Author") { foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) { $md_ent = $md_con->getEntity($ent_id); $ent_str = $ent_str . $sep . $md_ent->getEntity(); $sep = $this->md_settings->getDelimiter() . " "; } } } $ta->setValue($ent_str); } $this->form->addItem($ta); // copyright include_once "./Services/MetaData/classes/class.ilCopyrightInputGUI.php"; $cp = new ilCopyrightInputGUI($this->lng->txt("meta_copyright"), "copyright"); $cp->setCols(50); $cp->setRows(3); $desc = ilMDRights::_lookupDescription($this->md_obj->getRBACId(), $this->md_obj->getObjId()); $val["ta"] = $desc; $cp->setValue($val); $this->form->addItem($cp); // typical learning time include_once "./Services/MetaData/classes/class.ilTypicalLearningTimeInputGUI.php"; $tlt = new ilTypicalLearningTimeInputGUI($this->lng->txt("meta_typical_learning_time"), "tlt"); $edu = $this->md_obj->getEducational(); if (is_object($edu)) { $tlt->setValueByLOMDuration($edu->getTypicalLearningTime()); } $this->form->addItem($tlt); $this->form->addCommandButton("updateQuickEdit", $lng->txt("save")); $this->form->setTitle($this->lng->txt("meta_quickedit")); $this->form->setFormAction($ilCtrl->getFormAction($this)); return $this->form; }
public function populateQuestionSpecificFormPart(\ilPropertyFormGUI $form) { // ordertext $ordertext = new ilTextAreaInputGUI($this->lng->txt("ordertext"), "ordertext"); $ordertext->setValue($this->object->prepareTextareaOutput($this->object->getOrderText())); $ordertext->setRequired(TRUE); $ordertext->setInfo(sprintf($this->lng->txt("ordertext_info"), $this->object->separator)); $ordertext->setRows(10); $ordertext->setCols(80); $form->addItem($ordertext); // textsize $textsize = new ilNumberInputGUI($this->lng->txt("textsize"), "textsize"); $textsize->setValue($this->object->getTextSize()); $textsize->setInfo($this->lng->txt("textsize_info")); $textsize->setSize(6); $textsize->setMinValue(10); $textsize->setRequired(FALSE); $form->addItem($textsize); // points $points = new ilNumberInputGUI($this->lng->txt("points"), "points"); $points->allowDecimals(true); // mbecker: Fix for mantis bug 7866: Predefined values schould make sense. // This implements a default value of "1" for this question type. if ($this->object->getPoints() == null) { $points->setValue("1"); } else { $points->setValue($this->object->getPoints()); } $points->setRequired(TRUE); $points->setSize(3); $points->setMinValue(0.0); $points->setMinvalueShouldBeGreater(true); $form->addItem($points); }
/** * add type specific input fields to a form * * @param object form, property or radio option * @param array (assoc) input values * @param string configuration level ("type" or "object") * @param string parent field value * @param string parent option value * @param int maximum recursion depth */ function addFormElements($a_object, $a_values = array(), $a_level = "object", $a_parentfield = '', $a_parentvalue = '', $a_maxdepth = "3") { // recursion end if ($a_maxdepth == 0) { return; } foreach ($this->getInputFields($a_level, $a_parentfield, $a_parentvalue) as $field) { $value = $a_values['field_' . $field->field_name]; $value = $value ? $value : $field->default; switch ($field->field_type) { case self::FIELDTYPE_HEADER: $item = new ilFormSectionHeaderGUI(); $item->setTitle($field->title); break; case self::FIELDTYPE_DESCRIPTION: $item = new ilCustomInputGUI($field->title); $item->setHtml(nl2br($field->description)); break; case self::FIELDTYPE_TEXT: $item = new ilTextInputGUI($field->title, 'field_' . $field->field_name); $item->setInfo($field->description); $item->setRequired($field->required ? true : false); $item->setSize($field->size); $item->setValue($value); break; case self::FIELDTYPE_TEXTAREA: $item = new ilTextAreaInputGUI($field->title, 'field_' . $field->field_name); $item->setInfo($field->description); $item->setRequired($field->required ? true : false); $item->setUseRte($field->richtext ? true : false); $item->setRows($field->rows); $item->setCols($field->cols); $item->setValue($value); break; case self::FIELDTYPE_PASSWORD: $item = new ilPasswordInputGUI($field->title, 'field_' . $field->field_name); $item->setInfo($field->description); $item->setRequired($field->required ? true : false); $item->setValue($value); break; case self::FIELDTYPE_CHECKBOX: $item = new ilCheckboxInputGUI($field->title, 'field_' . $field->field_name); $item->setInfo($field->description); if ($value) { $item->setChecked(true); } break; case self::FIELDTYPE_RADIO: $item = new ilRadioGroupInputGUI($field->title, 'field_' . $field->field_name); $item->setInfo($field->description); $item->setValue($value); foreach ($field->options as $option) { $ropt = new ilRadioOption($option->title, $option->value); $ropt->setInfo($option->description); // add the sub items to the option $item->addOption($ropt); $this->addFormElements($ropt, $a_values, $a_level, $field->field_name, $option->value, $a_maxdepth - 1); } break; default: continue 2; } // add the item to the form or to the parent item if (is_a($a_object, 'ilPropertyFormGUI')) { $a_object->addItem($item); } else { $a_object->addSubItem($item); } // add the sub items to the item if (is_a($item, 'ilSubEnabledFormPropertyGUI')) { $this->addFormElements($item, $a_level, $a_values, $field->field_name, '', $a_maxdepth - 1); } } }
/** * init propertyformgui for Assignment of LDAP Attributes to ILIAS User Profile * @param string $command command methode * @return \ilPropertyFormGUI */ private function initRoleMappingForm($command) { include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $this->setSubTabs(); $this->tabs_gui->setSubTabActive('ldap_role_mapping'); if (isset($_GET["mapping_id"])) { $this->ctrl->setParameter($this, 'mapping_id', $_GET["mapping_id"]); } $propertie_form = new ilPropertyFormGUI(); $propertie_form->setFormAction($this->ctrl->getFormAction($this, $command)); $propertie_form->addCommandButton($command, $this->lng->txt('save')); $propertie_form->addCommandButton("roleMapping", $this->lng->txt('cancel')); $url = new ilTextInputGUI($this->lng->txt('ldap_server')); $url->setPostVar("url"); $url->setSize(50); $url->setMaxLength(255); $url->setRequired(true); $group_dn = new ilTextInputGUI($this->lng->txt('ldap_group_dn')); $group_dn->setPostVar("dn"); $group_dn->setSize(50); $group_dn->setMaxLength(255); $group_dn->setInfo($this->lng->txt('ldap_dn_info')); $group_dn->setRequired(true); $member = new ilTextInputGUI($this->lng->txt('ldap_group_member')); $member->setPostVar("member"); $member->setSize(32); $member->setMaxLength(255); $member->setInfo($this->lng->txt('ldap_member_info')); $member->setRequired(true); $member_isdn = new ilCheckboxInputGUI(""); $member_isdn->setPostVar("memberisdn"); $member_isdn->setOptionTitle($this->lng->txt('ldap_memberisdn')); $role = new ilTextInputGUI($this->lng->txt('ldap_ilias_role')); $role->setPostVar("role"); $role->setSize(32); $role->setMaxLength(255); $role->setInfo($this->lng->txt('ldap_role_info')); $role->setRequired(true); $info = new ilTextAreaInputGUI($this->lng->txt('ldap_info_text')); $info->setPostVar("info"); $info->setCols(50); $info->setRows(3); $info->setInfo($this->lng->txt('ldap_info_text_info')); $info_type = new ilCheckboxInputGUI(""); $info_type->setPostVar("info_type"); $info_type->setOptionTitle($this->lng->txt('ldap_mapping_info_type')); $propertie_form->addItem($url); $propertie_form->addItem($group_dn); $propertie_form->addItem($member); $propertie_form->addItem($member_isdn); $propertie_form->addItem($role); $propertie_form->addItem($info); $propertie_form->addItem($info_type); return $propertie_form; }
/** * Init the form to edit the type settings * * @param array values to set */ private function initFormSettings($a_values = array()) { global $lng, $ilCtrl; include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setFormAction($ilCtrl->getFormAction($this)); $form->setTitle($lng->txt('settings')); $item = new ilTextInputGUI($this->txt('type_name'), 'name'); $item->setValue($a_values['name']); $item->setInfo($this->txt('type_name_info')); $item->setRequired(true); $item->setMaxLength(32); $form->addItem($item); $item = new ilTextInputGUI($lng->txt('title'), 'title'); $item->setValue($a_values['title']); $item->setInfo($this->txt('type_title_info')); $item->setRequired(true); $item->setMaxLength(255); $form->addItem($item); $item = new ilTextInputGUI($lng->txt('description'), 'description'); $item->setValue($a_values['description']); $item->setInfo($this->txt('type_description_info')); $form->addItem($item); $item = new ilSelectInputGUI($this->txt('type_availability'), 'availability'); $item->setOptions(array(ilExternalContentType::AVAILABILITY_CREATE => $this->txt('availability_' . ilExternalContentType::AVAILABILITY_CREATE), ilExternalContentType::AVAILABILITY_EXISTING => $this->txt('availability_' . ilExternalContentType::AVAILABILITY_EXISTING), ilExternalContentType::AVAILABILITY_NONE => $this->txt('availability_' . ilExternalContentType::AVAILABILITY_NONE))); $item->setValue($a_values['availability']); $item->setInfo($this->txt('type_availability_info')); $item->setRequired(true); $form->addItem($item); $item = new ilTextAreaInputGUI($this->txt('type_remarks'), 'remarks'); $item->setInfo($this->txt('type_remarks_info')); $item->setValue($a_values['remarks']); $item->setRows(5); $item->setCols(80); $form->addItem($item); // add the type specific fields $this->type->addFormElements($form, $a_values, "type"); /* // TOKEN MANAGEMENT $item5 = new ilTextInputGUI($this->txt('type_time_to_delete'), 'time_to_delete'); $item5->setInfo($this->txt('type_time_to_delete_info')); if(!$type->getTimeToDelete()){ $item5->setValue(10); }else{ $item5->setValue($this->type->getTimeToDelete()); } $item5->setRequired(true); $item5->setMaxLength(32); $form->addItem($item5); //LOG MANAGEMENT $item9 = new ilSelectInputGUI($this->txt('log_set'), 'use_logs'); $item9->setOptions( array( "ON" => $this->txt('log_on'), "OFF" => $this->txt('log_off') ) ); $item9->setInfo($this->txt('logs_info')); $item9->setRequired(true); $item9->setValue($this->type->getUseLogs()); $form->addItem($item9); //LEARNING PROGRESS MANAGEMENT $item10 = new ilSelectInputGUI($this->txt('learning_progress_set'), 'use_learning_progress'); $item10->setOptions( array( "ON" => $this->txt('lp_on'), "OFF" => $this->txt('lp_off') ) ); $item10->setInfo($this->txt('lp_info')); $item10->setRequired(true); $item10->setValue($this->type->getUseLearningProgress()); $form->addItem($item10); */ $form->addCommandButton('submitFormSettings', $lng->txt('save')); $this->form = $form; }
private function buildForm() { require_once 'Services/Form/classes/class.ilPropertyFormGUI.php'; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this)); $form->addCommandButton(self::CMD_SAVE_FORM, $this->lng->txt("save")); $form->setTableWidth("100%"); $form->setId("test_properties"); if (!$this->settingsTemplate || $this->formShowGeneralSection($this->settingsTemplate->getSettings())) { // general properties $header = new ilFormSectionHeaderGUI(); $header->setTitle($this->lng->txt("tst_general_properties")); $form->addItem($header); } // title & description (meta data) include_once 'Services/MetaData/classes/class.ilMD.php'; $md_obj = new ilMD($this->testOBJ->getId(), 0, "tst"); $md_section = $md_obj->getGeneral(); $title = new ilTextInputGUI($this->lng->txt("title"), "title"); $title->setRequired(true); $title->setValue($md_section->getTitle()); $form->addItem($title); $ids = $md_section->getDescriptionIds(); if ($ids) { $desc_obj = $md_section->getDescription(array_pop($ids)); $desc = new ilTextAreaInputGUI($this->lng->txt("description"), "description"); $desc->setCols(50); $desc->setRows(4); $desc->setValue($desc_obj->getDescription()); $form->addItem($desc); } // anonymity $anonymity = new ilRadioGroupInputGUI($this->lng->txt('tst_anonymity'), 'anonymity'); if ($this->testOBJ->participantDataExist()) { $anonymity->setDisabled(true); } $rb = new ilRadioOption($this->lng->txt('tst_anonymity_no_anonymization'), 0); $anonymity->addOption($rb); $rb = new ilRadioOption($this->lng->txt('tst_anonymity_anonymous_test'), 1); $anonymity->addOption($rb); $anonymity->setValue((int) $this->testOBJ->getAnonymity()); $form->addItem($anonymity); // test mode (question set type) $questSetType = new ilRadioGroupInputGUI($this->lng->txt("tst_question_set_type"), 'question_set_type'); $questSetTypeFixed = new ilRadioOption($this->lng->txt("tst_question_set_type_fixed"), ilObjTest::QUESTION_SET_TYPE_FIXED, $this->lng->txt("tst_question_set_type_fixed_desc")); $questSetType->addOption($questSetTypeFixed); $questSetTypeRandom = new ilRadioOption($this->lng->txt("tst_question_set_type_random"), ilObjTest::QUESTION_SET_TYPE_RANDOM, $this->lng->txt("tst_question_set_type_random_desc")); $questSetType->addOption($questSetTypeRandom); $questSetTypeContinues = new ilRadioOption($this->lng->txt("tst_question_set_type_dynamic"), ilObjTest::QUESTION_SET_TYPE_DYNAMIC, $this->lng->txt("tst_question_set_type_dynamic_desc")); $questSetType->addOption($questSetTypeContinues); $questSetType->setValue($this->testOBJ->getQuestionSetType()); if ($this->testOBJ->participantDataExist()) { $questSetType->setDisabled(true); } $form->addItem($questSetType); // pool usage $pool_usage = new ilCheckboxInputGUI($this->lng->txt("test_question_pool_usage"), "use_pool"); $pool_usage->setValue(1); $pool_usage->setChecked($this->testOBJ->getPoolUsage()); $form->addItem($pool_usage); // enable_archiving $enable_archiving = new ilCheckboxInputGUI($this->lng->txt('test_enable_archiving'), 'enable_archiving'); $enable_archiving->setValue(1); $enable_archiving->setChecked($this->testOBJ->getEnableArchiving()); $form->addItem($enable_archiving); // activation/availability (no template support yet) include_once "Services/Object/classes/class.ilObjectActivation.php"; $this->lng->loadLanguageModule('rep'); $section = new ilFormSectionHeaderGUI(); $section->setTitle($this->lng->txt('rep_activation_availability')); $form->addItem($section); // additional info only with multiple references $act_obj_info = $act_ref_info = ""; if (sizeof(ilObject::_getAllReferences($this->testOBJ->getId())) > 1) { $act_obj_info = ' ' . $this->lng->txt('rep_activation_online_object_info'); $act_ref_info = $this->lng->txt('rep_activation_access_ref_info'); } $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'), 'online'); $online->setChecked($this->testOBJ->isOnline()); $online->setInfo($this->lng->txt('tst_activation_online_info') . $act_obj_info); $form->addItem($online); $act_type = new ilRadioGroupInputGUI($this->lng->txt('rep_activation_access'), 'activation_type'); $act_type->setInfo($act_ref_info); $act_type->setValue($this->testOBJ->isActivationLimited() ? ilObjectActivation::TIMINGS_ACTIVATION : ilObjectActivation::TIMINGS_DEACTIVATED); $opt = new ilRadioOption($this->lng->txt('rep_visibility_limitless'), ilObjectActivation::TIMINGS_DEACTIVATED); $opt->setInfo($this->lng->txt('tst_availability_limitless_info')); $act_type->addOption($opt); $opt = new ilRadioOption($this->lng->txt('rep_visibility_until'), ilObjectActivation::TIMINGS_ACTIVATION); $opt->setInfo($this->lng->txt('tst_availability_until_info')); $this->tpl->addJavaScript('./Services/Form/js/date_duration.js'); include_once "Services/Form/classes/class.ilDateDurationInputGUI.php"; $dur = new ilDateDurationInputGUI("", "access_period"); $dur->setShowTime(true); $date = $this->testOBJ->getActivationStartingTime(); $dur->setStart(new ilDateTime($date ? $date : time(), IL_CAL_UNIX)); $dur->setStartText($this->lng->txt('rep_activation_limited_start')); $date = $this->testOBJ->getActivationEndingTime(); $dur->setEnd(new ilDateTime($date ? $date : time(), IL_CAL_UNIX)); $dur->setEndText($this->lng->txt('rep_activation_limited_end')); $opt->addSubItem($dur); $visible = new ilCheckboxInputGUI($this->lng->txt('rep_activation_limited_visibility'), 'activation_visibility'); $visible->setInfo($this->lng->txt('tst_activation_limited_visibility_info')); $visible->setChecked($this->testOBJ->getActivationVisibility()); $opt->addSubItem($visible); $act_type->addOption($opt); $form->addItem($act_type); if (!$this->settingsTemplate || $this->formShowBeginningEndingInformation($this->settingsTemplate->getSettings())) { // general properties $header = new ilFormSectionHeaderGUI(); $header->setTitle($this->lng->txt("tst_beginning_ending_information")); $form->addItem($header); } // introduction $intro = new ilTextAreaInputGUI($this->lng->txt("tst_introduction"), "introduction"); $intro->setValue($this->testOBJ->prepareTextareaOutput($this->testOBJ->getIntroduction())); $intro->setRows(10); $intro->setCols(80); $intro->setUseRte(TRUE); $intro->addPlugin("latex"); $intro->addButton("latex"); $intro->setRTESupport($this->testOBJ->getId(), "tst", "assessment"); $intro->setRteTagSet('full'); $intro->setInfo($this->lng->txt('intro_desc')); // showinfo $showinfo = new ilCheckboxInputGUI('', "showinfo"); $showinfo->setValue(1); $showinfo->setChecked($this->testOBJ->getShowInfo()); $showinfo->setOptionTitle($this->lng->txt("showinfo")); $showinfo->setInfo($this->lng->txt("showinfo_desc")); $intro->addSubItem($showinfo); $form->addItem($intro); // final statement $finalstatement = new ilTextAreaInputGUI($this->lng->txt("final_statement"), "finalstatement"); $finalstatement->setValue($this->testOBJ->prepareTextareaOutput($this->testOBJ->getFinalStatement())); $finalstatement->setRows(10); $finalstatement->setCols(80); $finalstatement->setUseRte(TRUE); $finalstatement->addPlugin("latex"); $finalstatement->addButton("latex"); $finalstatement->setRTESupport($this->testOBJ->getId(), "tst", "assessment"); $finalstatement->setRteTagSet('full'); // show final statement $showfinal = new ilCheckboxInputGUI('', "showfinalstatement"); $showfinal->setValue(1); $showfinal->setChecked($this->testOBJ->getShowFinalStatement()); $showfinal->setOptionTitle($this->lng->txt("final_statement_show")); $showfinal->setInfo($this->lng->txt("final_statement_show_desc")); $finalstatement->addSubItem($showfinal); $form->addItem($finalstatement); // examview $enable_examview = new ilCheckboxInputGUI($this->lng->txt("enable_examview"), 'enable_examview'); $enable_examview->setValue(1); $enable_examview->setChecked($this->testOBJ->getEnableExamview()); $enable_examview->setInfo($this->lng->txt("enable_examview_desc")); $show_examview_html = new ilCheckboxInputGUI('', 'show_examview_html'); $show_examview_html->setValue(1); $show_examview_html->setChecked($this->testOBJ->getShowExamviewHtml()); $show_examview_html->setOptionTitle($this->lng->txt("show_examview_html")); $show_examview_html->setInfo($this->lng->txt("show_examview_html_desc")); $enable_examview->addSubItem($show_examview_html); $show_examview_pdf = new ilCheckboxInputGUI('', 'show_examview_pdf'); $show_examview_pdf->setValue(1); $show_examview_pdf->setChecked($this->testOBJ->getShowExamviewPdf()); $show_examview_pdf->setOptionTitle($this->lng->txt("show_examview_pdf")); $show_examview_pdf->setInfo($this->lng->txt("show_examview_pdf_desc")); $enable_examview->addSubItem($show_examview_pdf); $form->addItem($enable_examview); if (!$this->settingsTemplate || $this->formShowSessionSection($this->settingsTemplate->getSettings())) { // session properties $sessionheader = new ilFormSectionHeaderGUI(); $sessionheader->setTitle($this->lng->txt("tst_session_settings")); $form->addItem($sessionheader); } // max. number of passes $nr_of_tries = new ilTextInputGUI($this->lng->txt("tst_nr_of_tries"), "nr_of_tries"); $nr_of_tries->setSize(3); $nr_of_tries->setValue($this->testOBJ->getNrOfTries()); $nr_of_tries->setRequired(true); $nr_of_tries->setSuffix($this->lng->txt("0_unlimited")); $total = $this->testOBJ->evalTotalPersons(); if ($total) { $nr_of_tries->setDisabled(true); } $form->addItem($nr_of_tries); // enable max. processing time $processing = new ilCheckboxInputGUI($this->lng->txt("tst_processing_time"), "chb_processing_time"); $processing->setValue(1); //$processing->setOptionTitle($this->lng->txt("enabled")); if ($this->settingsTemplate && $this->getTemplateSettingValue('chb_processing_time')) { $processing->setChecked(true); } else { $processing->setChecked($this->testOBJ->getEnableProcessingTime()); } // max. processing time $processingtime = new ilDurationInputGUI('', 'processing_time'); $ptime = $this->testOBJ->getProcessingTimeAsArray(); $processingtime->setHours($ptime['hh']); $processingtime->setMinutes($ptime['mm']); $processingtime->setSeconds($ptime['ss']); $processingtime->setShowMonths(false); $processingtime->setShowDays(false); $processingtime->setShowHours(true); $processingtime->setShowMinutes(true); $processingtime->setShowSeconds(true); $processingtime->setInfo($this->lng->txt("tst_processing_time_desc")); $processing->addSubItem($processingtime); // reset max. processing time $resetprocessing = new ilCheckboxInputGUI('', "chb_reset_processing_time"); $resetprocessing->setValue(1); $resetprocessing->setOptionTitle($this->lng->txt("tst_reset_processing_time")); $resetprocessing->setChecked($this->testOBJ->getResetProcessingTime()); $resetprocessing->setInfo($this->lng->txt("tst_reset_processing_time_desc")); $processing->addSubItem($resetprocessing); $form->addItem($processing); // enable starting time $enablestartingtime = new ilCheckboxInputGUI($this->lng->txt("tst_starting_time"), "chb_starting_time"); $enablestartingtime->setValue(1); //$enablestartingtime->setOptionTitle($this->lng->txt("enabled")); if ($this->settingsTemplate && $this->getTemplateSettingValue('chb_starting_time')) { $enablestartingtime->setChecked(true); } else { $enablestartingtime->setChecked(strlen($this->testOBJ->getStartingTime())); } // starting time $startingtime = new ilDateTimeInputGUI('', 'starting_time'); $startingtime->setShowDate(true); $startingtime->setShowTime(true); if (strlen($this->testOBJ->getStartingTime())) { $startingtime->setDate(new ilDateTime($this->testOBJ->getStartingTime(), IL_CAL_TIMESTAMP)); } else { $startingtime->setDate(new ilDateTime(time(), IL_CAL_UNIX)); } $enablestartingtime->addSubItem($startingtime); $form->addItem($enablestartingtime); if ($this->testOBJ->participantDataExist()) { $enablestartingtime->setDisabled(true); $startingtime->setDisabled(true); } // enable ending time $enableendingtime = new ilCheckboxInputGUI($this->lng->txt("tst_ending_time"), "chb_ending_time"); $enableendingtime->setValue(1); //$enableendingtime->setOptionTitle($this->lng->txt("enabled")); if ($this->settingsTemplate && $this->getTemplateSettingValue('chb_ending_time')) { $enableendingtime->setChecked(true); } else { $enableendingtime->setChecked(strlen($this->testOBJ->getEndingTime())); } // ending time $endingtime = new ilDateTimeInputGUI('', 'ending_time'); $endingtime->setShowDate(true); $endingtime->setShowTime(true); if (strlen($this->testOBJ->getEndingTime())) { $endingtime->setDate(new ilDateTime($this->testOBJ->getEndingTime(), IL_CAL_TIMESTAMP)); } else { $endingtime->setDate(new ilDateTime(time(), IL_CAL_UNIX)); } $enableendingtime->addSubItem($endingtime); $form->addItem($enableendingtime); // test password $password = new ilTextInputGUI($this->lng->txt("tst_password"), "password"); $password->setSize(20); $password->setValue($this->testOBJ->getPassword()); $password->setInfo($this->lng->txt("tst_password_details")); $form->addItem($password); if (!$this->settingsTemplate || $this->formShowPresentationSection($this->settingsTemplate->getSettings())) { // sequence properties $seqheader = new ilFormSectionHeaderGUI(); $seqheader->setTitle($this->lng->txt("tst_presentation_properties")); $form->addItem($seqheader); } // use previous answers $prevanswers = new ilCheckboxInputGUI($this->lng->txt("tst_use_previous_answers"), "chb_use_previous_answers"); $prevanswers->setValue(1); $prevanswers->setChecked($this->testOBJ->getUsePreviousAnswers()); $prevanswers->setInfo($this->lng->txt("tst_use_previous_answers_description")); $form->addItem($prevanswers); // force js $forcejs = new ilCheckboxInputGUI($this->lng->txt("forcejs_short"), "forcejs"); $forcejs->setValue(1); $forcejs->setChecked($this->testOBJ->getForceJS()); $forcejs->setOptionTitle($this->lng->txt("forcejs")); $forcejs->setInfo($this->lng->txt("forcejs_desc")); $form->addItem($forcejs); // question title output $title_output = new ilRadioGroupInputGUI($this->lng->txt("tst_title_output"), "title_output"); $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_full"), 0, '')); $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_hide_points"), 1, '')); $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_no_title"), 2, '')); $title_output->setValue($this->testOBJ->getTitleOutput()); $title_output->setInfo($this->lng->txt("tst_title_output_description")); $form->addItem($title_output); // selector for unicode characters global $ilSetting; if ($ilSetting->get('char_selector_availability') > 0) { require_once 'Services/UIComponent/CharSelector/classes/class.ilCharSelectorGUI.php'; $char_selector = new ilCharSelectorGUI(ilCharSelectorConfig::CONTEXT_TEST); $char_selector->getConfig()->setAvailability($this->testOBJ->getCharSelectorAvailability()); $char_selector->getConfig()->setDefinition($this->testOBJ->getCharSelectorDefinition()); $char_selector->addFormProperties($form); $char_selector->setFormValues($form); } // Autosave $autosave_output = new ilCheckboxInputGUI($this->lng->txt('autosave'), 'autosave'); $autosave_output->setValue(1); $autosave_output->setChecked($this->testOBJ->getAutosave()); $autosave_output->setInfo($this->lng->txt('autosave_info')); $autosave_interval = new ilTextInputGUI($this->lng->txt('autosave_ival'), 'autosave_ival'); $autosave_interval->setSize(10); $autosave_interval->setValue($this->testOBJ->getAutosaveIval() / 1000); $autosave_interval->setInfo($this->lng->txt('autosave_ival_info')); $autosave_output->addSubItem($autosave_interval); $form->addItem($autosave_output); if (!$this->settingsTemplate || $this->formShowSequenceSection($this->settingsTemplate->getSettings())) { // sequence properties $seqheader = new ilFormSectionHeaderGUI(); $seqheader->setTitle($this->lng->txt("tst_sequence_properties")); $form->addItem($seqheader); } // postpone questions $postpone = new ilCheckboxInputGUI($this->lng->txt("tst_postpone"), "chb_postpone"); $postpone->setValue(1); $postpone->setChecked($this->testOBJ->getSequenceSettings()); $postpone->setInfo($this->lng->txt("tst_postpone_description")); $form->addItem($postpone); // shuffle questions $shuffle = new ilCheckboxInputGUI($this->lng->txt("tst_shuffle_questions"), "chb_shuffle_questions"); $shuffle->setValue(1); $shuffle->setChecked($this->testOBJ->getShuffleQuestions()); $shuffle->setInfo($this->lng->txt("tst_shuffle_questions_description")); $form->addItem($shuffle); // show list of questions $list_of_questions = new ilCheckboxInputGUI($this->lng->txt("tst_show_summary"), "list_of_questions"); //$list_of_questions->setOptionTitle($this->lng->txt("tst_show_summary")); $list_of_questions->setValue(1); $list_of_questions->setChecked($this->testOBJ->getListOfQuestions()); $list_of_questions->setInfo($this->lng->txt("tst_show_summary_description")); $list_of_questions_options = new ilCheckboxGroupInputGUI('', "list_of_questions_options"); $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_start"), 'chb_list_of_questions_start', '')); $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_end"), 'chb_list_of_questions_end', '')); $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_with_description"), 'chb_list_of_questions_with_description', '')); $values = array(); if ($this->testOBJ->getListOfQuestionsStart()) { array_push($values, 'chb_list_of_questions_start'); } if ($this->testOBJ->getListOfQuestionsEnd()) { array_push($values, 'chb_list_of_questions_end'); } if ($this->testOBJ->getListOfQuestionsDescription()) { array_push($values, 'chb_list_of_questions_with_description'); } $list_of_questions_options->setValue($values); $list_of_questions->addSubItem($list_of_questions_options); $form->addItem($list_of_questions); // show question marking $marking = new ilCheckboxInputGUI($this->lng->txt("question_marking"), "chb_show_marker"); $marking->setValue(1); $marking->setChecked($this->testOBJ->getShowMarker()); $marking->setInfo($this->lng->txt("question_marking_description")); $form->addItem($marking); // show suspend test $cancel = new ilCheckboxInputGUI($this->lng->txt("tst_show_cancel"), "chb_show_cancel"); $cancel->setValue(1); $cancel->setChecked($this->testOBJ->getShowCancel()); $cancel->setInfo($this->lng->txt("tst_show_cancel_description")); $form->addItem($cancel); if (!$this->settingsTemplate || $this->formShowNotificationSection($this->settingsTemplate->getSettings())) { // notifications $notifications = new ilFormSectionHeaderGUI(); $notifications->setTitle($this->lng->txt("tst_mail_notification")); $form->addItem($notifications); } // mail notification $mailnotification = new ilRadioGroupInputGUI($this->lng->txt("tst_finish_notification"), "mailnotification"); $mailnotification->addOption(new ilRadioOption($this->lng->txt("tst_finish_notification_no"), 0, '')); $mailnotification->addOption(new ilRadioOption($this->lng->txt("tst_finish_notification_simple"), 1, '')); $mailnotification->addOption(new ilRadioOption($this->lng->txt("tst_finish_notification_advanced"), 2, '')); $mailnotification->setValue($this->testOBJ->getMailNotification()); $form->addItem($mailnotification); $mailnottype = new ilCheckboxInputGUI('', "mailnottype"); $mailnottype->setValue(1); $mailnottype->setOptionTitle($this->lng->txt("mailnottype")); $mailnottype->setChecked($this->testOBJ->getMailNotificationType()); $form->addItem($mailnottype); /* This options always active (?) */ $highscore_head = new ilFormSectionHeaderGUI(); $highscore_head->setTitle($this->lng->txt("tst_highscore_options")); $form->addItem($highscore_head); $highscore = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_enabled"), "highscore_enabled"); $highscore->setValue(1); $highscore->setChecked($this->testOBJ->getHighscoreEnabled()); $highscore->setInfo($this->lng->txt("tst_highscore_description")); $form->addItem($highscore); $highscore_anon = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_anon"), "highscore_anon"); $highscore_anon->setValue(1); $highscore_anon->setChecked($this->testOBJ->getHighscoreAnon()); $highscore_anon->setInfo($this->lng->txt("tst_highscore_anon_description")); $highscore->addSubItem($highscore_anon); $highscore_achieved_ts = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_achieved_ts"), "highscore_achieved_ts"); $highscore_achieved_ts->setValue(1); $highscore_achieved_ts->setChecked($this->testOBJ->getHighscoreAchievedTS()); $highscore_achieved_ts->setInfo($this->lng->txt("tst_highscore_achieved_ts_description")); $highscore->addSubItem($highscore_achieved_ts); $highscore_score = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_score"), "highscore_score"); $highscore_score->setValue(1); $highscore_score->setChecked($this->testOBJ->getHighscoreScore()); $highscore_score->setInfo($this->lng->txt("tst_highscore_score_description")); $highscore->addSubItem($highscore_score); $highscore_percentage = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_percentage"), "highscore_percentage"); $highscore_percentage->setValue(1); $highscore_percentage->setChecked($this->testOBJ->getHighscorePercentage()); $highscore_percentage->setInfo($this->lng->txt("tst_highscore_percentage_description")); $highscore->addSubItem($highscore_percentage); $highscore_hints = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_hints"), "highscore_hints"); $highscore_hints->setValue(1); $highscore_hints->setChecked($this->testOBJ->getHighscoreHints()); $highscore_hints->setInfo($this->lng->txt("tst_highscore_hints_description")); $highscore->addSubItem($highscore_hints); $highscore_wtime = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_wtime"), "highscore_wtime"); $highscore_wtime->setValue(1); $highscore_wtime->setChecked($this->testOBJ->getHighscoreWTime()); $highscore_wtime->setInfo($this->lng->txt("tst_highscore_wtime_description")); $highscore->addSubItem($highscore_wtime); $highscore_own_table = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_own_table"), "highscore_own_table"); $highscore_own_table->setValue(1); $highscore_own_table->setChecked($this->testOBJ->getHighscoreOwnTable()); $highscore_own_table->setInfo($this->lng->txt("tst_highscore_own_table_description")); $highscore->addSubItem($highscore_own_table); $highscore_top_table = new ilCheckboxInputGUI($this->lng->txt("tst_highscore_top_table"), "highscore_top_table"); $highscore_top_table->setValue(1); $highscore_top_table->setChecked($this->testOBJ->getHighscoreTopTable()); $highscore_top_table->setInfo($this->lng->txt("tst_highscore_top_table_description")); $highscore->addSubItem($highscore_top_table); $highscore_top_num = new ilTextInputGUI($this->lng->txt("tst_highscore_top_num"), "highscore_top_num"); $highscore_top_num->setSize(4); $highscore_top_num->setSuffix($this->lng->txt("tst_highscore_top_num_unit")); $highscore_top_num->setValue($this->testOBJ->getHighscoreTopNum()); $highscore_top_num->setInfo($this->lng->txt("tst_highscore_top_num_description")); $highscore->addSubItem($highscore_top_num); if (!$this->settingsTemplate || $this->formShowTestExecutionSection($this->settingsTemplate->getSettings())) { $testExecution = new ilFormSectionHeaderGUI(); $testExecution->setTitle($this->lng->txt("tst_test_execution")); $form->addItem($testExecution); } // kiosk mode $kiosk = new ilCheckboxInputGUI($this->lng->txt("kiosk"), "kiosk"); $kiosk->setValue(1); $kiosk->setChecked($this->testOBJ->getKioskMode()); $kiosk->setInfo($this->lng->txt("kiosk_description")); // kiosk mode options $kiosktitle = new ilCheckboxGroupInputGUI($this->lng->txt("kiosk_options"), "kiosk_options"); $kiosktitle->addOption(new ilCheckboxOption($this->lng->txt("kiosk_show_title"), 'kiosk_title', '')); $kiosktitle->addOption(new ilCheckboxOption($this->lng->txt("kiosk_show_participant"), 'kiosk_participant', '')); $kiosktitle->addOption(new ilCheckboxOption($this->lng->txt('examid_in_kiosk'), 'examid_in_kiosk')); $values = array(); if ($this->testOBJ->getShowKioskModeTitle()) { array_push($values, 'kiosk_title'); } if ($this->testOBJ->getShowKioskModeParticipant()) { array_push($values, 'kiosk_participant'); } if ($this->testOBJ->getExamidInKiosk()) { array_push($values, 'examid_in_kiosk'); } $kiosktitle->setValue($values); $kiosktitle->setInfo($this->lng->txt("kiosk_options_desc")); $kiosk->addSubItem($kiosktitle); $form->addItem($kiosk); $redirection_mode = $this->testOBJ->getRedirectionMode(); $rm_enabled = new ilCheckboxInputGUI($this->lng->txt('redirect_after_finishing_tst'), 'redirection_enabled'); $rm_enabled->setChecked($redirection_mode == '0' ? false : true); $radio_rm = new ilRadioGroupInputGUI($this->lng->txt('redirect_after_finishing_tst'), 'redirection_mode'); $always = new ilRadioOption($this->lng->txt('tst_results_access_always'), REDIRECT_ALWAYS); $radio_rm->addOption($always); $kiosk = new ilRadioOption($this->lng->txt('redirect_in_kiosk_mode'), REDIRECT_KIOSK); $radio_rm->addOption($kiosk); $radio_rm->setValue(in_array($redirection_mode, array(REDIRECT_ALWAYS, REDIRECT_KIOSK)) ? $redirection_mode : REDIRECT_ALWAYS); $rm_enabled->addSubItem($radio_rm); $redirection_url = new ilTextInputGUI($this->lng->txt('redirection_url'), 'redirection_url'); $redirection_url->setValue((string) $this->testOBJ->getRedirectionUrl()); $redirection_url->setRequired(true); $rm_enabled->addSubItem($redirection_url); $form->addItem($rm_enabled); // Sign submission $sign_submission = $this->testOBJ->getSignSubmission(); $sign_submission_enabled = new ilCheckboxInputGUI($this->lng->txt('sign_submission'), 'sign_submission'); $sign_submission_enabled->setChecked($sign_submission); $sign_submission_enabled->setInfo($this->lng->txt('sign_submission_info')); $form->addItem($sign_submission_enabled); if (!$this->settingsTemplate || $this->formShowParticipantSection($this->settingsTemplate->getSettings())) { // participants properties $restrictions = new ilFormSectionHeaderGUI(); $restrictions->setTitle($this->lng->txt("tst_max_allowed_users")); $form->addItem($restrictions); } $fixedparticipants = new ilCheckboxInputGUI($this->lng->txt('participants_invitation'), "fixedparticipants"); $fixedparticipants->setValue(1); $fixedparticipants->setChecked($this->testOBJ->getFixedParticipants()); $fixedparticipants->setOptionTitle($this->lng->txt("tst_allow_fixed_participants")); $fixedparticipants->setInfo($this->lng->txt("participants_invitation_description")); $invited_users = $this->testOBJ->getInvitedUsers(); if ($total && count($invited_users) == 0) { $fixedparticipants->setDisabled(true); } $form->addItem($fixedparticipants); // simultaneous users $simul = new ilTextInputGUI($this->lng->txt("tst_allowed_users"), "allowedUsers"); $simul->setSize(3); $simul->setValue($this->testOBJ->getAllowedUsers() ? $this->testOBJ->getAllowedUsers() : ''); $form->addItem($simul); // idle time $idle = new ilTextInputGUI($this->lng->txt("tst_allowed_users_time_gap"), "allowedUsersTimeGap"); $idle->setSize(4); $idle->setSuffix($this->lng->txt("seconds")); $idle->setValue($this->testOBJ->getAllowedUsersTimeGap() ? $this->testOBJ->getAllowedUsersTimeGap() : ''); $form->addItem($idle); // Edit ecs export settings include_once 'Modules/Test/classes/class.ilECSTestSettings.php'; $ecs = new ilECSTestSettings($this->testOBJ); $ecs->addSettingsToForm($form, 'tst'); // remove items when using template if ($this->settingsTemplate) { foreach ($this->settingsTemplate->getSettings() as $id => $item) { if ($item["hide"]) { $form->removeItemByPostVar($id); } } } return $form; }
function initMailRatersForm($appr_id, array $rec_ids) { include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this, "mailRatersAction")); $form->setTitle($this->lng->txt('compose')); $all_data = $this->object->getRatersData($appr_id); $rec_data = array(); foreach ($rec_ids as $rec_id) { if (isset($all_data[$rec_id])) { $rec_data[] = $all_data[$rec_id]["lastname"] . ", " . $all_data[$rec_id]["firstname"] . " (" . $all_data[$rec_id]["email"] . ")"; } } sort($rec_data); $rec = new ilCustomInputGUI($this->lng->txt('recipients')); $rec->setHTML(implode("<br />", $rec_data)); $form->addItem($rec); $subject = new ilTextInputGUI($this->lng->txt('subject'), 'subject'); $subject->setSize(50); $subject->setRequired(true); $form->addItem($subject); $existingdata = $this->object->getExternalCodeRecipients(); $existingcolumns = array(); if (count($existingdata)) { $first = array_shift($existingdata); foreach ($first as $key => $value) { if (strcmp($key, 'code') != 0 && strcmp($key, 'email') != 0 && strcmp($key, 'sent') != 0) { array_push($existingcolumns, '[' . $key . ']'); } } } $mailmessage_u = new ilTextAreaInputGUI($this->lng->txt('survey_360_rater_message_content_registered'), 'message_u'); $mailmessage_u->setRequired(true); $mailmessage_u->setCols(80); $mailmessage_u->setRows(10); $form->addItem($mailmessage_u); $mailmessage_a = new ilTextAreaInputGUI($this->lng->txt('survey_360_rater_message_content_anonymous'), 'message_a'); $mailmessage_a->setRequired(true); $mailmessage_a->setCols(80); $mailmessage_a->setRows(10); $mailmessage_a->setInfo(sprintf($this->lng->txt('message_content_info'), join($existingcolumns, ', '))); $form->addItem($mailmessage_a); $recf = new ilHiddenInputGUI("rtr_id"); $recf->setValue(implode(";", $rec_ids)); $form->addItem($recf); $form->addCommandButton("mailRatersAction", $this->lng->txt("send")); $form->addCommandButton("editRaters", $this->lng->txt("cancel")); $subject->setValue(sprintf($this->lng->txt('survey_360_rater_subject_default'), $this->object->getTitle())); $mailmessage_u->setValue($this->lng->txt('survey_360_rater_message_content_registered_default')); $mailmessage_a->setValue($this->lng->txt('survey_360_rater_message_content_anonymous_default')); return $form; }
/** * Edit settings. */ public function editWebDAVSettings() { global $rbacsystem, $ilErr, $ilTabs; global $tpl, $ilCtrl, $lng, $tree, $settings; $this->tabs_gui->setTabActive('webdav'); if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) { $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING); } require_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; require_once "./Services/Form/classes/class.ilCheckboxInputGUI.php"; require_once "./Services/Form/classes/class.ilRadioGroupInputGUI.php"; require_once "./Services/Form/classes/class.ilRadioOption.php"; require_once "./Services/Form/classes/class.ilTextAreaInputGUI.php"; require_once "./Services/WebDAV/classes/class.ilDAVServer.php"; $form = new ilPropertyFormGUI(); $form->setFormAction($ilCtrl->getFormAction($this)); $form->setTitle($lng->txt("settings")); // Enable webdav $ilDAVServer = ilDAVServer::getInstance(); $isPearAuthHTTPInstalled = @(include_once "Auth/HTTP.php"); $cb_prop = new ilCheckboxInputGUI($lng->txt("enable_webdav"), "enable_webdav"); $cb_prop->setValue('1'); $cb_prop->setChecked($this->object->isWebdavEnabled() && $isPearAuthHTTPInstalled); $cb_prop->setDisabled(!$isPearAuthHTTPInstalled); $cb_prop->setInfo($isPearAuthHTTPInstalled ? sprintf($lng->txt('enable_webdav_info'), $ilDAVServer->getMountURI($tree->getRootId(), 0, null, null, true)) : $lng->txt('webdav_pear_auth_http_needed')); $form->addItem($cb_prop); // Webdav help text if ($isPearAuthHTTPInstalled) { $rgi_prop = new ilRadioGroupInputGUI($lng->txt('webfolder_instructions'), 'custom_webfolder_instructions_choice'); $rgi_prop->addOption(new ilRadioOption($lng->txt('use_default_instructions'), 'default')); $rgi_prop->addOption(new ilRadioOption($lng->txt('use_customized_instructions'), 'custom')); $rgi_prop->setValue($this->object->isCustomWebfolderInstructionsEnabled() ? 'custom' : 'default'); $rgi_prop->setDisabled(!$isPearAuthHTTPInstalled); $form->addItem($rgi_prop); $tai_prop = new ilTextAreaInputGUI('', 'custom_webfolder_instructions'); $tai_prop->setValue($this->object->getCustomWebfolderInstructions()); $tai_prop->setInfo($lng->txt("webfolder_instructions_info")); $tai_prop->setCols(80); $tai_prop->setRows(20); $tai_prop->setDisabled(!$isPearAuthHTTPInstalled); $form->addItem($tai_prop); } // command buttons $form->addCommandButton('saveWebDAVSettings', $lng->txt('save')); $form->addCommandButton('view', $lng->txt('cancel')); $tpl->setContent($form->getHTML()); }
/** * initEditCustomForm * * @param string $a_mode values: create | edit */ public function initForm($a_mode = "create") { global $ilCtrl, $lng; include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form = new ilPropertyFormGUI(); if ($a_mode == "edit") { $this->form->setTitle($lng->txt('dcl_edit_field')); $hidden_prop = new ilHiddenInputGUI("field_id"); $this->form->addItem($hidden_prop); $this->form->setFormAction($ilCtrl->getFormAction($this), "update"); $this->form->addCommandButton('update', $lng->txt('dcl_update_field')); } else { $this->form->setTitle($lng->txt('dcl_new_field')); $hidden_prop = new ilHiddenInputGUI("table_id"); $hidden_prop->setValue($this->field_obj->getTableId()); $this->form->addItem($hidden_prop); $this->form->setFormAction($ilCtrl->getFormAction($this), "save"); $this->form->addCommandButton('save', $lng->txt('dcl_create_field')); } $this->form->addCommandButton('cancel', $lng->txt('cancel')); $text_prop = new ilTextInputGUI($lng->txt("title"), "title"); $text_prop->setRequired(true); $text_prop->setInfo(sprintf($lng->txt('fieldtitle_allow_chars'), ilDataCollectionField::_getTitleValidChars(false))); $text_prop->setValidationRegexp(ilDataCollectionField::_getTitleValidChars(true)); $this->form->addItem($text_prop); $edit_datatype = new ilRadioGroupInputGUI($lng->txt('dcl_datatype'), 'datatype'); foreach (ilDataCollectionDatatype::getAllDatatypes() as $datatype) { $opt = new ilRadioOption($lng->txt('dcl_' . $datatype['title']), $datatype['id']); foreach (ilDataCollectionDatatype::getProperties($datatype['id']) as $property) { //Type Reference: List Tabels if ($datatype['id'] == ilDataCollectionDatatype::INPUTFORMAT_REFERENCE and $property['id'] == ilDataCollectionField::PROPERTYID_REFERENCE) { $options = array(); // Get Tables require_once "./Modules/DataCollection/classes/class.ilDataCollectionTable.php"; $tables = $this->parent_obj->getDataCollectionObject()->getTables(); foreach ($tables as $table) { foreach ($table->getRecordFields() as $field) { //referencing references may lead to endless loops. if ($field->getDatatypeId() != ilDataCollectionDatatype::INPUTFORMAT_REFERENCE) { $options[$field->getId()] = $table->getTitle() . self::REFERENCE_SEPARATOR . $field->getTitle(); } } } $table_selection = new ilSelectInputGUI('', 'prop_' . $property['id']); $table_selection->setOptions($options); //$table_selection->setValue($this->table_id); $opt->addSubItem($table_selection); } elseif ($datatype['id'] == ilDataCollectionDatatype::INPUTFORMAT_REFERENCELIST and $property['id'] == ilDataCollectionField::PROPERTYID_N_REFERENCE) { // Get Tables require_once "./Modules/DataCollection/classes/class.ilDataCollectionTable.php"; $tables = $this->parent_obj->getDataCollectionObject()->getTables(); foreach ($tables as $table) { foreach ($table->getRecordFields() as $field) { //referencing references may lead to endless loops. if ($field->getDatatypeId() != ilDataCollectionDatatype::INPUTFORMAT_REFERENCELIST) { $options[$field->getId()] = $table->getTitle() . self::REFERENCE_SEPARATOR . $field->getTitle(); } } } $table_selection = new ilSelectInputGUI('', 'prop_' . $property['id']); $table_selection->setOptions($options); $opt->addSubItem($table_selection); } elseif ($property['id'] == ilDataCollectionField::PROPERTYID_FORMULA_EXPRESSION) { $table = ilDataCollectionCache::getTableCache((int) $_GET['table_id']); $fields = array(); foreach ($table->getFieldsForFormula() as $f) { $placeholder = $f->isStandardField() ? $f->getId() : $f->getTitle(); $fields[] = '<a class="dclPropExpressionField" data-placeholder="' . $placeholder . '">' . $f->getTitle() . '</a>'; } $subitem = new ilTextAreaInputGUI($lng->txt('dcl_prop_expression'), 'prop_' . $property['id']); $operators = implode(', ', array_keys(ilDclExpressionParser::getOperators())); $functions = implode(', ', ilDclExpressionParser::getFunctions()); $subitem->setInfo(sprintf($lng->txt('dcl_prop_expression_info'), $operators, $functions, implode('<br>', $fields))); $opt->addSubItem($subitem); } elseif ($property['datatype_id'] == $datatype['id']) { //All other Types: List properties saved in propertie definition table if ($property['inputformat'] == ilDataCollectionDatatype::INPUTFORMAT_BOOLEAN) { $subitem = new ilCheckboxInputGUI($lng->txt('dcl_' . $property['title']), 'prop_' . $property['id']); $opt->addSubItem($subitem); } elseif ($property['inputformat'] == ilDataCollectionDatatype::INPUTFORMAT_NUMBER) { $subitem = new ilNumberInputGUI($lng->txt('dcl_' . $property['title']), 'prop_' . $property['id']); // TODO: Nicer way to add additional info to fields (need changes in language-logic) /*if($lng->txt('dcl_'.$property['title'].'_info') != '-dcl_'.$property['title'].'_info-') { $subitem->setInfo($lng->txt('dcl_'.$property['title'].'_info')); }*/ $subitem->setSize(5); if ($property['title'] == 'length') { $subitem->setMaxValue(4000); $subitem->setInfo($lng->txt('dcl_' . $property['title'] . '_info')); } $opt->addSubItem($subitem); } elseif ($property['inputformat'] == ilDataCollectionDatatype::INPUTFORMAT_NON_EDITABLE_VALUE) { $subitem = new ilNonEditableValueGUI($lng->txt('dcl_' . $property['title'])); $subitem->setValue(implode(', ', ilDataCollectionDatatype::$mob_suffixes)); $opt->addSubItem($subitem); } else { $subitem = new ilTextInputGUI($lng->txt('dcl_' . $property['title']), 'prop_' . $property['id']); // TODO: Nicer way to add additional info to fields (need changes in language-logic) /*if($lng->txt('dcl_'.$property['title'].'_info') != '-dcl_'.$property['title'].'_info-') { $subitem->setInfo($lng->txt('dcl_'.$property['title'].'_info')); }*/ if ($property['title'] == 'regex') { $subitem->setInfo($lng->txt('dcl_' . $property['title'] . '_info')); } $opt->addSubItem($subitem); } } } $edit_datatype->addOption($opt); } $edit_datatype->setRequired(true); //you can't change type but we still need it in POST if ($a_mode == "edit") { $edit_datatype->setDisabled(true); } $this->form->addItem($edit_datatype); // Description $text_prop = new ilTextAreaInputGUI($lng->txt("dcl_field_description"), "description"); $this->form->addItem($text_prop); // Required $cb = new ilCheckboxInputGUI($lng->txt("dcl_field_required"), "required"); $this->form->addItem($cb); //Unique $cb = new ilCheckboxInputGUI($lng->txt("dcl_unique"), "unique"); $this->form->addItem($cb); }
public function getApacheAuthSettingsForm() { include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setFormAction($this->ctrl->getFormAction($this)); $form->setTitle($this->lng->txt('apache_settings')); $chb_enabled = new ilCheckboxInputGUI($this->lng->txt('apache_enable_auth'), 'apache_enable_auth'); $form->addItem($chb_enabled); $chb_local_create_account = new ilCheckboxInputGUI($this->lng->txt('apache_autocreate'), 'apache_local_autocreate'); $chb_enabled->addSubitem($chb_local_create_account); global $rbacreview; $roles = $rbacreview->getGlobalRolesArray(); $select = new ilSelectInputGUI($this->lng->txt('apache_default_role'), 'apache_default_role'); $roleOptions = array(); foreach ($roles as $role) { $roleOptions[$role['obj_id']] = ilObject::_lookupTitle($role['obj_id']); } $select->setOptions($roleOptions); $select->setValue(4); $chb_local_create_account->addSubitem($select); $chb_local = new ilCheckboxInputGUI($this->lng->txt('apache_enable_local'), 'apache_enable_local'); $form->addItem($chb_local); $chb_ldap = new ilCheckboxInputGUI($this->lng->txt('apache_enable_ldap'), 'apache_enable_ldap'); $chb_ldap->setInfo($this->lng->txt('apache_ldap_hint_ldap_must_be_configured')); $form->addItem($chb_ldap); $txt = new ilTextInputGUI($this->lng->txt('apache_auth_indicator_name'), 'apache_auth_indicator_name'); $txt->setRequired(true); $form->addItem($txt); $txt = new ilTextInputGUI($this->lng->txt('apache_auth_indicator_value'), 'apache_auth_indicator_value'); $txt->setRequired(true); $form->addItem($txt); $chb = new ilCheckboxInputGUI($this->lng->txt('apache_auth_enable_override_login'), 'apache_auth_enable_override_login_page'); $form->addItem($chb); $txt = new ilTextInputGUI($this->lng->txt('apache_auth_target_override_login'), 'apache_auth_target_override_login_page'); $txt->setRequired(true); $chb->addSubItem($txt); $chb = new ilCheckboxInputGUI($this->lng->txt('apache_auth_authenticate_on_login_page'), 'apache_auth_authenticate_on_login_page'); $form->addItem($chb); $sec = new ilFormSectionHeaderGUI(); $sec->setTitle($this->lng->txt('apache_auth_username_config')); $form->addItem($sec); $rag = new ilRadioGroupInputGUI($this->lng->txt('apache_auth_username_config_type'), 'apache_auth_username_config_type'); $form->addItem($rag); $rao = new ilRadioOption($this->lng->txt('apache_auth_username_direct_mapping'), 1); $rag->addOption($rao); $txt = new ilTextInputGUI($this->lng->txt('apache_auth_username_direct_mapping_fieldname'), 'apache_auth_username_direct_mapping_fieldname'); //$txt->setRequired(true); $rao->addSubItem($txt); $rao = new ilRadioOption($this->lng->txt('apache_auth_username_extended_mapping'), 2); $rao->setDisabled(true); $rag->addOption($rao); $rao = new ilRadioOption($this->lng->txt('apache_auth_username_by_function'), 3); $rag->addOption($rao); /* $txt = new ilTextInputGUI($this->lng->txt('apache_auth_username_by_function_functionname'), 'apache_auth_username_by_function_functionname'); $rao->addSubItem($txt);*/ $sec = new ilFormSectionHeaderGUI(); $sec->setTitle($this->lng->txt('apache_auth_security')); $form->addItem($sec); $txt = new ilTextAreaInputGUI($this->lng->txt('apache_auth_domains'), 'apache_auth_domains'); $txt->setInfo($this->lng->txt('apache_auth_domains_description')); $form->addItem($txt); $form->addCommandButton('saveApacheSettings', $this->lng->txt('save')); $form->addCommandButton('cancel', $this->lng->txt('cancel')); return $form; }
/** * Initializes SmiliesEditForm and returns it. * * @global ilCtrl2 $ilCtrl * @global ilLanguage $lng * @return ilPropertyFormGUI */ public function initSmiliesEditForm($form_data) { global $ilCtrl, $lng; include_once './Services/Form/classes/class.ilPropertyFormGUI.php'; $this->form_gui = new ilPropertyFormGUI(); $this->form_gui->setValuesByArray($form_data); $table_nav = $_REQUEST["_table_nav"] ? "&_table_nav=" . $_REQUEST["_table_nav"] : ""; $ilCtrl->saveParameter($this->gui, 'smiley_id'); $this->form_gui->setFormAction($ilCtrl->getFormAction($this->gui, 'smiley-updateSmiliesObject') . $table_nav); $sec_l = new ilFormSectionHeaderGUI(); $sec_l->setTitle($lng->txt('chatroom_edit_smiley')); $this->form_gui->addItem($sec_l); include_once "Modules/Chatroom/classes/class.ilChatroomSmiliesCurrentSmileyFormElement.php"; $inp = new ilChatroomSmiliesCurrentSmileyFormElement($lng->txt('chatroom_current_smiley_image_path'), 'chatroom_current_smiley_image_path'); $inp->setValue($form_data['chatroom_current_smiley_image_path']); $this->form_gui->addItem($inp); $inp = new ilImageFileInputGUI($lng->txt('chatroom_image_path'), 'chatroom_image_path'); $inp->setRequired(false); $inp->setInfo($lng->txt('chatroom_smiley_image_only_if_changed')); $this->form_gui->addItem($inp); $inp = new ilTextAreaInputGUI($lng->txt('chatroom_smiley_keywords'), 'chatroom_smiley_keywords'); $inp->setValue($form_data['chatroom_smiley_keywords']); $inp->setUseRte(false); $inp->setRequired(true); $inp->setInfo($lng->txt('chatroom_smiley_keywords_one_per_line_note')); $this->form_gui->addItem($inp); $inp = new ilHiddenInputGUI('chatroom_smiley_id'); $this->form_gui->addItem($inp); $this->form_gui->addCommandButton('smiley-updateSmiliesObject', $lng->txt('submit')); $this->form_gui->addCommandButton('smiley', $lng->txt('cancel')); return $this->form_gui; }
/** * @param $form ilPropertyFormGUI * @return \ilPropertyFormGUI|void */ public function populateQuestionSpecificFormPart(ilPropertyFormGUI $form) { // errortext $errortext = new ilTextAreaInputGUI($this->lng->txt("errortext"), "errortext"); $errortext->setValue($this->object->getErrorText()); $errortext->setRequired(TRUE); $errortext->setInfo($this->lng->txt("errortext_info")); $errortext->setRows(10); $errortext->setCols(80); $form->addItem($errortext); if (!$this->object->getSelfAssessmentEditingMode()) { // textsize $textsize = new ilNumberInputGUI($this->lng->txt("textsize"), "textsize"); $textsize->setValue(strlen($this->object->getTextSize()) ? $this->object->getTextSize() : 100.0); $textsize->setInfo($this->lng->txt("textsize_errortext_info")); $textsize->setSize(6); $textsize->setSuffix("%"); $textsize->setMinValue(10); $textsize->setRequired(true); $form->addItem($textsize); } }
protected function initForm() { global $rbacreview, $ilUser; $this->setTitle($this->txt('title')); // Course templates $item = new ilCheckboxInputGUI($this->txt('course_templates'), 'course_templates'); $item->setInfo($this->txt('course_templates_info')); $subitem = new ilTextAreaInputGUI($this->txt('course_templates_ref_ids'), 'course_templates_ref_ids'); $subitem->setInfo($this->txt('course_templates_ref_ids_info')); $item->addSubItem($subitem); $this->addItem($item); // UTC $item = new ilCheckboxInputGUI($this->txt('time_format_utc'), 'time_format_utc'); $item->setInfo($this->txt('time_format_utc')); $this->addItem($item); // Date format $item = new ilTextInputGUI($this->txt('str_format_date'), 'str_format_date'); $item->setInfo($this->txt('str_format_date_info')); $item->setRequired(true); $this->addItem($item); // Datetime format $item = new ilTextInputGUI($this->txt('str_format_datetime'), 'str_format_datetime'); $item->setInfo($this->txt('str_format_datetime_info')); $item->setRequired(true); $this->addItem($item); // Max diff LP seconds $item = new ilNumberInputGUI($this->txt('max_diff_lp_seconds'), 'max_diff_lp_seconds'); $item->setInfo($this->txt('max_diff_lp_seconds_info')); $this->addItem($item); // Hook class $item = new ilTextInputGUI($this->txt('path_hook_class'), 'path_hook_class'); $item->setInfo($this->txt('path_hook_class_info')); $this->addItem($item); //Call Back email $item = new ilTextInputGUI($this->txt('callback_email'), 'callback_email'); $item->setInfo($this->txt('callback_email_info')); $this->addItem($item); //disk space Warning $item = new ilTextInputGUI($this->txt('disk_space_warning'), 'disk_space_warning'); $item->setInfo($this->txt('disk_space_warning_info')); $this->addItem($item); $section = new ilFormSectionHeaderGUI(); $section->setTitle($this->txt('permission_settings')); $this->addItem($section); /** @var ilRbacReview $rbacreview $roles */ $roles = array(); foreach ($rbacreview->getGlobalRoles() as $role_id) { $roles[$role_id] = ilObject::_lookupTitle($role_id); } // Administrate types $item = new ilMultiSelectInputGUI($this->txt('roles_administrate_certificate_types'), 'roles_administrate_certificate_types'); $item->setOptions($roles); $item->setInfo($this->txt('roles_administrate_certificate_types_info')); $item->setWidth(272); $item->setHeight(165); $this->addItem($item); // Administrate certificates $item = new ilMultiSelectInputGUI($this->txt('roles_administrate_certificates'), 'roles_administrate_certificates'); $item->setOptions($roles); $item->setInfo($this->txt('roles_administrate_certificates_info')); $item->setWidth(272); $item->setHeight(165); $this->addItem($item); // Jasper Reports $section = new ilFormSectionHeaderGUI(); $section->setTitle('Jasper Reports'); $this->addItem($section); $item = new ilTextInputGUI($this->txt('jasper_locale'), 'jasper_locale'); $item->setInfo($this->txt('jasper_locale_info')); $this->addItem($item); $item = new ilTextInputGUI($this->txt('jasper_path_java'), 'jasper_path_java'); $this->addItem($item); // Notification $section = new ilFormSectionHeaderGUI(); $section->setTitle($this->lng->txt('notifications')); $this->addItem($section); $item = new ilTextInputGUI($this->txt('notification_user_subject'), 'notification_user_subject'); $this->addItem($item); $item = new ilTextAreaInputGUI($this->txt('notification_user_body'), 'notification_user_body'); $item->setRows(10); $item->setCols(100); $this->addItem($item); $item = new ilTextInputGUI($this->txt('notification_others_subject'), 'notification_others_subject'); $this->addItem($item); $item = new ilTextAreaInputGUI($this->txt('notification_others_body'), 'notification_others_body'); $item->setRows(10); $item->setCols(100); $this->addItem($item); $this->addCommandButtons(); }