ILIAS  release_8 Revision v8.19-1-g4e8f2f9140c
All Data Structures Namespaces Files Functions Variables Modules Pages
ilSurveyParticipantsGUI Class Reference

Class ilSurveyParticipantsGUI. More...

+ Collaboration diagram for ilSurveyParticipantsGUI:

Public Member Functions

 getObject ()
 
 executeCommand ()
 
 maintenanceObject ()
 Participants maintenance. More...
 
 deleteAllUserDataObject ()
 Creates a confirmation form for delete all user data. More...
 
 confirmDeleteAllUserDataObject ()
 Deletes all user data of the survey after confirmation. More...
 
 cancelDeleteAllUserDataObject ()
 Cancels delete of all user data in maintenance. More...
 
 confirmDeleteSelectedUserDataObject ()
 Deletes all user data for the test object. More...
 
 cancelDeleteSelectedUserDataObject ()
 Cancels the deletion of all user data. More...
 
 deleteSingleUserResultsObject ()
 Asks for a confirmation to delete selected user data. More...
 
 setCodeLanguageObject ()
 Change survey language for direct access URL's. More...
 
 codesObject ()
 Display the survey access codes tab. More...
 
 editCodesObject ()
 
 updateCodesObject ()
 
 deleteCodesConfirmObject ()
 
 deleteCodesObject ()
 Delete a list of survey codes. More...
 
 exportCodesObject ()
 Exports a list of survey codes. More...
 
 exportAllCodesObject ()
 Exports all survey codes. More...
 
 createSurveyCodesObject ()
 Create access codes for the survey. More...
 
 insertSavedMessageObject ()
 
 deleteSavedMessageObject ()
 
 mailCodesObject ()
 
 sendCodesMailObject ()
 
 importExternalRecipientsFromTextObject ()
 
 addCodeForExternal (string $email, string $lastname, string $firstname)
 Add code for an external rater. More...
 
 importExternalRecipientsFromFileObject ()
 
 importExternalMailRecipientsFromFileFormObject ()
 
 importExternalMailRecipientsFromTextFormObject ()
 
 listAppraiseesObject ()
 
 addAppraisee (array $a_user_ids)
 
 confirmDeleteAppraiseesObject ()
 
 deleteAppraiseesObject ()
 
 handleRatersAccess ()
 
 editRatersObject ()
 
 addExternalRaterFormObject (ilPropertyFormGUI $a_form=null)
 
 addExternalRaterObject ()
 
 addRater (array $a_user_ids)
 
 confirmDeleteRatersObject ()
 
 deleteRatersObject ()
 
 addSelfAppraiseeObject ()
 
 initMailRatersForm (int $appr_id, array $rec_ids)
 
 mailRatersObject ()
 
 mailRatersObjectOld (ilPropertyFormGUI $a_form=null)
 
 mailRatersActionObject ()
 
 confirmAppraiseeCloseObject ()
 
 confirmAppraiseeCloseCancelObject ()
 
 appraiseeCloseObject ()
 
 confirmAdminAppraiseesCloseObject ()
 
 adminAppraiseesCloseObject ()
 
 inviteUsers (array $user_ids)
 

Protected Member Functions

 handleWriteAccess ()
 
 filterSurveyParticipantsByAccess (array $a_finished_ids=null)
 
 isAnonymousListActive ()
 
 setParticipantSubTabs (string $active)
 
 importAccessCodesObject ()
 Import codes from export codes file (upload form) More...
 
 importAccessCodesActionObject ()
 Import codes from export codes file. More...
 
 _convertCharset (string $a_string, string $a_from_charset="", string $a_to_charset="UTF-8")
 
 removeUTF8Bom (string $a_text)
 
 storeMailSent ()
 
 initExternalRaterForm (int $appr_id)
 
 listParticipantsObject ()
 

Protected Attributes

ILIAS Survey Mode FeatureConfig $feature_config
 
ILIAS Survey Editing EditingGUIRequest $edit_request
 
ILIAS Survey Editing EditManager $edit_manager
 
ilCtrl $ctrl
 
ilLanguage $lng
 
ilGlobalTemplateInterface $tpl
 
ilTabsGUI $tabs
 
ilToolbarGUI $toolbar
 
ilAccessHandler $access
 
ilRbacSystem $rbacsystem
 
ilObjUser $user
 
ilLogger $log
 
ilObjSurveyGUI $parent_gui
 
ilObjSurvey $object
 
int $ref_id
 
bool $has_write
 
Participants InvitationsManager $invitation_manager
 
ILIAS Survey InternalService $survey_service
 
ILIAS Survey Code CodeManager $code_manager
 
ILIAS Survey InternalDataService $data_manager
 

Detailed Description

Member Function Documentation

◆ _convertCharset()

ilSurveyParticipantsGUI::_convertCharset ( string  $a_string,
string  $a_from_charset = "",
string  $a_to_charset = "UTF-8" 
)
protected

Definition at line 964 of file class.ilSurveyParticipantsGUI.php.

Referenced by importExternalRecipientsFromFileObject().

968  : string {
969  if (extension_loaded("mbstring")) {
970  if (!$a_from_charset) {
971  mb_detect_order("UTF-8, ISO-8859-1, Windows-1252, ASCII");
972  $a_from_charset = mb_detect_encoding($a_string);
973  }
974  if (strtoupper($a_from_charset) !== $a_to_charset) {
975  return mb_convert_encoding($a_string, $a_to_charset, $a_from_charset);
976  }
977  }
978  return $a_string;
979  }
+ Here is the caller graph for this function:

◆ addAppraisee()

ilSurveyParticipantsGUI::addAppraisee ( array  $a_user_ids)

Definition at line 1168 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

1170  : void {
1171  if (count($a_user_ids)) {
1172  // #13319
1173  foreach (array_unique($a_user_ids) as $user_id) {
1174  $this->object->addAppraisee($user_id);
1175  }
1176 
1177  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1178  }
1179  $this->ctrl->redirect($this, "listAppraisees");
1180  }
+ Here is the call graph for this function:

◆ addCodeForExternal()

ilSurveyParticipantsGUI::addCodeForExternal ( string  $email,
string  $lastname,
string  $firstname 
)

Add code for an external rater.

Definition at line 949 of file class.ilSurveyParticipantsGUI.php.

Referenced by addExternalRaterObject(), importExternalRecipientsFromFileObject(), and importExternalRecipientsFromTextObject().

953  : int {
954  $code = $this->data_manager->code("")
955  ->withEmail($email)
956  ->withLastName($lastname)
957  ->withFirstName($firstname);
958  $code_id = $this->code_manager->add($code);
959  return $code_id;
960  }
if($orgName !==null) if($spconfig->hasValue('contacts')) $email
Definition: metadata.php:302
+ Here is the caller graph for this function:

◆ addExternalRaterFormObject()

ilSurveyParticipantsGUI::addExternalRaterFormObject ( ilPropertyFormGUI  $a_form = null)

Definition at line 1324 of file class.ilSurveyParticipantsGUI.php.

References $access, $tabs, ILIAS\Repository\ctrl(), handleRatersAccess(), initExternalRaterForm(), and ILIAS\Repository\lng().

Referenced by addExternalRaterObject().

1326  : void {
1327  $ilTabs = $this->tabs;
1328  $ilAccess = $this->access;
1329 
1330  $appr_id = $this->handleRatersAccess();
1331  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1332 
1333  $has_write = $ilAccess->checkAccess("write", "", $this->ref_id);
1334  if ($has_write) {
1335  $ilTabs->clearTargets();
1336  $ilTabs->setBackTarget(
1337  $this->lng->txt("btn_back"),
1338  $this->ctrl->getLinkTarget($this, "editRaters")
1339  );
1340  }
1341 
1342  if (!$a_form) {
1343  $a_form = $this->initExternalRaterForm($appr_id);
1344  }
1345 
1346  $this->tpl->setContent($a_form->getHTML());
1347  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addExternalRaterObject()

ilSurveyParticipantsGUI::addExternalRaterObject ( )

Definition at line 1375 of file class.ilSurveyParticipantsGUI.php.

References addCodeForExternal(), addExternalRaterFormObject(), ILIAS\Repository\ctrl(), initExternalRaterForm(), and ILIAS\Repository\lng().

1375  : void
1376  {
1377  $appr_id = $this->edit_request->getAppraiseeId();
1378  if (!$appr_id) {
1379  $this->ctrl->redirect($this, "listAppraisees");
1380  }
1381 
1382  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1383 
1384  $form = $this->initExternalRaterForm($appr_id);
1385  if ($form->checkInput()) {
1386  $code_id = $this->addCodeForExternal(
1387  $form->getInput("email"),
1388  $form->getInput("lname"),
1389  $form->getInput("fname")
1390  );
1391 
1392  $this->object->addRater($appr_id, 0, $code_id);
1393 
1394  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1395  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1396  $this->ctrl->redirect($this, "editRaters");
1397  }
1398 
1399  $form->setValuesByPost();
1400  $this->addExternalRaterFormObject($form);
1401  }
addExternalRaterFormObject(ilPropertyFormGUI $a_form=null)
addCodeForExternal(string $email, string $lastname, string $firstname)
Add code for an external rater.
+ Here is the call graph for this function:

◆ addRater()

ilSurveyParticipantsGUI::addRater ( array  $a_user_ids)

Definition at line 1403 of file class.ilSurveyParticipantsGUI.php.

References $access, $ilUser, $user, ILIAS\Repository\ctrl(), handleRatersAccess(), and ILIAS\Repository\lng().

1405  : void {
1406  $ilAccess = $this->access;
1407  $ilUser = $this->user;
1408 
1409  $appr_id = $this->handleRatersAccess();
1410 
1411  if (count($a_user_ids)) {
1412  // #13319
1413  foreach (array_unique($a_user_ids) as $user_id) {
1414  if ($ilAccess->checkAccess("write", "", $this->ref_id) ||
1415  $this->object->get360SelfEvaluation() ||
1416  $user_id != $ilUser->getId()) {
1417  if ($appr_id != $user_id) {
1418  $this->object->addRater($appr_id, $user_id);
1419  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1420  } else {
1421  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("svy_appraisses_cannot_be_raters"), true);
1422  }
1423  }
1424  }
1425  }
1426 
1427  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1428  $this->ctrl->redirect($this, "editRaters");
1429  }
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:

◆ addSelfAppraiseeObject()

ilSurveyParticipantsGUI::addSelfAppraiseeObject ( )

Definition at line 1496 of file class.ilSurveyParticipantsGUI.php.

References $ilUser, $user, ILIAS\Repository\ctrl(), and ILIAS\Repository\object().

1496  : void
1497  {
1498  $ilUser = $this->user;
1499 
1500  if ($this->object->get360SelfAppraisee() &&
1501  !$this->object->isAppraisee($ilUser->getId())) {
1502  $this->object->addAppraisee($ilUser->getId());
1503  }
1504 
1505  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1506  }
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:

◆ adminAppraiseesCloseObject()

ilSurveyParticipantsGUI::adminAppraiseesCloseObject ( )

Definition at line 1795 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), handleWriteAccess(), and ILIAS\Repository\lng().

1795  : void
1796  {
1797  $this->handleWriteAccess();
1798 
1799  $appr_ids = $this->edit_request->getAppraiseeIds();
1800 
1801  if (count($appr_ids) === 0) {
1802  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1803  $this->ctrl->redirect($this, "listAppraisees");
1804  }
1805 
1806  $appr_data = $this->object->getAppraiseesData();
1807  foreach ($appr_ids as $appr_id) {
1808  if (isset($appr_data[$appr_id]) && !$appr_data[$appr_id]["closed"]) {
1809  $this->object->closeAppraisee($appr_id);
1810  }
1811  }
1812 
1813  $this->tpl->setOnScreenMessage('success', $this->lng->txt("survey_360_appraisee_close_action_success_admin"), true);
1814  $this->ctrl->redirect($this, "listAppraisees");
1815  }
+ Here is the call graph for this function:

◆ appraiseeCloseObject()

ilSurveyParticipantsGUI::appraiseeCloseObject ( )

Definition at line 1755 of file class.ilSurveyParticipantsGUI.php.

References $ilUser, $user, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

1755  : void
1756  {
1757  $ilUser = $this->user;
1758 
1759  if (!$this->object->isAppraisee($ilUser->getId())) {
1760  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1761  }
1762 
1763  $this->object->closeAppraisee($ilUser->getId());
1764  $this->tpl->setOnScreenMessage('success', $this->lng->txt("survey_360_appraisee_close_action_success"), true);
1765  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1766  }
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:

◆ cancelDeleteAllUserDataObject()

ilSurveyParticipantsGUI::cancelDeleteAllUserDataObject ( )

Cancels delete of all user data in maintenance.

Definition at line 401 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl().

401  : void
402  {
403  $this->ctrl->redirect($this, "maintenance");
404  }
+ Here is the call graph for this function:

◆ cancelDeleteSelectedUserDataObject()

ilSurveyParticipantsGUI::cancelDeleteSelectedUserDataObject ( )

Cancels the deletion of all user data.

Definition at line 432 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

432  : void
433  {
434  $this->tpl->setOnScreenMessage('info', $this->lng->txt('msg_cancel'), true);
435  $this->ctrl->redirect($this, "maintenance");
436  }
+ Here is the call graph for this function:

◆ codesObject()

ilSurveyParticipantsGUI::codesObject ( )

Display the survey access codes tab.

Definition at line 490 of file class.ilSurveyParticipantsGUI.php.

References $ilUser, $lang, $toolbar, $user, ILIAS\Repository\ctrl(), ilSubmitButton\getInstance(), handleWriteAccess(), ILIAS\Repository\lng(), ILIAS\Repository\object(), and setParticipantSubTabs().

490  : void
491  {
493  $ilToolbar = $this->toolbar;
494 
495  $this->handleWriteAccess();
496  $this->setParticipantSubTabs("codes");
497 
498  if ($this->object->isAccessibleWithoutCode()) {
499  $this->tpl->setOnScreenMessage('info', $this->lng->txt("survey_codes_no_anonymization"));
500  return;
501  }
502 
503  $default_lang = $ilUser->getPref("survey_code_language");
504 
505  // creation buttons
506  $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
507 
508  $si = new ilTextInputGUI($this->lng->txt("new_survey_codes"), "nrOfCodes");
509  $si->setValue(1);
510  $si->setSize(3);
511  $ilToolbar->addInputItem($si, true);
512 
513  $button = ilSubmitButton::getInstance();
514  $button->setCaption("create");
515  $button->setCommand("createSurveyCodes");
516  $ilToolbar->addButtonInstance($button);
517 
518  $ilToolbar->addSeparator();
519 
520  $button = ilSubmitButton::getInstance();
521  $button->setCaption("import_from_file");
522  $button->setCommand("importExternalMailRecipientsFromFileForm");
523  $ilToolbar->addButtonInstance($button);
524 
525  $button = ilSubmitButton::getInstance();
526  $button->setCaption("import_from_text");
527  $button->setCommand("importExternalMailRecipientsFromTextForm");
528  $ilToolbar->addButtonInstance($button);
529 
530  $ilToolbar->addSeparator();
531 
532  $button = ilSubmitButton::getInstance();
533  $button->setCaption("svy_import_codes");
534  $button->setCommand("importAccessCodes");
535  $ilToolbar->addButtonInstance($button);
536 
537  $ilToolbar->addSeparator();
538 
539  $languages = $this->lng->getInstalledLanguages();
540  $options = array();
541  $this->lng->loadLanguageModule("meta");
542  foreach ($languages as $lang) {
543  $options[$lang] = $this->lng->txt("meta_l_" . $lang);
544  }
545  $si = new ilSelectInputGUI($this->lng->txt("survey_codes_lang"), "lang");
546  $si->setOptions($options);
547  $si->setValue($default_lang);
548  $ilToolbar->addInputItem($si, true);
549 
550  $button = ilSubmitButton::getInstance();
551  $button->setCaption("set");
552  $button->setCommand("setCodeLanguage");
553  $ilToolbar->addButtonInstance($button);
554 
555  $table_gui = new ilSurveyCodesTableGUI($this, 'codes');
556  $survey_codes = $this->object->getSurveyCodesTableData(null, $default_lang);
557  $table_gui->setData($survey_codes);
558  $this->tpl->setContent($table_gui->getHTML());
559  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$lang
Definition: xapiexit.php:26
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:

◆ confirmAdminAppraiseesCloseObject()

ilSurveyParticipantsGUI::confirmAdminAppraiseesCloseObject ( )

Definition at line 1768 of file class.ilSurveyParticipantsGUI.php.

References $tpl, ILIAS\Repository\ctrl(), ilUserUtil\getNamePresentation(), handleWriteAccess(), ILIAS\Repository\lng(), and ilGlobalTemplateInterface\setContent().

1768  : void
1769  {
1770  $tpl = $this->tpl;
1771 
1772  $this->handleWriteAccess();
1773 
1774  $appr_ids = $this->edit_request->getAppraiseeIds();
1775 
1776  if (count($appr_ids) === 0) {
1777  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1778  $this->ctrl->redirect($this, "listAppraisees");
1779  }
1780 
1781  $cgui = new ilConfirmationGUI();
1782  $cgui->setHeaderText($this->lng->txt("survey_360_sure_appraisee_close_admin"));
1783 
1784  $cgui->setFormAction($this->ctrl->getFormAction($this, "adminAppraiseesClose"));
1785  $cgui->setCancel($this->lng->txt("cancel"), "listAppraisees");
1786  $cgui->setConfirm($this->lng->txt("confirm"), "adminAppraiseesClose");
1787 
1788  foreach ($appr_ids as $appr_id) {
1789  $cgui->addItem("appr_id[]", $appr_id, ilUserUtil::getNamePresentation($appr_id));
1790  }
1791 
1792  $tpl->setContent($cgui->getHTML());
1793  }
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link="", bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
setContent(string $a_html)
Sets content for standard template.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ confirmAppraiseeCloseCancelObject()

ilSurveyParticipantsGUI::confirmAppraiseeCloseCancelObject ( )

Definition at line 1750 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl().

1750  : void
1751  {
1752  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1753  }
+ Here is the call graph for this function:

◆ confirmAppraiseeCloseObject()

ilSurveyParticipantsGUI::confirmAppraiseeCloseObject ( )

Definition at line 1724 of file class.ilSurveyParticipantsGUI.php.

References $ilUser, $tabs, $tpl, $user, ilTabsGUI\clearTargets(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\Repository\object(), and ilGlobalTemplateInterface\setContent().

1724  : void
1725  {
1726  $ilUser = $this->user;
1727  $tpl = $this->tpl;
1728  $ilTabs = $this->tabs;
1729 
1730  $ilTabs->clearTargets();
1731  $ilTabs->setBackTarget(
1732  $this->lng->txt("menuback"),
1733  $this->ctrl->getLinkTarget($this->parent_gui, "infoScreen")
1734  );
1735 
1736  if (!$this->object->isAppraisee($ilUser->getId())) {
1737  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1738  }
1739 
1740  $cgui = new ilConfirmationGUI();
1741  $cgui->setHeaderText($this->lng->txt("survey_360_sure_appraisee_close"));
1742 
1743  $cgui->setFormAction($this->ctrl->getFormAction($this, "appraiseeClose"));
1744  $cgui->setCancel($this->lng->txt("cancel"), "confirmAppraiseeCloseCancel");
1745  $cgui->setConfirm($this->lng->txt("confirm"), "appraiseeClose");
1746 
1747  $tpl->setContent($cgui->getHTML());
1748  }
setContent(string $a_html)
Sets content for standard template.
clearTargets()
clear all targets
$ilUser
Definition: imgupload.php:34
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ confirmDeleteAllUserDataObject()

ilSurveyParticipantsGUI::confirmDeleteAllUserDataObject ( )

Deletes all user data of the survey after confirmation.

Definition at line 378 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\access(), ILIAS\Repository\ctrl(), filterSurveyParticipantsByAccess(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

378  : void
379  {
380  if ($this->access->checkAccess('write', '', $this->object->getRefId())) {
381  $this->object->deleteAllUserData();
382  } else {
383  $participants = $this->filterSurveyParticipantsByAccess();
384  foreach ($participants as $something => $participant_data) {
385  $this->object->removeSelectedSurveyResults([$participant_data['active_id']]);
386  }
387  }
388 
389  // #11558 - re-open closed appraisees
390  if ($this->object->get360Mode()) {
391  $this->object->openAllAppraisees();
392  }
393 
394  $this->tpl->setOnScreenMessage('success', $this->lng->txt("svy_all_user_data_deleted"), true);
395  $this->ctrl->redirect($this, "maintenance");
396  }
filterSurveyParticipantsByAccess(array $a_finished_ids=null)
+ Here is the call graph for this function:

◆ confirmDeleteAppraiseesObject()

ilSurveyParticipantsGUI::confirmDeleteAppraiseesObject ( )

Definition at line 1182 of file class.ilSurveyParticipantsGUI.php.

References $data, $id, $tabs, ILIAS\Repository\ctrl(), ilUserUtil\getNamePresentation(), and ILIAS\Repository\lng().

1182  : void
1183  {
1184  $ilTabs = $this->tabs;
1185 
1186  $appr_ids = $this->edit_request->getAppraiseeIds();
1187  if (count($appr_ids) === 0) {
1188  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1189  $this->ctrl->redirect($this, "listAppraisees");
1190  }
1191 
1192  $ilTabs->clearTargets();
1193  $ilTabs->setBackTarget(
1194  $this->lng->txt("btn_back"),
1195  $this->ctrl->getLinkTarget($this, "listAppraisees")
1196  );
1197 
1198  $cgui = new ilConfirmationGUI();
1199  $cgui->setHeaderText($this->lng->txt("survey_360_sure_delete_appraises"));
1200 
1201  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteAppraisees"));
1202  $cgui->setCancel($this->lng->txt("cancel"), "listAppraisees");
1203  $cgui->setConfirm($this->lng->txt("confirm"), "deleteAppraisees");
1204 
1205  $data = $this->object->getAppraiseesData();
1206 
1207  $count = 0;
1208  foreach ($appr_ids as $id) {
1209  if (isset($data[$id]) && !$data[$id]["closed"]) {
1210  $cgui->addItem("appr_id[]", $id, ilUserUtil::getNamePresentation($id));
1211  $count++;
1212  }
1213  }
1214 
1215  if (!$count) {
1216  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1217  $this->ctrl->redirect($this, "listAppraisees");
1218  }
1219 
1220  $this->tpl->setContent($cgui->getHTML());
1221  }
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link="", bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ confirmDeleteRatersObject()

ilSurveyParticipantsGUI::confirmDeleteRatersObject ( )

Definition at line 1431 of file class.ilSurveyParticipantsGUI.php.

References $data, $id, $tabs, ILIAS\Repository\ctrl(), ilUserUtil\getNamePresentation(), handleRatersAccess(), and ILIAS\Repository\lng().

1431  : void
1432  {
1433  $ilTabs = $this->tabs;
1434 
1435  $rater_ids = $this->edit_request->getRaterIds();
1436  $appr_id = $this->handleRatersAccess();
1437  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1438  if (count($rater_ids) === 0) {
1439  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1440  $this->ctrl->redirect($this, "editRaters");
1441  }
1442 
1443  $ilTabs->clearTargets();
1444  $ilTabs->setBackTarget(
1445  $this->lng->txt("btn_back"),
1446  $this->ctrl->getLinkTarget($this, "editRaters")
1447  );
1448 
1449  $cgui = new ilConfirmationGUI();
1450  $cgui->setHeaderText(sprintf(
1451  $this->lng->txt("survey_360_sure_delete_raters"),
1453  ));
1454 
1455  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteRaters"));
1456  $cgui->setCancel($this->lng->txt("cancel"), "editRaters");
1457  $cgui->setConfirm($this->lng->txt("confirm"), "deleteRaters");
1458 
1459  $data = $this->object->getRatersData($appr_id);
1460 
1461  foreach ($rater_ids as $id) {
1462  if (isset($data[$id])) {
1463  $cgui->addItem("rtr_id[]", $id, $data[$id]["lastname"] . ", " .
1464  $data[$id]["firstname"] . " (" . $data[$id]["email"] . ")");
1465  }
1466  }
1467 
1468  $this->tpl->setContent($cgui->getHTML());
1469  }
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link="", bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ confirmDeleteSelectedUserDataObject()

ilSurveyParticipantsGUI::confirmDeleteSelectedUserDataObject ( )

Deletes all user data for the test object.

Definition at line 409 of file class.ilSurveyParticipantsGUI.php.

References $i, ILIAS\Repository\ctrl(), ILIAS\Repository\int(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

409  : void
410  {
411  $user_ids = $this->edit_request->getUserIds();
412  if (count($user_ids) > 0) {
413  $this->object->removeSelectedSurveyResults(array_filter($user_ids, static function ($i): bool {
414  return is_numeric($i);
415  }));
416 
417  $invitations = array_filter($user_ids, static function ($i): bool {
418  return strpos($i, "inv") === 0;
419  });
420  foreach ($invitations as $i) {
421  $this->invitation_manager->remove($this->object->getSurveyId(), (int) substr($i, 3));
422  }
423 
424  $this->tpl->setOnScreenMessage('success', $this->lng->txt("svy_selected_user_data_deleted"), true);
425  }
426  $this->ctrl->redirect($this, "maintenance");
427  }
$i
Definition: metadata.php:41
+ Here is the call graph for this function:

◆ createSurveyCodesObject()

ilSurveyParticipantsGUI::createSurveyCodesObject ( )

Create access codes for the survey.

Definition at line 779 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

779  : void
780  {
781  if ($this->edit_request->getNrOfCodes() > 0) {
782  $ids = $this->code_manager->addCodes($this->edit_request->getNrOfCodes());
783  $this->tpl->setOnScreenMessage('success', $this->lng->txt('codes_created'), true);
784  $this->ctrl->setParameter($this, "new_ids", implode(";", $ids));
785  $this->ctrl->redirect($this, 'editCodes');
786  } else {
787  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("enter_valid_number_of_codes"), true);
788  $this->ctrl->redirect($this, 'codes');
789  }
790  }
+ Here is the call graph for this function:

◆ deleteAllUserDataObject()

ilSurveyParticipantsGUI::deleteAllUserDataObject ( )

Creates a confirmation form for delete all user data.

Definition at line 365 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

365  : void
366  {
367  $cgui = new ilConfirmationGUI();
368  $cgui->setHeaderText($this->lng->txt("confirm_delete_all_user_data"));
369  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteAllUserData"));
370  $cgui->setCancel($this->lng->txt("cancel"), "cancelDeleteAllUserData");
371  $cgui->setConfirm($this->lng->txt("confirm"), "confirmDeleteAllUserData");
372  $this->tpl->setContent($cgui->getHTML());
373  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ deleteAppraiseesObject()

ilSurveyParticipantsGUI::deleteAppraiseesObject ( )

Definition at line 1223 of file class.ilSurveyParticipantsGUI.php.

References $data, $id, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

1223  : void
1224  {
1225  $appr_ids = $this->edit_request->getAppraiseeIds();
1226  if (count($appr_ids) > 0) {
1227  $data = $this->object->getAppraiseesData();
1228 
1229  foreach ($appr_ids as $id) {
1230  // #11285
1231  if (isset($data[$id]) && !$data[$id]["closed"]) {
1232  $this->object->deleteAppraisee($id);
1233  }
1234  }
1235 
1236  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1237  }
1238 
1239  $this->ctrl->redirect($this, "listAppraisees");
1240  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:

◆ deleteCodesConfirmObject()

ilSurveyParticipantsGUI::deleteCodesConfirmObject ( )

Definition at line 613 of file class.ilSurveyParticipantsGUI.php.

References $data, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

613  : void
614  {
615  $codes = $this->edit_request->getCodes();
616 
617  $data = $this->object->getSurveyCodesTableData($codes);
618  $data = array_filter($data, static function ($item): bool {
619  return !$item["used"];
620  });
621  if (count($data) > 0) {
622  $cgui = new ilConfirmationGUI();
623  $cgui->setHeaderText($this->lng->txt("survey_code_delete_sure"));
624 
625  $cgui->setFormAction($this->ctrl->getFormAction($this));
626  $cgui->setCancel($this->lng->txt("cancel"), "codes");
627  $cgui->setConfirm($this->lng->txt("confirm"), "deleteCodes");
628 
629  foreach ($data as $item) {
630  $title = array($item["code"]);
631  $title[] = $item["email"] ?? "";
632  $title[] = $item["last_name"] ?? "";
633  $title[] = $item["first_name"] ?? "";
634  $title = implode(", ", $title);
635 
636  $cgui->addItem("chb_code[]", $item["code"], $title);
637  }
638 
639  $this->tpl->setContent($cgui->getHTML());
640  } else {
641  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('svy_please_select_unused_codes'), true);
642  $this->ctrl->redirect($this, 'codes');
643  }
644  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ deleteCodesObject()

ilSurveyParticipantsGUI::deleteCodesObject ( )

Delete a list of survey codes.

Definition at line 649 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

649  : void
650  {
651  $codes = $this->edit_request->getCodes();
652  if (count($codes) > 0) {
653  foreach ($codes as $survey_code) {
654  $this->object->deleteSurveyCode($survey_code);
655  }
656  $this->tpl->setOnScreenMessage('success', $this->lng->txt('codes_deleted'), true);
657  } else {
658  $this->tpl->setOnScreenMessage('info', $this->lng->txt('no_checkbox'), true);
659  }
660  $this->ctrl->redirect($this, 'codes');
661  }
+ Here is the call graph for this function:

◆ deleteRatersObject()

ilSurveyParticipantsGUI::deleteRatersObject ( )

Definition at line 1471 of file class.ilSurveyParticipantsGUI.php.

References $data, $id, ILIAS\Repository\ctrl(), handleRatersAccess(), and ILIAS\Repository\lng().

1471  : void
1472  {
1473  $appr_id = $this->handleRatersAccess();
1474  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1475 
1476  $rater_ids = $this->edit_request->getRaterIds();
1477  if (count($rater_ids) > 0) {
1478  $data = $this->object->getRatersData($appr_id);
1479 
1480  foreach ($rater_ids as $id) {
1481  if (isset($data[$id])) {
1482  if (strpos($id, "u") === 0) {
1483  $this->object->deleteRater($appr_id, substr($id, 1));
1484  } else {
1485  $this->object->deleteRater($appr_id, 0, substr($id, 1));
1486  }
1487  }
1488  }
1489 
1490  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1491  }
1492 
1493  $this->ctrl->redirect($this, "editRaters");
1494  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:

◆ deleteSavedMessageObject()

ilSurveyParticipantsGUI::deleteSavedMessageObject ( )

Definition at line 815 of file class.ilSurveyParticipantsGUI.php.

References Vendor\Package\$e, $log, handleWriteAccess(), ILIAS\Repository\lng(), setParticipantSubTabs(), and ilLogger\write().

815  : void
816  {
817  $this->handleWriteAccess();
818  $this->setParticipantSubTabs("codes");
819 
820  $form_gui = new FormMailCodesGUI($this);
821  $form_gui->setValuesByPost();
822  try {
823  if ($form_gui->getSavedMessages()->getValue() > 0) {
824  $this->object->deleteUserSettings($form_gui->getSavedMessages()->getValue());
825  $form_gui = new FormMailCodesGUI($this);
826  $form_gui->setValuesByPost();
827  $this->tpl->setOnScreenMessage('success', $this->lng->txt('msg_message_deleted'));
828  } else {
829  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('msg_no_message_deleted'));
830  }
831  } catch (Exception $e) {
832  $ilLog = $this->log;
833  $ilLog->write('Error: ' . $e->getMessage());
834  }
835  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
836  }
write(string $a_message, $a_level=ilLogLevel::INFO)
write log message
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ deleteSingleUserResultsObject()

ilSurveyParticipantsGUI::deleteSingleUserResultsObject ( )

Asks for a confirmation to delete selected user data.

Definition at line 441 of file class.ilSurveyParticipantsGUI.php.

References $data, ILIAS\Repository\ctrl(), handleWriteAccess(), and ILIAS\Repository\lng().

441  : void
442  {
443  $this->handleWriteAccess();
444 
445  $user_ids = $this->edit_request->getUserIds();
446  if (count($user_ids) === 0) {
447  $this->tpl->setOnScreenMessage('info', $this->lng->txt('no_checkbox'), true);
448  $this->ctrl->redirect($this, "maintenance");
449  }
450 
451  $this->tpl->setOnScreenMessage('question', $this->lng->txt("confirm_delete_single_user_data"));
452  $table_gui = new ilSurveyMaintenanceTableGUI($this, 'maintenance', true);
453  $total = $this->object->getSurveyParticipants(null, false, true);
454  $data = array();
455  foreach ($total as $user_data) {
456  if (in_array(($user_data['active_id'] ?? null), $user_ids)
457  || (($user_data['invited'] ?? false) && in_array("inv" . $user_data['usr_id'], $user_ids))) {
458  $last_access = $this->object->getLastAccess($user_data["active_id"] ?? 0);
459  $data[] = array(
460  'id' => $user_data["active_id"] ?? null,
461  'name' => $user_data["sortname"],
462  'login' => $user_data["login"] ?? null,
463  'last_access' => $last_access,
464  'finished' => $user_data["finished_tstamp"] ?? 0,
465  'usr_id' => $user_data["usr_id"] ?? null,
466  'invited' => $user_data["invited"] ?? null
467  );
468  }
469  }
470  $table_gui->setData($data);
471  $this->tpl->setVariable('ADM_CONTENT', $table_gui->getHTML());
472  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ editCodesObject()

ilSurveyParticipantsGUI::editCodesObject ( )

Definition at line 561 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), handleWriteAccess(), ILIAS\Repository\lng(), ILIAS\Repository\object(), and setParticipantSubTabs().

561  : void
562  {
563  $ids = $this->edit_request->getCodeIds();
564  if (count($ids) === 0) {
565  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('no_checkbox'), true);
566  $this->ctrl->redirect($this, 'codes');
567  }
568 
569  $this->handleWriteAccess();
570  $this->setParticipantSubTabs("codes");
571 
572  $table_gui = new ilSurveyCodesEditTableGUI($this, 'editCodes');
573  $table_gui->setData($this->object->getSurveyCodesTableData($ids));
574  $this->tpl->setContent($table_gui->getHTML());
575  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ editRatersObject()

ilSurveyParticipantsGUI::editRatersObject ( )

Definition at line 1287 of file class.ilSurveyParticipantsGUI.php.

References $access, $tabs, $toolbar, $url, ilLink\_getStaticLink(), ILIAS\Repository\ctrl(), handleRatersAccess(), ILIAS\Repository\lng(), ILIAS\Repository\object(), ilTable2GUI\setData(), and storeMailSent().

1287  : void
1288  {
1289  if ($this->edit_request->getReturnedFromMail() === 1) {
1290  $this->storeMailSent();
1291  }
1292 
1293  $ilTabs = $this->tabs;
1294  $ilToolbar = $this->toolbar;
1295  $ilAccess = $this->access;
1296  $ilTabs->activateTab("survey_360_edit_raters");
1297  $appr_id = $this->handleRatersAccess();
1298 
1299  $has_write = $ilAccess->checkAccess("write", "", $this->ref_id);
1300  if ($has_write) {
1301  $ilTabs->clearTargets();
1302  $ilTabs->setBackTarget(
1303  $this->lng->txt("btn_back"),
1304  $this->ctrl->getLinkTarget($this, "listAppraisees")
1305  );
1306  }
1307 
1308  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1309  $this->ctrl->setParameter($this, "rate360", 1);
1310 
1311  $ilToolbar->addButton(
1312  $this->lng->txt("svy_add_rater"),
1313  $this->ctrl->getLinkTargetByClass("ilSurveyRaterGUI", "add")
1314  );
1315 
1316  // #13320
1317  $url = ilLink::_getStaticLink($this->object->getRefId());
1318 
1319  $tbl = new ilSurveyAppraiseesTableGUI($this, "editRaters", true, !$this->object->isAppraiseeClosed($appr_id), $url); // #11285
1320  $tbl->setData($this->object->getRatersData($appr_id));
1321  $this->tpl->setContent($tbl->getHTML());
1322  }
setData(array $a_data)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$url
+ Here is the call graph for this function:

◆ executeCommand()

ilSurveyParticipantsGUI::executeCommand ( )

Definition at line 113 of file class.ilSurveyParticipantsGUI.php.

References $ctrl, $lng, $tabs, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ilLanguage\txt().

113  : void
114  {
115  $ilCtrl = $this->ctrl;
116  $ilTabs = $this->tabs;
117  $lng = $this->lng;
118 
119  $cmd = $ilCtrl->getCmd("maintenance");
120  $next_class = $this->ctrl->getNextClass($this);
121 
122  switch ($next_class) {
123  case 'ilrepositorysearchgui':
124  $rep_search = new ilRepositorySearchGUI();
125 
126  if (!$this->edit_request->getAppr360() && !$this->edit_request->getRate360()) {
127  $ilTabs->clearTargets();
128  $ilTabs->setBackTarget(
129  $this->lng->txt("btn_back"),
130  $this->ctrl->getLinkTarget($this, "maintenance")
131  );
132 
133  $rep_search->setCallback(
134  $this,
135  'inviteUsers',
136  array(
137  )
138  );
139  $rep_search->setTitle($lng->txt("svy_invite_participants"));
140  // Set tabs
141  $this->ctrl->setReturn($this, 'maintenance');
142  $this->ctrl->forwardCommand($rep_search);
143  $ilTabs->setTabActive('maintenance');
144  } elseif ($this->edit_request->getRate360()) {
145  $ilTabs->clearTargets();
146  $ilTabs->setBackTarget(
147  $this->lng->txt("btn_back"),
148  $this->ctrl->getLinkTarget($this, "listAppraisees")
149  );
150 
151  $this->ctrl->setParameter($this, "rate360", 1);
152  $this->ctrl->saveParameter($this, "appr_id");
153 
154  $rep_search->setCallback(
155  $this,
156  'addRater',
157  array(
158  )
159  );
160 
161  // Set tabs
162  $this->ctrl->setReturn($this, 'editRaters');
163  $this->ctrl->forwardCommand($rep_search);
164  } else {
165  $ilTabs->activateTab("survey_360_appraisees");
166  $this->ctrl->setParameter($this, "appr360", 1);
167 
168  $rep_search->setCallback(
169  $this,
170  'addAppraisee',
171  array(
172  )
173  );
174 
175  // Set tabs
176  $this->ctrl->setReturn($this, 'listAppraisees');
177  $this->ctrl->forwardCommand($rep_search);
178  }
179  break;
180 
181  case 'ilsurveyratergui':
182  $ilTabs->activateTab("survey_360_edit_raters");
183  $rater_gui = new ilSurveyRaterGUI($this, $this->object);
184  $this->ctrl->forwardCommand($rater_gui);
185  break;
186 
187  default:
188  $cmd .= "Object";
189  $this->$cmd();
190  break;
191  }
192  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ exportAllCodesObject()

ilSurveyParticipantsGUI::exportAllCodesObject ( )

Exports all survey codes.

Definition at line 681 of file class.ilSurveyParticipantsGUI.php.

References ilUtil\deliverData(), ilFileUtils\getASCIIFilename(), and ILIAS\Repository\object().

681  : void
682  {
683  $export = $this->object->getSurveyCodesForExport();
684  ilUtil::deliverData($export, ilFileUtils::getASCIIFilename($this->object->getTitle() . ".csv"));
685  }
static deliverData(string $a_data, string $a_filename, string $mime="application/octet-stream")
static getASCIIFilename(string $a_filename)
+ Here is the call graph for this function:

◆ exportCodesObject()

ilSurveyParticipantsGUI::exportCodesObject ( )

Exports a list of survey codes.

Definition at line 666 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), ilUtil\deliverData(), ilFileUtils\getASCIIFilename(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

666  : void
667  {
668  $codes = $this->edit_request->getCodes();
669  if (count($codes) > 0) {
670  $export = $this->object->getSurveyCodesForExport(null, $codes);
671  ilUtil::deliverData($export, ilFileUtils::getASCIIFilename($this->object->getTitle() . ".csv"));
672  } else {
673  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("no_checkbox"), true);
674  $this->ctrl->redirect($this, 'codes');
675  }
676  }
static deliverData(string $a_data, string $a_filename, string $mime="application/octet-stream")
static getASCIIFilename(string $a_filename)
+ Here is the call graph for this function:

◆ filterSurveyParticipantsByAccess()

ilSurveyParticipantsGUI::filterSurveyParticipantsByAccess ( array  $a_finished_ids = null)
protected

Definition at line 194 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\access(), and ILIAS\Repository\object().

Referenced by confirmDeleteAllUserDataObject(), and maintenanceObject().

196  : array {
197  $all_participants = $this->object->getSurveyParticipants($a_finished_ids, false, true);
198  $participant_ids = [];
199  foreach ($all_participants as $participant) {
200  if (isset($participant['usr_id'])) {
201  $participant_ids[] = $participant['usr_id'];
202  }
203  }
204 
205  $filtered_participant_ids = $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
206  'read_results',
207  'access_results',
208  $this->object->getRefId(),
209  $participant_ids
210  );
211 
212  $participants = [];
213  foreach ($all_participants as $username => $user_data) {
214  if (!($user_data['usr_id'] ?? false)) {
215  $participants[$username] = $user_data;
216  }
217  if (in_array(($user_data['usr_id'] ?? -1), $filtered_participant_ids)) {
218  $participants[$username] = $user_data;
219  }
220  }
221 
222  return $participants;
223  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getObject()

ilSurveyParticipantsGUI::getObject ( )

Definition at line 101 of file class.ilSurveyParticipantsGUI.php.

References $object.

101  : ilObjSurvey
102  {
103  return $this->object;
104  }

◆ handleRatersAccess()

ilSurveyParticipantsGUI::handleRatersAccess ( )

Definition at line 1242 of file class.ilSurveyParticipantsGUI.php.

References $access, $ilUser, $user, ILIAS\Repository\ctrl(), and ILIAS\Repository\object().

Referenced by addExternalRaterFormObject(), addRater(), confirmDeleteRatersObject(), deleteRatersObject(), editRatersObject(), mailRatersActionObject(), mailRatersObject(), mailRatersObjectOld(), and storeMailSent().

1242  : ?int
1243  {
1244  $ilAccess = $this->access;
1245  $ilUser = $this->user;
1246 
1247  if ($ilAccess->checkAccess("write", "", $this->ref_id)) {
1248  $appr_id = $this->edit_request->getAppraiseeId();
1249  if (!$appr_id) {
1250  $this->ctrl->redirect($this, "listAppraisees");
1251  }
1252  return $appr_id;
1253  } elseif ($this->feature_config->usesAppraisees() &&
1254  $this->object->get360SelfRaters() &&
1255  $this->object->isAppraisee($ilUser->getId()) &&
1256  !$this->object->isAppraiseeClosed($ilUser->getId())) {
1257  return $ilUser->getId();
1258  }
1259  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1260  return null;
1261  }
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleWriteAccess()

ilSurveyParticipantsGUI::handleWriteAccess ( )
protected

Definition at line 106 of file class.ilSurveyParticipantsGUI.php.

Referenced by adminAppraiseesCloseObject(), codesObject(), confirmAdminAppraiseesCloseObject(), deleteSavedMessageObject(), deleteSingleUserResultsObject(), editCodesObject(), importAccessCodesObject(), importExternalMailRecipientsFromFileFormObject(), importExternalMailRecipientsFromTextFormObject(), insertSavedMessageObject(), listAppraiseesObject(), listParticipantsObject(), mailCodesObject(), maintenanceObject(), and sendCodesMailObject().

106  : void
107  {
108  if (!$this->has_write) {
109  throw new ilSurveyException("Permission denied");
110  }
111  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the caller graph for this function:

◆ importAccessCodesActionObject()

ilSurveyParticipantsGUI::importAccessCodesActionObject ( )
protected

Import codes from export codes file.

Definition at line 722 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\LTI\ToolProvider\$created, $email, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

722  : void
723  {
724  if (trim($_FILES['codes']['tmp_name'])) {
725  $existing = array();
726  foreach ($this->object->getSurveyCodesTableData() as $item) {
727  $existing[$item["code"]] = $item["id"];
728  }
729 
730  $reader = new ilCSVReader();
731  $reader->open($_FILES['codes']['tmp_name']);
732  foreach ($reader->getCsvAsArray() as $row) {
733  // numeric check of used column due to #26176
734  $code = $row[0] ?? "";
735  if ($code === "") {
736  continue;
737  }
738  $email = $row[1] ?? "";
739  if (!is_int(strpos($email, "@")) && $email !== "") {
740  continue;
741  }
742  $last_name = $row[2] ?? "";
743  $first_name = $row[3] ?? "";
744  $created = time();
745 
746  // unique code?
747  if (!array_key_exists($code, $existing)) {
748  // could be date or datetime
749  /*try {
750  if (strlen($created) === 10) {
751  $created = new ilDate($created, IL_CAL_DATE);
752  } else {
753  $created = new ilDateTime($created, IL_CAL_DATETIME);
754  }
755  $created = $created->get(IL_CAL_UNIX);
756  } catch (Exception $e) {
757  $this->tpl->setOnScreenMessage('failure', $e->getMessage(), true);
758  $this->ctrl->redirect($this, 'codes');
759  }*/
760 
761  $user_data = array(
762  "email" => $email
763  ,"lastname" => $last_name
764  ,"firstname" => $first_name
765  );
766  $this->object->importSurveyCode($code, $created, $user_data);
767  }
768  }
769 
770  $this->tpl->setOnScreenMessage('success', $this->lng->txt('codes_created'), true);
771  }
772 
773  $this->ctrl->redirect($this, 'codes');
774  }
if($orgName !==null) if($spconfig->hasValue('contacts')) $email
Definition: metadata.php:302
int $created
Timestamp for when the object was created.
Definition: System.php:151
+ Here is the call graph for this function:

◆ importAccessCodesObject()

ilSurveyParticipantsGUI::importAccessCodesObject ( )
protected

Import codes from export codes file (upload form)

Definition at line 690 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), handleWriteAccess(), ILIAS\Repository\lng(), ilFormPropertyGUI\setInfo(), and setParticipantSubTabs().

690  : void
691  {
692  $this->handleWriteAccess();
693  $this->setParticipantSubTabs("codes");
694 
695  $form_import_file = new ilPropertyFormGUI();
696  $form_import_file->setFormAction($this->ctrl->getFormAction($this));
697  $form_import_file->setTableWidth("100%");
698  $form_import_file->setId("codes_import_file");
699 
700  $headerfile = new ilFormSectionHeaderGUI();
701  $headerfile->setTitle($this->lng->txt("svy_import_codes"));
702  $form_import_file->addItem($headerfile);
703 
704  $export_file = new ilFileInputGUI($this->lng->txt("codes"), "codes");
705  $export_file->setInfo(sprintf(
706  $this->lng->txt('svy_import_codes_info'),
707  $this->lng->txt("export_all_survey_codes")
708  ));
709  $export_file->setSuffixes(array("csv"));
710  $export_file->setRequired(true);
711  $form_import_file->addItem($export_file);
712 
713  $form_import_file->addCommandButton("importAccessCodesAction", $this->lng->txt("import"));
714  $form_import_file->addCommandButton("codes", $this->lng->txt("cancel"));
715 
716  $this->tpl->setContent($form_import_file->getHTML());
717  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a file property in a property form.
+ Here is the call graph for this function:

◆ importExternalMailRecipientsFromFileFormObject()

ilSurveyParticipantsGUI::importExternalMailRecipientsFromFileFormObject ( )

Definition at line 1048 of file class.ilSurveyParticipantsGUI.php.

References $access, ILIAS\Repository\ctrl(), handleWriteAccess(), ILIAS\Repository\lng(), ilFormPropertyGUI\setInfo(), and setParticipantSubTabs().

1048  : void
1049  {
1050  $ilAccess = $this->access;
1051 
1052  $this->handleWriteAccess();
1053  $this->setParticipantSubTabs("mail_survey_codes");
1054 
1055  $form_import_file = new ilPropertyFormGUI();
1056  $form_import_file->setFormAction($this->ctrl->getFormAction($this));
1057  $form_import_file->setTableWidth("100%");
1058  $form_import_file->setId("codes_import_file");
1059 
1060  $headerfile = new ilFormSectionHeaderGUI();
1061  $headerfile->setTitle($this->lng->txt("import_from_file"));
1062  $form_import_file->addItem($headerfile);
1063 
1064  $externalmails = new ilFileInputGUI($this->lng->txt("externalmails"), "externalmails");
1065  $externalmails->setInfo($this->lng->txt('externalmails_info'));
1066  $externalmails->setRequired(true);
1067  $form_import_file->addItem($externalmails);
1068  if ($ilAccess->checkAccess("write", "", $this->edit_request->getRefId())) {
1069  $form_import_file->addCommandButton("importExternalRecipientsFromFile", $this->lng->txt("import"));
1070  }
1071  if ($ilAccess->checkAccess("write", "", $this->edit_request->getRefId())) {
1072  $form_import_file->addCommandButton("codes", $this->lng->txt("cancel"));
1073  }
1074 
1075  $this->tpl->setContent($form_import_file->getHTML());
1076  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a file property in a property form.
+ Here is the call graph for this function:

◆ importExternalMailRecipientsFromTextFormObject()

ilSurveyParticipantsGUI::importExternalMailRecipientsFromTextFormObject ( )

Definition at line 1078 of file class.ilSurveyParticipantsGUI.php.

References $access, ILIAS\Repository\ctrl(), handleWriteAccess(), ILIAS\Repository\lng(), setParticipantSubTabs(), and ilTextAreaInputGUI\setValue().

1078  : void
1079  {
1080  $ilAccess = $this->access;
1081 
1082  $this->handleWriteAccess();
1083  $this->setParticipantSubTabs("mail_survey_codes");
1084 
1085  $form_import_text = new ilPropertyFormGUI();
1086  $form_import_text->setFormAction($this->ctrl->getFormAction($this));
1087  $form_import_text->setTableWidth("100%");
1088  $form_import_text->setId("codes_import_text");
1089 
1090  $headertext = new ilFormSectionHeaderGUI();
1091  $headertext->setTitle($this->lng->txt("import_from_text"));
1092  $form_import_text->addItem($headertext);
1093 
1094  $inp = new ilTextAreaInputGUI($this->lng->txt('externaltext'), 'externaltext');
1095  $external_text = $this->edit_manager->getExternalText();
1096  if ($external_text !== "") {
1097  $inp->setValue($external_text);
1098  } else {
1099  // $this->lng->txt('mail_import_example1') #14897
1100  $inp->setValue("email;firstname;lastname\n" . $this->lng->txt('mail_import_example2') . "\n" . $this->lng->txt('mail_import_example3') . "\n");
1101  }
1102  $inp->setRequired(true);
1103  $inp->setCols(80);
1104  $inp->setRows(10);
1105  $inp->setInfo($this->lng->txt('externaltext_info'));
1106  $form_import_text->addItem($inp);
1107  $this->edit_manager->setExternalText("");
1108 
1109  if ($ilAccess->checkAccess("write", "", $this->edit_request->getRefId())) {
1110  $form_import_text->addCommandButton("importExternalRecipientsFromText", $this->lng->txt("import"));
1111  }
1112  if ($ilAccess->checkAccess("write", "", $this->edit_request->getRefId())) {
1113  $form_import_text->addCommandButton("codes", $this->lng->txt("cancel"));
1114  }
1115 
1116  $this->tpl->setContent($form_import_text->getHTML());
1117  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a text area property in a property form.
+ Here is the call graph for this function:

◆ importExternalRecipientsFromFileObject()

ilSurveyParticipantsGUI::importExternalRecipientsFromFileObject ( )

Definition at line 988 of file class.ilSurveyParticipantsGUI.php.

References $data, ILIAS\LTI\ToolProvider\$key, _convertCharset(), addCodeForExternal(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and removeUTF8Bom().

988  : void
989  {
990  if (trim($_FILES['externalmails']['tmp_name'])) {
991  $reader = new ilCSVReader();
992  $reader->open($_FILES['externalmails']['tmp_name']);
993  $data = $reader->getCsvAsArray();
994  $fields = array_shift($data);
995  foreach ($fields as $idx => $field) {
996  $fields[$idx] = $this->removeUTF8Bom($field);
997  }
998  if (!in_array('email', $fields, true)) {
999  $reader->close();
1000  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('err_external_rcp_no_email'), true);
1001  $this->ctrl->redirect($this, 'codes');
1002  }
1003  $existingdata = $this->object->getExternalCodeRecipients();
1004  $existingcolumns = array();
1005  if (count($existingdata)) {
1006  $first = array_shift($existingdata);
1007  foreach ($first as $key => $value) {
1008  $existingcolumns[] = $key;
1009  }
1010  }
1011 
1012  $founddata = array();
1013  foreach ($data as $row) {
1014  if (count($row) === count($fields)) {
1015  $dataset = array();
1016  foreach ($fields as $idx => $fieldname) {
1017  // #14811
1018  $row[$idx] = $this->_convertCharset($row[$idx]);
1019 
1020  if (count($existingcolumns)) {
1021  if (array_key_exists($idx, $existingcolumns)) {
1022  $dataset[$fieldname] = $row[$idx];
1023  }
1024  } else {
1025  $dataset[$fieldname] = $row[$idx];
1026  }
1027  }
1028  if ($dataset['email'] !== '') {
1029  $founddata[] = $dataset;
1030  $this->addCodeForExternal(
1031  $dataset['email'],
1032  $dataset['lastname'] ?? "",
1033  $dataset['firstname'] ?? ""
1034  );
1035  }
1036  }
1037  }
1038  $reader->close();
1039 
1040  if (count($founddata)) {
1041  $this->tpl->setOnScreenMessage('success', $this->lng->txt('external_recipients_imported'), true);
1042  }
1043  }
1044 
1045  $this->ctrl->redirect($this, 'codes');
1046  }
addCodeForExternal(string $email, string $lastname, string $firstname)
Add code for an external rater.
string $key
Consumer key/client ID value.
Definition: System.php:193
_convertCharset(string $a_string, string $a_from_charset="", string $a_to_charset="UTF-8")
+ Here is the call graph for this function:

◆ importExternalRecipientsFromTextObject()

ilSurveyParticipantsGUI::importExternalRecipientsFromTextObject ( )

Definition at line 898 of file class.ilSurveyParticipantsGUI.php.

References $data, ILIAS\LTI\ToolProvider\$key, addCodeForExternal(), ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

898  : void
899  {
900  if (trim($this->edit_request->getExternalText())) {
901  $data = preg_split("/[\n\r]/", $this->edit_request->getExternalText());
902  $fields = explode(";", array_shift($data));
903  if (!in_array('email', $fields, true)) {
904  $this->edit_manager->setExternalText($this->edit_request->getExternalText());
905  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('err_external_rcp_no_email_column'), true);
906  $this->ctrl->redirect($this, 'importExternalMailRecipientsFromTextForm');
907  }
908  $existingdata = $this->object->getExternalCodeRecipients();
909  $existingcolumns = array();
910  if (count($existingdata)) {
911  $first = array_shift($existingdata);
912  foreach ($first as $key => $value) {
913  $existingcolumns[] = $key;
914  }
915  }
916  $founddata = array();
917  foreach ($data as $datarow) {
918  $row = explode(";", $datarow);
919  if (count($row) === count($fields)) {
920  $dataset = array();
921  foreach ($fields as $idx => $fieldname) {
922  if (count($existingcolumns)) {
923  if (array_key_exists($idx, $existingcolumns)) {
924  $dataset[$fieldname] = $row[$idx];
925  }
926  } else {
927  $dataset[$fieldname] = $row[$idx];
928  }
929  }
930  if ($dataset['email'] !== '') {
931  $this->addCodeForExternal(
932  $dataset['email'],
933  $dataset['lastname'] ?? "",
934  $dataset['firstname'] ?? ""
935  );
936  }
937  }
938  }
939  $this->tpl->setOnScreenMessage('success', $this->lng->txt('external_recipients_imported'), true);
940  $this->ctrl->redirect($this, 'codes');
941  }
942 
943  $this->ctrl->redirect($this, 'importExternalMailRecipientsFromTextForm');
944  }
addCodeForExternal(string $email, string $lastname, string $firstname)
Add code for an external rater.
string $key
Consumer key/client ID value.
Definition: System.php:193
+ Here is the call graph for this function:

◆ initExternalRaterForm()

ilSurveyParticipantsGUI::initExternalRaterForm ( int  $appr_id)
protected

Definition at line 1349 of file class.ilSurveyParticipantsGUI.php.

References $email, ILIAS\Repository\ctrl(), ilUserUtil\getNamePresentation(), and ILIAS\Repository\lng().

Referenced by addExternalRaterFormObject(), and addExternalRaterObject().

1351  : ilPropertyFormGUI {
1352  $form = new ilPropertyFormGUI();
1353  $form->setFormAction($this->ctrl->getFormAction($this, "addExternalRater"));
1354  $form->setTitle($this->lng->txt("survey_360_add_external_rater") .
1355  ": " . ilUserUtil::getNamePresentation($appr_id));
1356 
1357  $email = new ilEmailInputGUI($this->lng->txt("email"), "email");
1358  $email->setRequired(true);
1359  $form->addItem($email);
1360 
1361  $lname = new ilTextInputGUI($this->lng->txt("lastname"), "lname");
1362  $lname->setSize(30);
1363  $form->addItem($lname);
1364 
1365  $fname = new ilTextInputGUI($this->lng->txt("firstname"), "fname");
1366  $fname->setSize(30);
1367  $form->addItem($fname);
1368 
1369  $form->addCommandButton("addExternalRater", $this->lng->txt("save"));
1370  $form->addCommandButton("editRaters", $this->lng->txt("cancel"));
1371 
1372  return $form;
1373  }
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link="", bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
if($orgName !==null) if($spconfig->hasValue('contacts')) $email
Definition: metadata.php:302
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initMailRatersForm()

ilSurveyParticipantsGUI::initMailRatersForm ( int  $appr_id,
array  $rec_ids 
)

Definition at line 1508 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\LTI\ToolProvider\$key, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ilCustomInputGUI\setHtml(), and ilFormPropertyGUI\setRequired().

Referenced by mailRatersActionObject(), and mailRatersObjectOld().

1511  : ilPropertyFormGUI {
1512  $form = new ilPropertyFormGUI();
1513  $form->setFormAction($this->ctrl->getFormAction($this, "mailRatersAction"));
1514  $form->setTitle($this->lng->txt('compose'));
1515 
1516  $all_data = $this->object->getRatersData($appr_id);
1517  $rec_data = array();
1518  foreach ($rec_ids as $rec_id) {
1519  if (isset($all_data[$rec_id])) {
1520  $rec_data[] = $all_data[$rec_id]["lastname"] . ", " .
1521  $all_data[$rec_id]["firstname"] .
1522  " (" . $all_data[$rec_id]["email"] . ")";
1523  }
1524  }
1525  sort($rec_data);
1526  $rec = new ilCustomInputGUI($this->lng->txt('recipients'));
1527  $rec->setHtml(implode("<br />", $rec_data));
1528  $form->addItem($rec);
1529 
1530  $subject = new ilTextInputGUI($this->lng->txt('subject'), 'subject');
1531  $subject->setSize(50);
1532  $subject->setRequired(true);
1533  $form->addItem($subject);
1534 
1535  $existingdata = $this->object->getExternalCodeRecipients();
1536  $existingcolumns = array();
1537  if (count($existingdata)) {
1538  $first = array_shift($existingdata);
1539  foreach ($first as $key => $value) {
1540  if (strcmp($key, 'code') !== 0 && strcmp($key, 'email') !== 0 && strcmp($key, 'sent') !== 0) {
1541  $existingcolumns[] = '[' . $key . ']';
1542  }
1543  }
1544  }
1545 
1546  $mailmessage_u = new ilTextAreaInputGUI($this->lng->txt('survey_360_rater_message_content_registered'), 'message_u');
1547  $mailmessage_u->setRequired(true);
1548  $mailmessage_u->setCols(80);
1549  $mailmessage_u->setRows(10);
1550  $form->addItem($mailmessage_u);
1551 
1552  $mailmessage_a = new ilTextAreaInputGUI($this->lng->txt('survey_360_rater_message_content_anonymous'), 'message_a');
1553  $mailmessage_a->setRequired(true);
1554  $mailmessage_a->setCols(80);
1555  $mailmessage_a->setRows(10);
1556  $mailmessage_a->setInfo(sprintf($this->lng->txt('message_content_info'), implode(', ', $existingcolumns)));
1557  $form->addItem($mailmessage_a);
1558 
1559  $recf = new ilHiddenInputGUI("rater_id");
1560  $recf->setValue(implode(";", $rec_ids));
1561  $form->addItem($recf);
1562 
1563  $form->addCommandButton("mailRatersAction", $this->lng->txt("send"));
1564  $form->addCommandButton("editRaters", $this->lng->txt("cancel"));
1565 
1566  $subject->setValue(sprintf($this->lng->txt('survey_360_rater_subject_default'), $this->object->getTitle()));
1567  $mailmessage_u->setValue($this->lng->txt('survey_360_rater_message_content_registered_default'));
1568  $mailmessage_a->setValue($this->lng->txt('survey_360_rater_message_content_anonymous_default'));
1569 
1570  return $form;
1571  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
string $key
Consumer key/client ID value.
Definition: System.php:193
setRequired(bool $a_required)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a text area property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertSavedMessageObject()

ilSurveyParticipantsGUI::insertSavedMessageObject ( )

Definition at line 792 of file class.ilSurveyParticipantsGUI.php.

References Vendor\Package\$e, $ilUser, $log, ILIAS\LTI\ToolProvider\$settings, $user, handleWriteAccess(), ILIAS\Repository\lng(), setParticipantSubTabs(), and ilLogger\write().

792  : void
793  {
794  $this->handleWriteAccess();
795  $this->setParticipantSubTabs("codes");
796 
797  $form_gui = new FormMailCodesGUI($this);
798  $form_gui->setValuesByPost();
799  try {
800  if ($form_gui->getSavedMessages()->getValue() > 0) {
802  $settings = $this->object->getUserSettings($ilUser->getId(), 'savemessage');
803  $form_gui->getMailMessage()->setValue($settings[$form_gui->getSavedMessages()->getValue()]['value']);
804  $this->tpl->setOnScreenMessage('success', $this->lng->txt('msg_message_inserted'));
805  } else {
806  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('msg_no_message_inserted'));
807  }
808  } catch (Exception $e) {
809  $ilLog = $this->log;
810  $ilLog->write('Error: ' . $e->getMessage());
811  }
812  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
813  }
array $settings
Setting values (LTI parameters, custom parameters and local parameters).
Definition: System.php:200
write(string $a_message, $a_level=ilLogLevel::INFO)
write log message
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:

◆ inviteUsers()

ilSurveyParticipantsGUI::inviteUsers ( array  $user_ids)
Parameters
int[]$user_ids
Exceptions
ilCtrlException

Definition at line 1842 of file class.ilSurveyParticipantsGUI.php.

References $ctrl, $lng, ILIAS\Repository\object(), ilCtrl\redirect(), and ilLanguage\txt().

1842  : void
1843  {
1844  $lng = $this->lng;
1845  $ctrl = $this->ctrl;
1846 
1847  foreach ($user_ids as $user_id) {
1848  $this->invitation_manager->add($this->object->getSurveyId(), $user_id);
1849  }
1850  $this->tpl->setOnScreenMessage('success', $lng->txt("svy_users_invited"), true);
1851  $ctrl->redirect($this, "maintenance");
1852  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
redirect(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
+ Here is the call graph for this function:

◆ isAnonymousListActive()

ilSurveyParticipantsGUI::isAnonymousListActive ( )
protected

Definition at line 300 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\int().

Referenced by listParticipantsObject(), and setParticipantSubTabs().

300  : bool
301  {
302  $surveySetting = new ilSetting("survey");
303 
304  if ($surveySetting->get("anonymous_participants", false) && $this->object->hasAnonymizedResults() &&
305  $this->object->hasAnonymousUserList()) {
306  $end = $this->object->getEndDate();
307  if ($end && $end < date("YmdHis")) {
308  $min = (int) $surveySetting->get("anonymous_participants_min", '0');
309  $total = $this->object->getSurveyParticipants();
310  if (!$min || count($total) >= $min) {
311  return true;
312  }
313  }
314  }
315  return false;
316  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ listAppraiseesObject()

ilSurveyParticipantsGUI::listAppraiseesObject ( )

Definition at line 1123 of file class.ilSurveyParticipantsGUI.php.

References $ctrl, $lng, $ref_id, $toolbar, ILIAS\Repository\ctrl(), ilRepositorySearchGUI\fillAutoCompleteToolbar(), handleWriteAccess(), ILIAS\Repository\lng(), ILIAS\Repository\object(), and ilLanguage\txt().

Referenced by maintenanceObject().

1123  : void
1124  {
1125  $ilToolbar = $this->toolbar;
1126  $lng = $this->lng;
1127  $ilCtrl = $this->ctrl;
1128 
1129  $this->handleWriteAccess();
1130 
1131  $this->ctrl->setParameter($this, "appr360", 1);
1132 
1134  $this,
1135  $ilToolbar,
1136  array(
1137  'auto_complete_name' => $this->lng->txt('user'),
1138  'submit_name' => $this->lng->txt('add'),
1139  'add_search' => true,
1140  'add_from_container' => $this->ref_id
1141  )
1142  );
1143 
1144  // competence calculations
1145  $skmg_set = new ilSkillManagementSettings();
1146  if ($this->object->getSkillService() && $skmg_set->isActivated()) {
1147  $ilToolbar->addSeparator();
1148  $ilToolbar->addButton(
1149  $lng->txt("survey_calc_skills"),
1150  $ilCtrl->getLinkTargetByClass("ilsurveyskilldeterminationgui"),
1151  ""
1152  );
1153  }
1154 
1155  $ilToolbar->addSeparator();
1156  $ilToolbar->addButton(
1157  $this->lng->txt('svy_delete_all_user_data'),
1158  $this->ctrl->getLinkTarget($this, 'deleteAllUserData')
1159  );
1160 
1161  $this->ctrl->setParameter($this, "appr360", "");
1162 
1163  $tbl = new ilSurveyAppraiseesTableGUI($this, "listAppraisees");
1164  $tbl->setData($this->object->getAppraiseesData());
1165  $this->tpl->setContent($tbl->getHTML());
1166  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static fillAutoCompleteToolbar(object $parent_object, ilToolbarGUI $toolbar=null, array $a_options=[], bool $a_sticky=false)
array( auto_complete_name = $lng->txt(&#39;user&#39;), auto_complete_size = 15, user_type = array(ilCoursePar...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ listParticipantsObject()

ilSurveyParticipantsGUI::listParticipantsObject ( )
protected

Definition at line 1817 of file class.ilSurveyParticipantsGUI.php.

References $toolbar, ILIAS\Repository\ctrl(), ilLinkButton\getInstance(), handleWriteAccess(), isAnonymousListActive(), and setParticipantSubTabs().

1817  : void
1818  {
1819  $ilToolbar = $this->toolbar;
1820 
1821  if (!$this->isAnonymousListActive()) {
1822  $this->ctrl->redirect($this, "maintenance");
1823  }
1824 
1825  $this->handleWriteAccess();
1826  $this->setParticipantSubTabs("anon_participants");
1827 
1828  $button = ilLinkButton::getInstance();
1829  $button->setCaption("print");
1830  $button->setOnClick("window.print(); return false;");
1831  $button->setOmitPreventDoubleSubmission(true);
1832  $ilToolbar->addButtonInstance($button);
1833 
1834  $tbl = new ilSurveyParticipantsTableGUI($this, "listParticipants", $this->object);
1835  $this->tpl->setContent($tbl->getHTML());
1836  }
+ Here is the call graph for this function:

◆ mailCodesObject()

ilSurveyParticipantsGUI::mailCodesObject ( )

Definition at line 838 of file class.ilSurveyParticipantsGUI.php.

References handleWriteAccess(), ILIAS\Repository\lng(), and setParticipantSubTabs().

838  : void
839  {
840  $this->handleWriteAccess();
841  $this->setParticipantSubTabs("mail_survey_codes");
842 
843  $mailData['m_subject'] =
844  $this->edit_request->getCodeMailPart("subject")
845  ?: sprintf($this->lng->txt('default_codes_mail_subject'), $this->object->getTitle());
846  $mailData['m_message'] =
847  $this->edit_request->getCodeMailPart("message")
848  ?: $this->lng->txt('default_codes_mail_message');
849  $mailData['m_notsent'] =
850  $this->edit_request->getCodeMailPart("notsent")
851  ?: '1';
852 
853  $form_gui = new FormMailCodesGUI($this);
854  $form_gui->setValuesByArray($mailData);
855  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
856  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ mailRatersActionObject()

ilSurveyParticipantsGUI::mailRatersActionObject ( )

Definition at line 1651 of file class.ilSurveyParticipantsGUI.php.

References $ilUser, $url, $user, ilLink\_getStaticLink(), ANONYMOUS_USER_ID, ILIAS\Repository\ctrl(), handleRatersAccess(), initMailRatersForm(), ILIAS\Repository\lng(), mailRatersObject(), and ILIAS\Repository\object().

1651  : void
1652  {
1653  $ilUser = $this->user;
1654  $appr_id = $this->handleRatersAccess();
1655  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1656 
1657  $rec_ids = $this->edit_request->getRaterIds();
1658  if (count($rec_ids) === 0) {
1659  $this->ctrl->redirect($this, "editRaters");
1660  }
1661 
1662  $form = $this->initMailRatersForm($appr_id, $rec_ids);
1663  if ($form->checkInput()) {
1664  $txt_u = $form->getInput("message_u");
1665  $txt_a = $form->getInput("message_a");
1666  $subj = $form->getInput("subject");
1667 
1668  // #12743
1669  $sender_id = (trim($ilUser->getEmail()))
1670  ? $ilUser->getId()
1672 
1673  $all_data = $this->object->getRatersData($appr_id);
1674  foreach ($rec_ids as $rec_id) {
1675  if (isset($all_data[$rec_id])) {
1676  $user = $all_data[$rec_id];
1677 
1678  // anonymous
1679  if (strpos($rec_id, "a") === 0) {
1680  $mytxt = $txt_a;
1681  $url = $user["href"];
1682  $rcp = $user["email"];
1683  }
1684  // reg
1685  else {
1686  $mytxt = $txt_u;
1687  $user["code"] = $this->lng->txt("survey_code_mail_on_demand");
1688  $url = ilLink::_getStaticLink($this->object->getRefId());
1689  $rcp = $user["login"]; // #15141
1690  }
1691 
1692  $mytxt = str_replace(
1693  ["[lastname]", "[firstname]", "[url]", "[code]"],
1694  [$user["lastname"], $user["firstname"], $url, $user["code"]],
1695  $mytxt
1696  );
1697 
1698  $mail = new ilMail($sender_id);
1699  $mail->enqueue(
1700  $rcp, // to
1701  "", // cc
1702  "", // bcc
1703  $subj, // subject
1704  $mytxt, // message
1705  array() // attachments
1706  );
1707 
1708  $this->object->set360RaterSent(
1709  $appr_id,
1710  (strpos($rec_id, "a") === 0) ? 0 : (int) substr($rec_id, 1),
1711  (strpos($rec_id, "u") === 0) ? 0 : (int) substr($rec_id, 1)
1712  );
1713  }
1714  }
1715 
1716  $this->tpl->setOnScreenMessage('success', $this->lng->txt("mail_sent"), true);
1717  $this->ctrl->redirect($this, "editRaters");
1718  }
1719 
1720  $form->setValuesByPost();
1721  $this->mailRatersObject();
1722  }
const ANONYMOUS_USER_ID
Definition: constants.php:27
initMailRatersForm(int $appr_id, array $rec_ids)
$ilUser
Definition: imgupload.php:34
$url
+ Here is the call graph for this function:

◆ mailRatersObject()

ilSurveyParticipantsGUI::mailRatersObject ( )

Definition at line 1573 of file class.ilSurveyParticipantsGUI.php.

References $id, ilMailFormCall\CONTEXT_KEY, ILIAS\Repository\ctrl(), ilMailFormCall\getRedirectTarget(), handleRatersAccess(), ILIAS\Repository\lng(), and ilMailFormCall\setRecipients().

Referenced by mailRatersActionObject().

1573  : void
1574  {
1575  $appr_id = $this->handleRatersAccess();
1576  $all_data = $this->object->getRatersData($appr_id);
1577  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1578 
1579  $raters = $this->edit_request->getRaterIds();
1580 
1581  $rec = [];
1582  $external_rater = false;
1583  $rater_id = "";
1584  foreach ($raters as $id) {
1585  if (isset($all_data[$id])) {
1586  if ($all_data[$id]["login"] != "") {
1587  $rec[] = $all_data[$id]["login"];
1588  } elseif ($all_data[$id]["email"] != "") {
1589  $rec[] = $all_data[$id]["email"];
1590  $external_rater = true;
1591  $rater_id = $all_data[$id]["user_id"];
1592  }
1593  }
1594  }
1595  if ($external_rater && count($rec) > 1) {
1596  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("svy_only_max_one_external_rater"), true);
1597  $this->ctrl->redirect($this, "editRaters");
1598  }
1599 
1600  // $_POST["rtr_id"]
1602 
1603  $contextParameters = [
1604  'ref_id' => $this->object->getRefId(),
1605  'ts' => time(),
1606  'appr_id' => $appr_id,
1607  'rater_id' => $rater_id,
1608  ilMailFormCall::CONTEXT_KEY => "svy_rater_inv"
1609  ];
1610 
1611  $this->ctrl->redirectToURL(ilMailFormCall::getRedirectTarget(
1612  $this,
1613  'editRaters',
1614  [
1615  'recipients' => base64_encode(json_encode($rec, JSON_THROW_ON_ERROR)),
1616  ],
1617  [
1618  'type' => 'new',
1619  'sig' => rawurlencode(base64_encode("\n\n" . $this->lng->txt("svy_link_to_svy") . ": [SURVEY_LINK]"))
1620  ],
1621  $contextParameters
1622  ));
1623  }
static setRecipients(array $recipients, string $type='to')
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
static getRedirectTarget( $gui, string $cmd, array $gui_params=[], array $mail_params=[], array $context_params=[])
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mailRatersObjectOld()

ilSurveyParticipantsGUI::mailRatersObjectOld ( ilPropertyFormGUI  $a_form = null)

Definition at line 1625 of file class.ilSurveyParticipantsGUI.php.

References $tabs, ILIAS\Repository\ctrl(), handleRatersAccess(), initMailRatersForm(), and ILIAS\Repository\lng().

1627  : void {
1628  $ilTabs = $this->tabs;
1629  $rater_ids = $this->edit_request->getRaterIds();
1630  if (!$a_form) {
1631  $appr_id = $this->handleRatersAccess();
1632  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1633 
1634  if (count($rater_ids) === 0) {
1635  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1636  $this->ctrl->redirect($this, "editRaters");
1637  }
1638 
1639  $a_form = $this->initMailRatersForm($appr_id, $rater_ids);
1640  }
1641 
1642  $ilTabs->clearTargets();
1643  $ilTabs->setBackTarget(
1644  $this->lng->txt("btn_back"),
1645  $this->ctrl->getLinkTarget($this, "editRaters")
1646  );
1647 
1648  $this->tpl->setContent($a_form->getHTML());
1649  }
initMailRatersForm(int $appr_id, array $rec_ids)
+ Here is the call graph for this function:

◆ maintenanceObject()

ilSurveyParticipantsGUI::maintenanceObject ( )

Participants maintenance.

Definition at line 229 of file class.ilSurveyParticipantsGUI.php.

References $data, $toolbar, ILIAS\Repository\ctrl(), filterSurveyParticipantsByAccess(), handleWriteAccess(), listAppraiseesObject(), ILIAS\Repository\lng(), ilObjSurvey\MODE_SELF_EVAL, ILIAS\Repository\object(), and setParticipantSubTabs().

229  : void
230  {
231  $ilToolbar = $this->toolbar;
232 
233  if ($this->object->get360Mode()) {
234  $this->listAppraiseesObject();
235  return;
236  }
237 
238  //Btn Determine Competence Levels
239  if ($this->object->getMode() === ilObjSurvey::MODE_SELF_EVAL) {
240  $skmg_set = new ilSkillManagementSettings();
241  if ($this->object->getSkillService() && $skmg_set->isActivated()) {
242  $ilToolbar->addButton(
243  $this->lng->txt("survey_calc_skills"),
244  $this->ctrl->getLinkTargetByClass("ilsurveyskilldeterminationgui"),
245  ""
246  );
247  }
248  }
249 
250  $this->handleWriteAccess();
251  $this->setParticipantSubTabs("overview");
252 
253  $ilToolbar->addButton(
254  $this->lng->txt('svy_remove_all_participants'),
255  $this->ctrl->getLinkTarget($this, 'deleteAllUserData')
256  );
257 
258  $ilToolbar->addSeparator();
259 
260  if ($this->object->isAccessibleWithoutCode()) {
261  $ilToolbar->addButton(
262  $this->lng->txt("svy_invite_participants"),
263  $this->ctrl->getLinkTargetByClass('ilRepositorySearchGUI', '')
264  );
265  }
266 
267  $table_gui = new ilSurveyMaintenanceTableGUI($this, 'maintenance');
268 
269  $total = $this->filterSurveyParticipantsByAccess();
270  $data = array();
271  foreach ($total as $user_data) {
272  $finished = false;
273  if ($user_data["finished"]) {
274  $finished = $user_data["finished_tstamp"];
275  }
276  if (isset($user_data["active_id"])) {
277  $wt = $this->object->getWorkingtimeForParticipant($user_data["active_id"]);
278  $last_access = $this->object->getLastAccess($user_data["active_id"]);
279  $active_id = $user_data["active_id"];
280  } else {
281  $wt = 0;
282  $last_access = null;
283  $active_id = 0;
284  }
285  $data[] = array(
286  'id' => $active_id,
287  'name' => $user_data["sortname"],
288  'usr_id' => $user_data["usr_id"] ?? null,
289  'login' => $user_data["login"],
290  'last_access' => $last_access,
291  'workingtime' => $wt,
292  'finished' => $finished,
293  'invited' => $user_data["invited"] ?? false
294  );
295  }
296  $table_gui->setData($data);
297  $this->tpl->setVariable('ADM_CONTENT', $table_gui->getHTML());
298  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
filterSurveyParticipantsByAccess(array $a_finished_ids=null)
+ Here is the call graph for this function:

◆ removeUTF8Bom()

ilSurveyParticipantsGUI::removeUTF8Bom ( string  $a_text)
protected

Definition at line 982 of file class.ilSurveyParticipantsGUI.php.

Referenced by importExternalRecipientsFromFileObject().

982  : string
983  {
984  $bom = pack('H*', 'EFBBBF');
985  return preg_replace('/^' . $bom . '/', '', $a_text);
986  }
+ Here is the caller graph for this function:

◆ sendCodesMailObject()

ilSurveyParticipantsGUI::sendCodesMailObject ( )

Definition at line 858 of file class.ilSurveyParticipantsGUI.php.

References $ilUser, $lang, $user, ILIAS\Repository\ctrl(), handleWriteAccess(), ILIAS\Repository\lng(), setParticipantSubTabs(), and ilStr\subStr().

858  : void
859  {
861 
862  $this->handleWriteAccess();
863  $this->setParticipantSubTabs("mail_survey_codes");
864 
865  $form_gui = new FormMailCodesGUI($this);
866  if ($form_gui->checkInput()) {
867  $url_exists = strpos($this->edit_request->getCodeMailPart("message"), '[url]') !== false;
868  if (!$url_exists) {
869  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('please_enter_mail_url'));
870  $form_gui->setValuesByPost();
871  } else {
872  if ($this->edit_request->getSaveMessage() === 1) {
874  $title = ($this->edit_request->getSaveMessageTitle())
875  ?: ilStr::subStr($this->edit_request->getCodeMailPart("message"), 0, 40) . '...';
876  $this->object->saveUserSettings($ilUser->getId(), 'savemessage', $title, $this->edit_request->getCodeMailPart("message"));
877  }
878 
879  $lang = $ilUser->getPref("survey_code_language");
880  if (!$lang) {
881  $lang = $this->lng->getDefaultLanguage();
882  }
883  $this->object->sendCodes(
884  $this->edit_request->getCodeMailPart("notsent"),
885  $this->edit_request->getCodeMailPart("subject"),
886  nl2br($this->edit_request->getCodeMailPart("message")),
887  $lang
888  );
889  $this->tpl->setOnScreenMessage('success', $this->lng->txt('mail_sent'), true);
890  $this->ctrl->redirect($this, 'mailCodes');
891  }
892  } else {
893  $form_gui->setValuesByPost();
894  }
895  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
896  }
static subStr(string $a_str, int $a_start, ?int $a_length=null)
Definition: class.ilStr.php:24
$lang
Definition: xapiexit.php:26
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:

◆ setCodeLanguageObject()

ilSurveyParticipantsGUI::setCodeLanguageObject ( )

Change survey language for direct access URL's.

Definition at line 477 of file class.ilSurveyParticipantsGUI.php.

References $ilUser, $user, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

477  : void
478  {
479  if (strcmp($this->edit_request->getLang(), "-1") !== 0) {
481  $ilUser->writePref("survey_code_language", $this->edit_request->getLang());
482  }
483  $this->tpl->setOnScreenMessage('success', $this->lng->txt('language_changed'), true);
484  $this->ctrl->redirect($this, 'codes');
485  }
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:

◆ setParticipantSubTabs()

ilSurveyParticipantsGUI::setParticipantSubTabs ( string  $active)
protected

Definition at line 318 of file class.ilSurveyParticipantsGUI.php.

References $data, $tabs, ilTabsGUI\addSubTab(), ILIAS\Repository\ctrl(), isAnonymousListActive(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

Referenced by codesObject(), deleteSavedMessageObject(), editCodesObject(), importAccessCodesObject(), importExternalMailRecipientsFromFileFormObject(), importExternalMailRecipientsFromTextFormObject(), insertSavedMessageObject(), listParticipantsObject(), mailCodesObject(), maintenanceObject(), and sendCodesMailObject().

320  : void {
321  $ilTabs = $this->tabs;
322 
323  // not used in 360° mode
324 
325  // overview
326  $ilTabs->addSubTab(
327  "overview",
328  $this->lng->txt("svy_part_overview"),
329  $this->ctrl->getLinkTarget($this, 'maintenance')
330  );
331 
332  if ($this->isAnonymousListActive()) {
333  $ilTabs->addSubTab(
334  "anon_participants",
335  $this->lng->txt("svy_anonymous_participants_svy"),
336  $this->ctrl->getLinkTarget($this, 'listParticipants')
337  );
338  }
339 
340  if (!$this->object->isAccessibleWithoutCode()) {
341  $ilTabs->addSubTab(
342  "codes",
343  $this->lng->txt("svy_codes"),
344  $this->ctrl->getLinkTarget($this, 'codes')
345  );
346  }
347 
348 
349  $data = $this->object->getExternalCodeRecipients();
350  if (count($data)) {
351  $ilTabs->addSubTab(
352  "mail_survey_codes",
353  $this->lng->txt("mail_survey_codes"),
354  $this->ctrl->getLinkTarget($this, "mailCodes")
355  );
356  }
357 
358  $ilTabs->activateSubTab($active);
359  }
addSubTab(string $a_id, string $a_text, string $a_link, string $a_frame="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ storeMailSent()

ilSurveyParticipantsGUI::storeMailSent ( )
protected

Definition at line 1263 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), and handleRatersAccess().

Referenced by editRatersObject().

1263  : void
1264  {
1265  $appr_id = $this->handleRatersAccess();
1266  $all_data = $this->object->getRatersData($appr_id);
1267 
1268  $recs = json_decode(base64_decode($this->edit_request->getRecipients()));
1269  foreach ($all_data as $rec_id => $rater) {
1270  $sent = false;
1271  if (($rater["login"] != "" && in_array($rater["login"], $recs, true)) ||
1272  ($rater["email"] != "" && in_array($rater["email"], $recs, true))) {
1273  $sent = true;
1274  }
1275  if ($sent) {
1276  $this->object->set360RaterSent(
1277  $appr_id,
1278  strpos($rec_id, "a") === 0 ? 0 : (int) substr($rec_id, 1),
1279  strpos($rec_id, "u") === 0 ? 0 : (int) substr($rec_id, 1)
1280  );
1281  }
1282  }
1283  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1284  $this->ctrl->redirect($this, "editRaters");
1285  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateCodesObject()

ilSurveyParticipantsGUI::updateCodesObject ( )

Definition at line 577 of file class.ilSurveyParticipantsGUI.php.

References $errors, $id, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

577  : void
578  {
579  $codes = $this->edit_request->getCodes();
580  $mails = $this->edit_request->getCodesPar("mail");
581  $lnames = $this->edit_request->getCodesPar("lname");
582  $fnames = $this->edit_request->getCodesPar("fname");
583  $sents = $this->edit_request->getCodesPar("sent");
584  if (count($codes) === 0) {
585  $this->ctrl->redirect($this, 'codes');
586  }
587 
588  $errors = array();
589  $error_message = "";
590  foreach ($codes as $id) {
591  if (!$this->object->updateCode(
592  $id,
593  $mails[$id] ?? "",
594  $lnames[$id] ?? "",
595  $fnames[$id] ?? "",
596  $sents[$id] ?? 0
597  )) {
598  $errors[] = array($mails[$id], $lnames[$id], $fnames[$id]);
599  }
600  }
601  if (empty($errors)) {
602  $this->tpl->setOnScreenMessage('success', $this->lng->txt('settings_saved'), true);
603  } else {
604  foreach ($errors as $error) {
605  $error_message .= sprintf($this->lng->txt("error_save_code"), $error[0], $error[1], $error[2]);
606  }
607  $this->tpl->setOnScreenMessage('failure', $error_message, true);
608  }
609 
610  $this->ctrl->redirect($this, 'codes');
611  }
$errors
Definition: imgupload.php:65
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:

Field Documentation

◆ $access

◆ $code_manager

ILIAS Survey Code CodeManager ilSurveyParticipantsGUI::$code_manager
protected

Definition at line 46 of file class.ilSurveyParticipantsGUI.php.

◆ $ctrl

ilCtrl ilSurveyParticipantsGUI::$ctrl
protected

◆ $data_manager

ILIAS Survey InternalDataService ilSurveyParticipantsGUI::$data_manager
protected

Definition at line 47 of file class.ilSurveyParticipantsGUI.php.

◆ $edit_manager

ILIAS Survey Editing EditManager ilSurveyParticipantsGUI::$edit_manager
protected

Definition at line 30 of file class.ilSurveyParticipantsGUI.php.

◆ $edit_request

ILIAS Survey Editing EditingGUIRequest ilSurveyParticipantsGUI::$edit_request
protected

Definition at line 29 of file class.ilSurveyParticipantsGUI.php.

◆ $feature_config

ILIAS Survey Mode FeatureConfig ilSurveyParticipantsGUI::$feature_config
protected

Definition at line 28 of file class.ilSurveyParticipantsGUI.php.

◆ $has_write

bool ilSurveyParticipantsGUI::$has_write
protected

Definition at line 43 of file class.ilSurveyParticipantsGUI.php.

◆ $invitation_manager

Participants InvitationsManager ilSurveyParticipantsGUI::$invitation_manager
protected

Definition at line 44 of file class.ilSurveyParticipantsGUI.php.

◆ $lng

ilLanguage ilSurveyParticipantsGUI::$lng
protected

◆ $log

ilLogger ilSurveyParticipantsGUI::$log
protected

◆ $object

ilObjSurvey ilSurveyParticipantsGUI::$object
protected

Definition at line 41 of file class.ilSurveyParticipantsGUI.php.

Referenced by getObject().

◆ $parent_gui

ilObjSurveyGUI ilSurveyParticipantsGUI::$parent_gui
protected

Definition at line 40 of file class.ilSurveyParticipantsGUI.php.

◆ $rbacsystem

ilRbacSystem ilSurveyParticipantsGUI::$rbacsystem
protected

Definition at line 37 of file class.ilSurveyParticipantsGUI.php.

◆ $ref_id

int ilSurveyParticipantsGUI::$ref_id
protected

Definition at line 42 of file class.ilSurveyParticipantsGUI.php.

Referenced by listAppraiseesObject().

◆ $survey_service

ILIAS Survey InternalService ilSurveyParticipantsGUI::$survey_service
protected

Definition at line 45 of file class.ilSurveyParticipantsGUI.php.

◆ $tabs

◆ $toolbar

ilToolbarGUI ilSurveyParticipantsGUI::$toolbar
protected

◆ $tpl

ilGlobalTemplateInterface ilSurveyParticipantsGUI::$tpl
protected

◆ $user


The documentation for this class was generated from the following file: