70 $this->tabs = $DIC->tabs();
71 $this->toolbar = $DIC->toolbar();
72 $this->access = $DIC->access();
73 $this->rbacsystem = $DIC->rbac()->system();
74 $this->
user = $DIC->user();
75 $this->log = $DIC[
"ilLog"];
77 $lng = $DIC->language();
80 $this->parent_gui = $a_parent_gui;
81 $this->
object = $this->parent_gui->object;
82 $this->ref_id = $this->
object->getRefId();
83 $this->has_write = (bool) $a_has_write_access;
92 if (!$this->has_write) {
93 include_once
"Modules/Survey/exceptions/class.ilSurveyException.php";
103 $cmd =
$ilCtrl->getCmd(
"maintenance");
104 $next_class = $this->ctrl->getNextClass($this);
106 switch ($next_class) {
107 case 'ilrepositorysearchgui':
108 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
111 if (!$_REQUEST[
"appr360"] && !$_REQUEST[
"rate360"]) {
112 $ilTabs->clearTargets();
113 $ilTabs->setBackTarget(
114 $this->lng->txt(
"btn_back"),
115 $this->ctrl->getLinkTarget($this,
"invite")
118 $rep_search->setCallback(
120 'inviteUserGroupObject',
126 $this->ctrl->setReturn($this,
'invite');
127 $this->ctrl->forwardCommand($rep_search);
128 $ilTabs->setTabActive(
'invitation');
129 } elseif ($_REQUEST[
"rate360"]) {
130 $ilTabs->clearTargets();
131 $ilTabs->setBackTarget(
132 $this->lng->txt(
"btn_back"),
133 $this->ctrl->getLinkTarget($this,
"listAppraisees")
136 $this->ctrl->setParameter($this,
"rate360", 1);
137 $this->ctrl->saveParameter($this,
"appr_id");
139 $rep_search->setCallback(
147 $this->ctrl->setReturn($this,
'editRaters');
148 $this->ctrl->forwardCommand($rep_search);
150 $ilTabs->activateTab(
"survey_360_appraisees");
151 $this->ctrl->setParameter($this,
"appr360", 1);
153 $rep_search->setCallback(
161 $this->ctrl->setReturn($this,
'listAppraisees');
162 $this->ctrl->forwardCommand($rep_search);
175 $all_participants = $this->
object->getSurveyParticipants($a_finished_ids);
176 $participant_ids = [];
177 foreach ($all_participants as $participant) {
178 $participant_ids[] = $participant[
'usr_id'];
182 $filtered_participant_ids = $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
185 $this->object->getRefId(),
189 foreach ($all_participants as $username => $user_data) {
190 if (!$user_data[
'usr_id']) {
191 $participants[$username] = $user_data;
193 if (in_array($user_data[
'usr_id'], $filtered_participant_ids)) {
194 $participants[$username] = $user_data;
197 return $participants;
208 if ($this->object->get360Mode()) {
214 include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
216 if ($this->object->getSkillService() && $skmg_set->isActivated()) {
217 $ilToolbar->addButton(
218 $this->lng->txt(
"survey_calc_skills"),
219 $this->ctrl->getLinkTargetByClass(
"ilsurveyskilldeterminationgui"),
228 $ilToolbar->addButton(
229 $this->lng->txt(
'svy_delete_all_user_data'),
230 $this->ctrl->getLinkTarget($this,
'deleteAllUserData')
233 include_once
"./Modules/Survey/classes/tables/class.ilSurveyMaintenanceTableGUI.php";
239 foreach (
$total as $user_data) {
241 if ((
bool) $user_data[
"finished"]) {
242 $finished = $user_data[
"finished_tstamp"];
244 $wt = $this->
object->getWorkingtimeForParticipant($user_data[
"active_id"]);
245 $last_access = $this->
object->getLastAccess($user_data[
"active_id"]);
246 array_push(
$data, array(
247 'id' => $user_data[
"active_id"],
248 'name' => $user_data[
"sortname"],
249 'login' => $user_data[
"login"],
250 'last_access' => $last_access,
251 'workingtime' => $wt,
252 'finished' => $finished
255 $table_gui->setData(
$data);
256 $this->tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());
261 $surveySetting =
new ilSetting(
"survey");
262 if ($surveySetting->get(
"anonymous_participants",
false)) {
263 if ($this->object->hasAnonymizedResults() &&
264 $this->
object->hasAnonymousUserList()) {
265 $end = $this->
object->getEndDate();
266 if (
$end &&
$end < date(
"YmdHis")) {
267 $min = $surveySetting->get(
"anonymous_participants_min", 0);
268 $total = $this->
object->getSurveyParticipants();
269 if (!$min ||
sizeof(
$total) >= $min) {
290 $ilTabs->addSubTabTarget(
292 $this->ctrl->getLinkTarget($this,
'maintenance'),
293 array(
"maintenance",
"deleteAllUserData"),
298 $ilTabs->addSubTabTarget(
299 "svy_anonymous_participants_svy",
300 $this->ctrl->getLinkTarget($this,
'listParticipants'),
301 array(
"listParticipants"),
306 if (!$this->object->isAccessibleWithoutCode()) {
307 $ilTabs->addSubTabTarget(
309 $this->ctrl->getLinkTarget($this,
'codes'),
310 array(
"codes",
"editCodes",
"createSurveyCodes",
"setCodeLanguage",
"deleteCodes",
"exportCodes",
311 "importExternalMailRecipientsFromFileForm",
"importExternalMailRecipientsFromTextForm"),
316 $hidden_tabs = array();
317 $template = $this->
object->getTemplate();
319 include_once
"Services/Administration/classes/class.ilSettingsTemplate.php";
321 $hidden_tabs =
$template->getHiddenTabs();
325 if (!in_array(
"invitation", $hidden_tabs)) {
326 if ($this->access->checkAccess(
'write',
'', $this->object->getRefId())) {
327 $ilTabs->addSubTabTarget(
329 $this->ctrl->getLinkTarget($this,
'invite'),
330 array(
"invite",
"saveInvitationStatus",
331 "inviteUserGroup",
"disinviteUserGroup"),
337 $data = $this->
object->getExternalCodeRecipients();
339 $ilTabs->addSubTabTarget(
341 $this->ctrl->getLinkTarget($this,
"mailCodes"),
342 array(
"mailCodes",
"sendCodesMail",
"insertSavedMessage",
"deleteSavedMessage"),
354 if (is_array(
$_POST[
"user_select"])) {
355 foreach (
$_POST[
"user_select"] as $user_id) {
356 $this->
object->disinviteUser($user_id);
359 ilUtil::sendSuccess($this->lng->txt(
'msg_users_disinvited'),
true);
360 $this->ctrl->redirect($this,
"invite");
370 if (is_array($a_user_ids)) {
371 foreach ($a_user_ids as $user_id) {
372 $this->
object->inviteUser($user_id);
380 ilUtil::sendSuccess(sprintf($this->lng->txt(
'users_invited'), $invited),
true);
383 $this->ctrl->redirect($this,
"invite");
391 $mode =
$_POST[
'invitation'];
403 $this->
object->saveToDb();
404 ilUtil::sendSuccess($this->lng->txt(
'msg_obj_modified'),
true);
405 $this->ctrl->redirect($this,
"invite");
421 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
423 $form->setFormAction($this->ctrl->getFormAction($this));
424 $form->setTableWidth(
"500");
425 $form->setId(
"invite");
429 $header->setTitle($this->lng->txt(
"invitation"));
434 $invitation->
setInfo($this->lng->txt(
'invitation_mode_desc'));
435 $invitation->addOption(
new ilRadioOption($this->lng->txt(
"invitation_off"), 0,
''));
436 $surveySetting =
new ilSetting(
"survey");
437 if ($surveySetting->get(
"unlimited_invitation")) {
438 $invitation->addOption(
new ilRadioOption($this->lng->txt(
"unlimited_users"), 1,
''));
440 $invitation->addOption(
new ilRadioOption($this->lng->txt(
"predefined_users"), 2,
''));
442 if ($this->object->getInvitation()) {
443 $inv = $this->
object->getInvitationMode() + 1;
445 $invitation->setValue($inv);
446 $form->addItem($invitation);
448 $form->addCommandButton(
"saveInvitationStatus", $this->lng->txt(
"save"));
450 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.il_svy_svy_invite.html",
"Modules/Survey");
451 $this->tpl->setVariable(
"INVITATION_TABLE",
$form->getHTML());
453 if ($this->object->getInvitation() && $this->
object->getInvitationMode() == 1) {
455 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
460 'auto_complete_name' =>
$lng->txt(
'user'),
461 'submit_name' =>
$lng->txt(
'svy_invite_action')
465 $ilToolbar->addSpacer();
467 $ilToolbar->addButton(
468 $this->lng->txt(
"svy_search_users"),
469 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
'')
472 $this->tpl->setVariable(
"ADM_CONTENT",
$form->getHTML());
474 $invited_users = $this->
object->getUserData($this->object->getInvitedUsers());
475 include_once
"./Modules/Survey/classes/tables/class.ilSurveyInvitedUsersTableGUI.php";
477 $table_gui->setData($invited_users);
478 $this->tpl->setVariable(
'TBL_INVITED_USERS', $table_gui->getHTML());
487 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
489 $cgui->setHeaderText($this->lng->txt(
"confirm_delete_all_user_data"));
490 $cgui->setFormAction($this->ctrl->getFormAction($this,
"deleteAllUserData"));
491 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteAllUserData");
492 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirmDeleteAllUserData");
493 $this->tpl->setContent($cgui->getHTML());
501 if ($this->access->checkAccess(
'write',
'', $this->object->getRefId())) {
502 $this->
object->deleteAllUserData();
505 foreach ($participants as $something => $participant_data) {
506 $this->
object->removeSelectedSurveyResults([$participant_data[
'active_id']]);
513 if ($this->object->get360Mode()) {
514 $this->
object->openAllAppraisees();
517 ilUtil::sendSuccess($this->lng->txt(
"svy_all_user_data_deleted"),
true);
518 $this->ctrl->redirect($this,
"maintenance");
526 $this->ctrl->redirect($this,
"maintenance");
534 $this->
object->removeSelectedSurveyResults(
$_POST[
"chbUser"]);
535 ilUtil::sendSuccess($this->lng->txt(
"svy_selected_user_data_deleted"),
true);
536 $this->ctrl->redirect($this,
"maintenance");
545 $this->ctrl->redirect($this,
"maintenance");
555 if (!is_array(
$_POST[
"chbUser"]) || count(
$_POST[
"chbUser"]) == 0) {
557 $this->ctrl->redirect($this,
"maintenance");
561 include_once
"./Modules/Survey/classes/tables/class.ilSurveyMaintenanceTableGUI.php";
563 $total = &$this->
object->getSurveyParticipants();
565 foreach (
$total as $user_data) {
566 if (in_array($user_data[
'active_id'],
$_POST[
'chbUser'])) {
567 $last_access = $this->
object->getLastAccess($user_data[
"active_id"]);
568 array_push(
$data, array(
569 'id' => $user_data[
"active_id"],
570 'name' => $user_data[
"sortname"],
571 'login' => $user_data[
"login"],
572 'last_access' => $last_access
576 $table_gui->setData(
$data);
577 $this->tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());
585 if (strcmp(
$_POST[
"lang"],
"-1") != 0) {
589 ilUtil::sendSuccess($this->lng->txt(
'language_changed'),
true);
590 $this->ctrl->redirect($this,
'codes');
604 if ($this->object->isAccessibleWithoutCode()) {
608 $default_lang =
$ilUser->getPref(
"survey_code_language");
611 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
613 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
617 $ilToolbar->addInputItem(
$si,
true);
619 include_once
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
622 $button->setCaption(
"create");
623 $button->setCommand(
"createSurveyCodes");
624 $ilToolbar->addButtonInstance($button);
626 $ilToolbar->addSeparator();
629 $button->setCaption(
"import_from_file");
630 $button->setCommand(
"importExternalMailRecipientsFromFileForm");
631 $ilToolbar->addButtonInstance($button);
634 $button->setCaption(
"import_from_text");
635 $button->setCommand(
"importExternalMailRecipientsFromTextForm");
636 $ilToolbar->addButtonInstance($button);
638 $ilToolbar->addSeparator();
641 $button->setCaption(
"svy_import_codes");
642 $button->setCommand(
"importAccessCodes");
643 $ilToolbar->addButtonInstance($button);
645 $ilToolbar->addSeparator();
647 $languages = $this->lng->getInstalledLanguages();
649 $this->lng->loadLanguageModule(
"meta");
653 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
656 $si->setValue($default_lang);
657 $ilToolbar->addInputItem(
$si,
true);
660 $button->setCaption(
"set");
661 $button->setCommand(
"setCodeLanguage");
662 $ilToolbar->addButtonInstance($button);
664 include_once
"./Modules/Survey/classes/tables/class.ilSurveyCodesTableGUI.php";
666 $survey_codes = $this->
object->getSurveyCodesTableData(null, $default_lang);
667 $table_gui->setData($survey_codes);
668 $this->tpl->setContent($table_gui->getHTML());
673 if (isset(
$_GET[
"new_ids"])) {
674 $ids = explode(
";",
$_GET[
"new_ids"]);
676 $ids = (array)
$_POST[
"chb_code"];
680 $this->ctrl->redirect($this,
'codes');
686 include_once
"./Modules/Survey/classes/tables/class.ilSurveyCodesEditTableGUI.php";
688 $table_gui->setData($this->object->getSurveyCodesTableData($ids));
689 $this->tpl->setContent($table_gui->getHTML());
694 if (!is_array(
$_POST[
"chb_code"])) {
695 $this->ctrl->redirect($this,
'codes');
701 if (!$this->object->updateCode(
712 ilUtil::sendSuccess($this->lng->txt(
'settings_saved'),
true);
715 $error_message .= sprintf($this->lng->txt(
"error_save_code"), $error[0], $error[1], $error[2]);
720 $this->ctrl->redirect($this,
'codes');
725 if (is_array(
$_POST[
"chb_code"]) && (count(
$_POST[
"chb_code"]) > 0)) {
726 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
728 $cgui->setHeaderText($this->lng->txt(
"survey_code_delete_sure"));
730 $cgui->setFormAction($this->ctrl->getFormAction($this));
731 $cgui->setCancel($this->lng->txt(
"cancel"),
"codes");
732 $cgui->setConfirm($this->lng->txt(
"confirm"),
"deleteCodes");
734 $data = $this->
object->getSurveyCodesTableData(
$_POST[
"chb_code"]);
736 foreach (
$data as $item) {
741 $title = array($item[
"code"]);
742 $item[
"email"] ?
$title[] = $item[
"email"] : null;
743 $item[
"last_name"] ? $title[] = $item[
"last_name"] : null;
744 $item[
"first_name"] ? $title[] = $item[
"first_name"] : null;
745 $title = implode(
", ", $title);
747 $cgui->addItem(
"chb_code[]", $item[
"code"], $title);
750 $this->tpl->setContent($cgui->getHTML());
753 $this->ctrl->redirect($this,
'codes');
762 if (is_array(
$_POST[
"chb_code"]) && (count(
$_POST[
"chb_code"]) > 0)) {
763 foreach (
$_POST[
"chb_code"] as $survey_code) {
764 $this->
object->deleteSurveyCode($survey_code);
766 ilUtil::sendSuccess($this->lng->txt(
'codes_deleted'),
true);
770 $this->ctrl->redirect($this,
'codes');
778 if (is_array(
$_POST[
"chb_code"]) && (count(
$_POST[
"chb_code"]) > 0)) {
779 $export = $this->
object->getSurveyCodesForExport(null,
$_POST[
"chb_code"]);
783 $this->ctrl->redirect($this,
'codes');
792 $export = $this->
object->getSurveyCodesForExport();
804 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
806 $form_import_file->setFormAction($this->ctrl->getFormAction($this));
807 $form_import_file->setTableWidth(
"100%");
808 $form_import_file->setId(
"codes_import_file");
811 $headerfile->setTitle($this->lng->txt(
"svy_import_codes"));
812 $form_import_file->addItem($headerfile);
814 $export_file =
new ilFileInputGUI($this->lng->txt(
"codes"),
"codes");
816 $this->lng->txt(
'svy_import_codes_info'),
817 $this->lng->txt(
"export_all_survey_codes")
819 $export_file->setSuffixes(array(
"csv"));
820 $export_file->setRequired(
true);
821 $form_import_file->addItem($export_file);
823 $form_import_file->addCommandButton(
"importAccessCodesAction", $this->lng->txt(
"import"));
824 $form_import_file->addCommandButton(
"codes", $this->lng->txt(
"cancel"));
826 $this->tpl->setContent($form_import_file->getHTML());
834 if (trim($_FILES[
'codes'][
'tmp_name'])) {
836 foreach ($this->object->getSurveyCodesTableData() as $item) {
837 $existing[$item[
"code"]] = $item[
"id"];
840 include_once
"./Services/Utilities/classes/class.ilCSVReader.php";
842 $reader->open($_FILES[
'codes'][
'tmp_name']);
843 foreach (
$reader->getDataArrayFromCSVFile() as
$row) {
845 if (
sizeof(
$row) == 8 && is_numeric(
$row[5])) {
850 if (!array_key_exists(
$code, $existing)) {
852 if (strlen($created) == 10) {
861 ,
"lastname" => $last_name
862 ,
"firstname" => $first_name
864 $this->
object->importSurveyCode(
$code, $created, $user_data);
869 ilUtil::sendSuccess($this->lng->txt(
'codes_created'),
true);
872 $this->ctrl->redirect($this,
'codes');
880 if (is_numeric(
$_POST[
"nrOfCodes"])) {
881 $ids = $this->
object->createSurveyCodes(
$_POST[
"nrOfCodes"]);
882 ilUtil::sendSuccess($this->lng->txt(
'codes_created'),
true);
883 $this->ctrl->setParameter($this,
"new_ids", implode(
";", $ids));
884 $this->ctrl->redirect($this,
'editCodes');
887 $this->ctrl->redirect($this,
'codes');
896 include_once(
"./Modules/Survey/classes/forms/FormMailCodesGUI.php");
898 $form_gui->setValuesByPost();
900 if ($form_gui->getSavedMessages()->getValue() > 0) {
902 $settings = $this->
object->getUserSettings(
$ilUser->getId(),
'savemessage');
903 $form_gui->getMailMessage()->setValue($settings[$form_gui->getSavedMessages()->getValue()][
'value']);
904 ilUtil::sendSuccess($this->lng->txt(
'msg_message_inserted'));
910 $ilLog->write(
'Error: ' + $e->getMessage());
912 $this->tpl->setVariable(
"ADM_CONTENT", $form_gui->getHTML());
920 include_once(
"./Modules/Survey/classes/forms/FormMailCodesGUI.php");
922 $form_gui->setValuesByPost();
924 if ($form_gui->getSavedMessages()->getValue() > 0) {
925 $this->
object->deleteUserSettings($form_gui->getSavedMessages()->getValue());
927 $form_gui->setValuesByPost();
928 ilUtil::sendSuccess($this->lng->txt(
'msg_message_deleted'));
934 $ilLog->write(
'Error: ' + $e->getMessage());
936 $this->tpl->setVariable(
"ADM_CONTENT", $form_gui->getHTML());
944 $mailData[
'm_subject'] = (array_key_exists(
'm_subject',
$_POST)) ?
$_POST[
'm_subject'] : sprintf($this->lng->txt(
'default_codes_mail_subject'), $this->
object->getTitle());
945 $mailData[
'm_message'] = (array_key_exists(
'm_message',
$_POST)) ?
$_POST[
'm_message'] : $this->lng->txt(
'default_codes_mail_message');
946 $mailData[
'm_notsent'] = (array_key_exists(
'm_notsent',
$_POST)) ?
$_POST[
'm_notsent'] :
'1';
948 include_once(
"./Modules/Survey/classes/forms/FormMailCodesGUI.php");
950 $form_gui->setValuesByArray($mailData);
951 $this->tpl->setVariable(
"ADM_CONTENT", $form_gui->getHTML());
961 include_once(
"./Modules/Survey/classes/forms/FormMailCodesGUI.php");
963 if ($form_gui->checkInput()) {
964 $url_exists = strpos(
$_POST[
'm_message'],
'[url]') !==
false;
967 $form_gui->setValuesByPost();
969 if (
$_POST[
'savemessage'] == 1) {
971 $title = (strlen(
$_POST[
'savemessagetitle'])) ?
$_POST[
'savemessagetitle'] : ilStr::substr(
$_POST[
'm_message'], 0, 40) .
'...';
972 $this->
object->saveUserSettings(
$ilUser->getId(),
'savemessage',
$title,
$_POST[
'm_message']);
977 $lang = $this->lng->getDefaultLanguage();
980 ilUtil::sendSuccess($this->lng->txt(
'mail_sent'),
true);
981 $this->ctrl->redirect($this,
'mailCodes');
984 $form_gui->setValuesByPost();
986 $this->tpl->setVariable(
"ADM_CONTENT", $form_gui->getHTML());
991 if (trim(
$_POST[
'externaltext'])) {
992 $data = preg_split(
"/[\n\r]/",
$_POST[
'externaltext']);
993 $fields = preg_split(
"/;/", array_shift(
$data));
994 if (!in_array(
'email', $fields)) {
997 $this->ctrl->redirect($this,
'importExternalMailRecipientsFromTextForm');
999 $existingdata = $this->
object->getExternalCodeRecipients();
1000 $existingcolumns = array();
1001 if (count($existingdata)) {
1002 $first = array_shift($existingdata);
1003 foreach ($first as
$key => $value) {
1004 array_push($existingcolumns,
$key);
1007 $founddata = array();
1008 foreach (
$data as $datarow) {
1009 $row = preg_split(
"/;/", $datarow);
1010 if (count(
$row) == count($fields)) {
1012 foreach ($fields as $idx => $fieldname) {
1013 if (count($existingcolumns)) {
1014 if (array_key_exists($idx, $existingcolumns)) {
1015 $dataset[$fieldname] =
$row[$idx];
1018 $dataset[$fieldname] =
$row[$idx];
1021 if (strlen($dataset[
'email'])) {
1022 array_push($founddata, $dataset);
1026 $this->
object->createSurveyCodesForExternalData($founddata);
1027 ilUtil::sendSuccess($this->lng->txt(
'external_recipients_imported'),
true);
1028 $this->ctrl->redirect($this,
'codes');
1031 $this->ctrl->redirect($this,
'importExternalMailRecipientsFromTextForm');
1035 protected function _convertCharset($a_string, $a_from_charset =
"", $a_to_charset =
"UTF-8")
1037 if (extension_loaded(
"mbstring")) {
1038 if (!$a_from_charset) {
1039 mb_detect_order(
"UTF-8, ISO-8859-1, Windows-1252, ASCII");
1040 $a_from_charset = mb_detect_encoding($a_string);
1042 if (strtoupper($a_from_charset) != $a_to_charset) {
1043 return @mb_convert_encoding($a_string, $a_to_charset, $a_from_charset);
1051 $bom = pack(
'H*',
'EFBBBF');
1052 return preg_replace(
'/^' . $bom .
'/',
'', $a_text);
1057 if (trim($_FILES[
'externalmails'][
'tmp_name'])) {
1058 include_once
"./Services/Utilities/classes/class.ilCSVReader.php";
1060 $reader->open($_FILES[
'externalmails'][
'tmp_name']);
1062 $fields = array_shift(
$data);
1063 foreach ($fields as $idx => $field) {
1066 if (!in_array(
'email', $fields)) {
1069 $this->ctrl->redirect($this,
'codes');
1071 $existingdata = $this->
object->getExternalCodeRecipients();
1072 $existingcolumns = array();
1073 if (count($existingdata)) {
1074 $first = array_shift($existingdata);
1075 foreach ($first as
$key => $value) {
1076 array_push($existingcolumns,
$key);
1080 include_once
"Services/Utilities/classes/class.ilStr.php";
1082 $founddata = array();
1084 if (count($row) == count($fields)) {
1086 foreach ($fields as $idx => $fieldname) {
1090 if (count($existingcolumns)) {
1091 if (array_key_exists($idx, $existingcolumns)) {
1092 $dataset[$fieldname] = $row[$idx];
1095 $dataset[$fieldname] = $row[$idx];
1098 if (strlen($dataset[
'email'])) {
1099 array_push($founddata, $dataset);
1105 if (
sizeof($founddata)) {
1106 $this->
object->createSurveyCodesForExternalData($founddata);
1107 ilUtil::sendSuccess($this->lng->txt(
'external_recipients_imported'),
true);
1111 $this->ctrl->redirect($this,
'codes');
1121 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1123 $form_import_file->setFormAction($this->ctrl->getFormAction($this));
1124 $form_import_file->setTableWidth(
"100%");
1125 $form_import_file->setId(
"codes_import_file");
1128 $headerfile->setTitle($this->lng->txt(
"import_from_file"));
1129 $form_import_file->addItem($headerfile);
1131 $externalmails =
new ilFileInputGUI($this->lng->txt(
"externalmails"),
"externalmails");
1132 $externalmails->
setInfo($this->lng->txt(
'externalmails_info'));
1133 $externalmails->setRequired(
true);
1134 $form_import_file->addItem($externalmails);
1135 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
1136 $form_import_file->addCommandButton(
"importExternalRecipientsFromFile", $this->lng->txt(
"import"));
1138 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
1139 $form_import_file->addCommandButton(
"codes", $this->lng->txt(
"cancel"));
1142 $this->tpl->setContent($form_import_file->getHTML());
1152 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1154 $form_import_text->setFormAction($this->ctrl->getFormAction($this));
1155 $form_import_text->setTableWidth(
"100%");
1156 $form_import_text->setId(
"codes_import_text");
1159 $headertext->setTitle($this->lng->txt(
"import_from_text"));
1160 $form_import_text->addItem($headertext);
1163 if (array_key_exists(
'externaltext',
$_SESSION) && strlen(
$_SESSION[
'externaltext'])) {
1167 $inp->setValue(
"email;firstname;lastname\n" . $this->lng->txt(
'mail_import_example2') .
"\n" . $this->lng->txt(
'mail_import_example3') .
"\n");
1169 $inp->setRequired(
true);
1172 $inp->setInfo($this->lng->txt(
'externaltext_info'));
1173 $form_import_text->addItem($inp);
1176 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
1177 $form_import_text->addCommandButton(
"importExternalRecipientsFromText", $this->lng->txt(
"import"));
1179 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
1180 $form_import_text->addCommandButton(
"codes", $this->lng->txt(
"cancel"));
1183 $this->tpl->setContent($form_import_text->getHTML());
1210 $this->ctrl->setParameter($this,
"appr360", 1);
1212 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
1217 'auto_complete_name' => $this->lng->txt(
'user'),
1218 'submit_name' => $this->lng->txt(
'add'),
1219 'add_search' =>
true,
1225 include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
1227 if ($this->object->getSkillService() && $skmg_set->isActivated()) {
1228 $ilToolbar->addSeparator();
1229 $ilToolbar->addButton(
1230 $lng->txt(
"survey_calc_skills"),
1231 $ilCtrl->getLinkTargetByClass(
"ilsurveyskilldeterminationgui"),
1236 $ilToolbar->addSeparator();
1237 $ilToolbar->addButton(
1238 $this->lng->txt(
'svy_delete_all_user_data'),
1239 $this->ctrl->getLinkTarget($this,
'deleteAllUserData')
1242 $this->ctrl->setParameter($this,
"appr360",
"");
1244 include_once
"Modules/Survey/classes/tables/class.ilSurveyAppraiseesTableGUI.php";
1246 $tbl->setData($this->object->getAppraiseesData());
1247 $this->tpl->setContent(
$tbl->getHTML());
1252 if (
sizeof($a_user_ids)) {
1254 foreach (array_unique($a_user_ids) as $user_id) {
1255 $this->
object->addAppraisee($user_id);
1258 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1260 $this->ctrl->redirect($this,
"listAppraisees");
1267 if (!
sizeof(
$_POST[
"appr_id"])) {
1269 $this->ctrl->redirect($this,
"listAppraisees");
1272 $ilTabs->clearTargets();
1273 $ilTabs->setBackTarget(
1274 $this->lng->txt(
"btn_back"),
1275 $this->ctrl->getLinkTarget($this,
"listAppraisees")
1278 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1280 $cgui->setHeaderText($this->lng->txt(
"survey_360_sure_delete_appraises"));
1282 $cgui->setFormAction($this->ctrl->getFormAction($this,
"deleteAppraisees"));
1283 $cgui->setCancel($this->lng->txt(
"cancel"),
"listAppraisees");
1284 $cgui->setConfirm($this->lng->txt(
"confirm"),
"deleteAppraisees");
1286 $data = $this->
object->getAppraiseesData();
1289 include_once
"Services/User/classes/class.ilUserUtil.php";
1291 if (isset(
$data[$id]) && !
$data[$id][
"closed"]) {
1299 $this->ctrl->redirect($this,
"listAppraisees");
1302 $this->tpl->setContent($cgui->getHTML());
1307 if (
sizeof(
$_POST[
"appr_id"])) {
1308 $data = $this->
object->getAppraiseesData();
1312 if (isset(
$data[$id]) && !
$data[$id][
"closed"]) {
1313 $this->
object->deleteAppraisee($id);
1317 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1320 $this->ctrl->redirect($this,
"listAppraisees");
1328 if ($ilAccess->checkAccess(
"write",
"", $this->ref_id)) {
1329 $appr_id = $_REQUEST[
"appr_id"];
1331 $this->ctrl->redirect($this,
"listAppraisees");
1334 } elseif ($this->object->get360Mode() &&
1335 $this->
object->get360SelfRaters() &&
1336 $this->
object->isAppraisee(
$ilUser->getId()) &&
1337 !$this->object->isAppraiseeClosed(
$ilUser->getId())) {
1340 $this->ctrl->redirect($this->parent_gui,
"infoScreen");
1351 $has_write = $ilAccess->checkAccess(
"write",
"", $this->ref_id);
1353 $ilTabs->clearTargets();
1354 $ilTabs->setBackTarget(
1355 $this->lng->txt(
"btn_back"),
1356 $this->ctrl->getLinkTarget($this,
"listAppraisees")
1360 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1361 $this->ctrl->setParameter($this,
"rate360", 1);
1363 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
1368 'auto_complete_name' => $this->lng->txt(
'user'),
1369 'submit_name' => $this->lng->txt(
'add'),
1370 'add_search' =>
true,
1375 $this->ctrl->setParameter($this,
"rate360",
"");
1377 $ilToolbar->addSeparator();
1379 $ilToolbar->addButton(
1380 $this->lng->txt(
"survey_360_add_external_rater"),
1381 $this->ctrl->getLinkTarget($this,
"addExternalRaterForm")
1385 require_once
"Services/Link/classes/class.ilLink.php";
1388 include_once
"Modules/Survey/classes/tables/class.ilSurveyAppraiseesTableGUI.php";
1390 $tbl->setData($this->object->getRatersData($appr_id));
1391 $this->tpl->setContent(
$tbl->getHTML());
1400 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1402 $has_write = $ilAccess->checkAccess(
"write",
"", $this->ref_id);
1404 $ilTabs->clearTargets();
1405 $ilTabs->setBackTarget(
1406 $this->lng->txt(
"btn_back"),
1407 $this->ctrl->getLinkTarget($this,
"editRaters")
1415 $this->tpl->setContent($a_form->getHTML());
1420 include_once
"Services/User/classes/class.ilUserUtil.php";
1421 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1423 $form->setFormAction($this->ctrl->getFormAction($this,
"addExternalRater"));
1424 $form->setTitle($this->lng->txt(
"survey_360_add_external_rater") .
1427 $email =
new ilEmailInputGUI($this->lng->txt(
"email"),
"email");
1428 $email->setRequired(
true);
1431 $lname =
new ilTextInputGUI($this->lng->txt(
"lastname"),
"lname");
1433 $form->addItem($lname);
1435 $fname =
new ilTextInputGUI($this->lng->txt(
"firstname"),
"fname");
1437 $form->addItem($fname);
1439 $form->addCommandButton(
"addExternalRater", $this->lng->txt(
"save"));
1440 $form->addCommandButton(
"editRaters", $this->lng->txt(
"cancel"));
1447 $appr_id = $_REQUEST[
"appr_id"];
1449 $this->ctrl->redirect($this,
"listAppraisees");
1452 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1455 if (
$form->checkInput()) {
1457 "email" =>
$form->getInput(
"email"),
1458 "lastname" =>
$form->getInput(
"lname"),
1459 "firstname" =>
$form->getInput(
"fname")
1461 $anonymous_id = $this->
object->createSurveyCodesForExternalData(array(
$data));
1462 $anonymous_id = array_pop($anonymous_id);
1464 $this->
object->addRater($appr_id, 0, $anonymous_id);
1466 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1467 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1468 $this->ctrl->redirect($this,
"editRaters");
1471 $form->setValuesByPost();
1482 if (
sizeof($a_user_ids)) {
1484 foreach (array_unique($a_user_ids) as $user_id) {
1485 if ($ilAccess->checkAccess(
"write",
"", $this->ref_id) ||
1486 $this->
object->get360SelfEvaluation() ||
1487 $user_id !=
$ilUser->getId()) {
1488 if ($appr_id != $user_id) {
1489 $this->
object->addRater($appr_id, $user_id);
1490 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1498 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1499 $this->ctrl->redirect($this,
"editRaters");
1507 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1508 if (!
sizeof(
$_POST[
"rtr_id"])) {
1510 $this->ctrl->redirect($this,
"editRaters");
1513 $ilTabs->clearTargets();
1514 $ilTabs->setBackTarget(
1515 $this->lng->txt(
"btn_back"),
1516 $this->ctrl->getLinkTarget($this,
"editRaters")
1519 include_once
"Services/User/classes/class.ilUserUtil.php";
1520 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1522 $cgui->setHeaderText(sprintf(
1523 $this->lng->txt(
"survey_360_sure_delete_raters"),
1527 $cgui->setFormAction($this->ctrl->getFormAction($this,
"deleteRaters"));
1528 $cgui->setCancel($this->lng->txt(
"cancel"),
"editRaters");
1529 $cgui->setConfirm($this->lng->txt(
"confirm"),
"deleteRaters");
1531 $data = $this->
object->getRatersData($appr_id);
1534 if (isset(
$data[$id])) {
1535 $cgui->addItem(
"rtr_id[]", $id,
$data[$id][
"lastname"] .
", " .
1536 $data[$id][
"firstname"] .
" (" .
$data[$id][
"email"] .
")");
1540 $this->tpl->setContent($cgui->getHTML());
1546 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1548 if (
sizeof(
$_POST[
"rtr_id"])) {
1549 $data = $this->
object->getRatersData($appr_id);
1552 if (isset(
$data[$id])) {
1553 if (substr($id, 0, 1) ==
"u") {
1554 $this->
object->deleteRater($appr_id, substr($id, 1));
1556 $this->
object->deleteRater($appr_id, 0, substr($id, 1));
1561 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1564 $this->ctrl->redirect($this,
"editRaters");
1571 if ($this->object->get360SelfAppraisee() &&
1572 !$this->
object->isAppraisee(
$ilUser->getId())) {
1573 $this->
object->addAppraisee(
$ilUser->getId());
1576 $this->ctrl->redirect($this->parent_gui,
"infoScreen");
1581 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1583 $form->setFormAction($this->ctrl->getFormAction($this,
"mailRatersAction"));
1584 $form->setTitle($this->lng->txt(
'compose'));
1586 $all_data = $this->
object->getRatersData($appr_id);
1587 $rec_data = array();
1588 foreach ($rec_ids as $rec_id) {
1589 if (isset($all_data[$rec_id])) {
1590 $rec_data[] = $all_data[$rec_id][
"lastname"] .
", " .
1591 $all_data[$rec_id][
"firstname"] .
1592 " (" . $all_data[$rec_id][
"email"] .
")";
1597 $rec->setHTML(implode(
"<br />", $rec_data));
1598 $form->addItem($rec);
1600 $subject =
new ilTextInputGUI($this->lng->txt(
'subject'),
'subject');
1602 $subject->setRequired(
true);
1603 $form->addItem($subject);
1605 $existingdata = $this->
object->getExternalCodeRecipients();
1606 $existingcolumns = array();
1607 if (count($existingdata)) {
1608 $first = array_shift($existingdata);
1609 foreach ($first as
$key => $value) {
1610 if (strcmp(
$key,
'code') != 0 && strcmp(
$key,
'email') != 0 && strcmp(
$key,
'sent') != 0) {
1611 array_push($existingcolumns,
'[' .
$key .
']');
1616 $mailmessage_u =
new ilTextAreaInputGUI($this->lng->txt(
'survey_360_rater_message_content_registered'),
'message_u');
1618 $mailmessage_u->setCols(80);
1619 $mailmessage_u->setRows(10);
1620 $form->addItem($mailmessage_u);
1622 $mailmessage_a =
new ilTextAreaInputGUI($this->lng->txt(
'survey_360_rater_message_content_anonymous'),
'message_a');
1624 $mailmessage_a->setCols(80);
1625 $mailmessage_a->setRows(10);
1626 $mailmessage_a->setInfo(sprintf($this->lng->txt(
'message_content_info'), join(
', ', $existingcolumns)));
1627 $form->addItem($mailmessage_a);
1630 $recf->setValue(implode(
";", $rec_ids));
1631 $form->addItem($recf);
1633 $form->addCommandButton(
"mailRatersAction", $this->lng->txt(
"send"));
1634 $form->addCommandButton(
"editRaters", $this->lng->txt(
"cancel"));
1636 $subject->setValue(sprintf($this->lng->txt(
'survey_360_rater_subject_default'), $this->
object->getTitle()));
1637 $mailmessage_u->setValue($this->lng->txt(
'survey_360_rater_message_content_registered_default'));
1638 $mailmessage_a->setValue($this->lng->txt(
'survey_360_rater_message_content_anonymous_default'));
1649 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1651 if (!
sizeof(
$_POST[
"rtr_id"])) {
1653 $this->ctrl->redirect($this,
"editRaters");
1659 $ilTabs->clearTargets();
1660 $ilTabs->setBackTarget(
1661 $this->lng->txt(
"btn_back"),
1662 $this->ctrl->getLinkTarget($this,
"editRaters")
1665 $this->tpl->setContent($a_form->getHTML());
1673 $this->ctrl->setParameter($this,
"appr_id", $appr_id);
1675 $rec_ids = explode(
";",
$_POST[
"rtr_id"]);
1676 if (!
sizeof($rec_ids)) {
1677 $this->ctrl->redirect($this,
"editRaters");
1681 if (
$form->checkInput()) {
1682 $txt_u =
$form->getInput(
"message_u");
1683 $txt_a =
$form->getInput(
"message_a");
1684 $subj =
$form->getInput(
"subject");
1687 $sender_id = (trim(
$ilUser->getEmail()))
1689 : ANONYMOUS_USER_ID;
1691 include_once
"./Services/Mail/classes/class.ilMail.php";
1693 $all_data = $this->
object->getRatersData($appr_id);
1694 foreach ($rec_ids as $rec_id) {
1695 if (isset($all_data[$rec_id])) {
1696 $user = $all_data[$rec_id];
1699 if (substr($rec_id, 0, 1) ==
"a") {
1702 $rcp =
$user[
"email"];
1707 $user[
"code"] = $this->lng->txt(
"survey_code_mail_on_demand");
1709 $rcp =
$user[
"login"];
1712 $mytxt = str_replace(
"[lastname]",
$user[
"lastname"], $mytxt);
1713 $mytxt = str_replace(
"[firstname]",
$user[
"firstname"], $mytxt);
1714 $mytxt = str_replace(
"[url]",
$url, $mytxt);
1715 $mytxt = str_replace(
"[code]",
$user[
"code"], $mytxt);
1717 $mail =
new ilMail($sender_id);
1728 $this->
object->set360RaterSent(
1730 (substr($rec_id, 0, 1) ==
"a") ? 0 : (
int) substr($rec_id, 1),
1731 (substr($rec_id, 0, 1) ==
"u") ? 0 : (
int) substr($rec_id, 1)
1736 ilUtil::sendSuccess($this->lng->txt(
"mail_sent"),
true);
1737 $this->ctrl->redirect($this,
"editRaters");
1740 $form->setValuesByPost();
1750 $ilTabs->clearTargets();
1751 $ilTabs->setBackTarget(
1752 $this->lng->txt(
"menuback"),
1753 $this->ctrl->getLinkTarget($this->parent_gui,
"infoScreen")
1756 if (!$this->object->isAppraisee(
$ilUser->getId())) {
1757 $this->ctrl->redirect($this->parent_gui,
"infoScreen");
1760 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1762 $cgui->setHeaderText($this->lng->txt(
"survey_360_sure_appraisee_close"));
1764 $cgui->setFormAction($this->ctrl->getFormAction($this,
"appraiseeClose"));
1765 $cgui->setCancel($this->lng->txt(
"cancel"),
"confirmAppraiseeCloseCancel");
1766 $cgui->setConfirm($this->lng->txt(
"confirm"),
"appraiseeClose");
1768 $tpl->setContent($cgui->getHTML());
1773 $this->ctrl->redirect($this->parent_gui,
"infoScreen");
1780 if (!$this->object->isAppraisee(
$ilUser->getId())) {
1781 $this->ctrl->redirect($this->parent_gui,
"infoScreen");
1784 $this->
object->closeAppraisee(
$ilUser->getId());
1785 ilUtil::sendSuccess($this->lng->txt(
"survey_360_appraisee_close_action_success"),
true);
1786 $this->ctrl->redirect($this->parent_gui,
"infoScreen");
1795 $appr_ids =
$_POST[
"appr_id"];
1797 if (!
sizeof($appr_ids)) {
1799 $this->ctrl->redirect($this,
"listAppraisees");
1802 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1804 $cgui->setHeaderText($this->lng->txt(
"survey_360_sure_appraisee_close_admin"));
1806 $cgui->setFormAction($this->ctrl->getFormAction($this,
"adminAppraiseesClose"));
1807 $cgui->setCancel($this->lng->txt(
"cancel"),
"listAppraisees");
1808 $cgui->setConfirm($this->lng->txt(
"confirm"),
"adminAppraiseesClose");
1810 include_once
"Services/User/classes/class.ilUserUtil.php";
1811 foreach ($appr_ids as $appr_id) {
1815 $tpl->setContent($cgui->getHTML());
1822 $appr_ids =
$_POST[
"appr_id"];
1824 if (!
sizeof($appr_ids)) {
1826 $this->ctrl->redirect($this,
"listAppraisees");
1829 $appr_data = $this->
object->getAppraiseesData();
1830 foreach ($appr_ids as $appr_id) {
1831 if (isset($appr_data[$appr_id]) && !$appr_data[$appr_id][
"closed"]) {
1832 $this->
object->closeAppraisee($appr_id);
1836 ilUtil::sendSuccess($this->lng->txt(
"survey_360_appraisee_close_action_success_admin"),
true);
1837 $this->ctrl->redirect($this,
"listAppraisees");
1845 $this->ctrl->redirect($this,
"maintenance");
1851 include_once
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
1853 $button->setCaption(
"print");
1854 $button->setOnClick(
"window.print(); return false;");
1855 $button->setOmitPreventDoubleSubmission(
true);
1856 $ilToolbar->addButtonInstance($button);
1858 include_once
"Modules/Survey/classes/tables/class.ilSurveyParticipantsTableGUI.php";
1860 $this->tpl->setContent(
$tbl->getHTML());
importAccessCodesObject()
Import codes from export codes file (upload form)
Class ilSurveyParticipantsGUI.
This class represents an option in a radio group.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
codesObject()
Display the survey access codes tab.
addAppraisee($a_user_ids)
exportAllCodesObject()
Exports all survey codes.
addExternalRaterFormObject(ilPropertyFormGUI $a_form=null)
Skill management settings.
saveInvitationStatusObject()
Saves the status of the invitation tab.
static _getStaticLink( $a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
_convertCharset($a_string, $a_from_charset="", $a_to_charset="UTF-8")
if(!array_key_exists('StateId', $_REQUEST)) $id
setValue($a_value)
Set Value.
maintenanceObject()
Participants maintenance.
setCodeLanguageObject()
Change survey language for direct access URL's.
insertSavedMessageObject()
confirmAppraiseeCloseObject()
inviteObject()
Creates the output for user/group invitation to a survey.
cancelDeleteSelectedUserDataObject()
Cancels the deletion of all user data for the test object.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
confirmDeleteAppraiseesObject()
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
confirmDeleteRatersObject()
initMailRatersForm($appr_id, array $rec_ids)
cancelDeleteAllUserDataObject()
Cancels delete of all user data in maintenance.
if(isset($_POST['submit'])) $form
deleteCodesConfirmObject()
importExternalRecipientsFromFileObject()
deleteCodesObject()
Delete a list of survey codes.
setSize($a_size)
Set Size.
This class represents a text property in a property form.
const MODE_PREDEFINED_USERS
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
filterSurveyParticipantsByAccess($a_finished_ids=null)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
createSurveyCodesObject()
Create access codes for the survey.
__construct(ilObjSurveyGUI $a_parent_gui, $a_has_write_access)
confirmDeleteSelectedUserDataObject()
Deletes all user data for the test object.
deleteSavedMessageObject()
confirmAdminAppraiseesCloseObject()
importExternalMailRecipientsFromFileFormObject()
importAccessCodesActionObject()
Import codes from export codes file.
disinviteUserGroupObject()
Disinvite users or groups from a survey.
This class represents a text area property in a property form.
importExternalRecipientsFromTextObject()
initExternalRaterForm($appr_id)
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
adminAppraiseesCloseObject()
setCodesSubtabs()
Set the tabs for the access codes section.
confirmDeleteAllUserDataObject()
Deletes all user data of the survey after confirmation.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
inviteUserGroupObject($a_user_ids=array())
Invite users or groups to a survey.
mailRatersObject(ilPropertyFormGUI $a_form=null)
Settings template application class.
exportCodesObject()
Exports a list of survey codes.
deleteSingleUserResultsObject()
Asks for a confirmation to delete selected user data of the test object.
deleteAllUserDataObject()
Creates a confirmation form for delete all user data.
importExternalMailRecipientsFromTextFormObject()
Confirmation screen class.
confirmAppraiseeCloseCancelObject()