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"];
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;
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");
815 $export_file->setInfo(sprintf(
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'));
908 }
catch (Exception $e) {
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'));
932 }
catch (Exception $e) {
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'])) {
1164 $inp->setValue(
$_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,
1220 'add_from_container' => $this->ref_id
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";
1299 $this->ctrl->redirect($this,
"listAppraisees");
1302 $this->tpl->setContent($cgui->getHTML());
1307 if (
sizeof(
$_POST[
"appr_id"])) {
1308 $data = $this->
object->getAppraiseesData();
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,
1371 'add_from_container' => $this->ref_id
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");
1432 $lname->setSize(30);
1433 $form->addItem($lname);
1435 $fname =
new ilTextInputGUI($this->lng->txt(
"firstname"),
"fname");
1436 $fname->setSize(30);
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);
1535 $cgui->addItem(
"rtr_id[]",
$id,
$data[
$id][
"lastname"] .
", " .
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);
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');
1601 $subject->setSize(50);
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');
1617 $mailmessage_u->setRequired(
true);
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');
1623 $mailmessage_a->setRequired(
true);
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());
An exception for terminatinating execution or to throw for unit testing.
Confirmation screen class.
@classDescription Date and time handling
static _getStaticLink( $a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
const MODE_PREDEFINED_USERS
This class represents an option in a radio group.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
Settings template application class.
Skill management settings.
Class ilSurveyParticipantsGUI.
exportCodesObject()
Exports a list of survey codes.
cancelDeleteAllUserDataObject()
Cancels delete of all user data in maintenance.
mailRatersObject(ilPropertyFormGUI $a_form=null)
importExternalRecipientsFromFileObject()
filterSurveyParticipantsByAccess($a_finished_ids=null)
saveInvitationStatusObject()
Saves the status of the invitation tab.
deleteSavedMessageObject()
deleteCodesConfirmObject()
confirmAppraiseeCloseObject()
deleteAllUserDataObject()
Creates a confirmation form for delete all user data.
addAppraisee($a_user_ids)
setCodesSubtabs()
Set the tabs for the access codes section.
maintenanceObject()
Participants maintenance.
importExternalMailRecipientsFromFileFormObject()
addExternalRaterFormObject(ilPropertyFormGUI $a_form=null)
importExternalMailRecipientsFromTextFormObject()
__construct(ilObjSurveyGUI $a_parent_gui, $a_has_write_access)
confirmAppraiseeCloseCancelObject()
inviteObject()
Creates the output for user/group invitation to a survey.
insertSavedMessageObject()
importAccessCodesActionObject()
Import codes from export codes file.
codesObject()
Display the survey access codes tab.
confirmDeleteAllUserDataObject()
Deletes all user data of the survey after confirmation.
createSurveyCodesObject()
Create access codes for the survey.
_convertCharset($a_string, $a_from_charset="", $a_to_charset="UTF-8")
exportAllCodesObject()
Exports all survey codes.
initMailRatersForm($appr_id, array $rec_ids)
deleteCodesObject()
Delete a list of survey codes.
confirmDeleteAppraiseesObject()
disinviteUserGroupObject()
Disinvite users or groups from a survey.
deleteSingleUserResultsObject()
Asks for a confirmation to delete selected user data of the test object.
setCodeLanguageObject()
Change survey language for direct access URL's.
importAccessCodesObject()
Import codes from export codes file (upload form)
confirmAdminAppraiseesCloseObject()
adminAppraiseesCloseObject()
cancelDeleteSelectedUserDataObject()
Cancels the deletion of all user data for the test object.
initExternalRaterForm($appr_id)
confirmDeleteRatersObject()
inviteUserGroupObject($a_user_ids=array())
Invite users or groups to a survey.
confirmDeleteSelectedUserDataObject()
Deletes all user data for the test object.
importExternalRecipientsFromTextObject()
This class represents a text area property in a property form.
This class represents a text property in a property form.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
if(isset($_POST['submit'])) $form