ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator 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...
 
 getAccessCodeImportForm ()
 
 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 ()
 
 getImportExternalMailRecipientsFromFileForm ()
 
 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 InternalGUIService $gui
 
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 978 of file class.ilSurveyParticipantsGUI.php.

Referenced by importExternalRecipientsFromFileObject().

982  : string {
983  if (extension_loaded("mbstring")) {
984  if (!$a_from_charset) {
985  mb_detect_order("UTF-8, ISO-8859-1, Windows-1252, ASCII");
986  $a_from_charset = mb_detect_encoding($a_string);
987  }
988  if (strtoupper($a_from_charset) !== $a_to_charset) {
989  return mb_convert_encoding($a_string, $a_to_charset, $a_from_charset);
990  }
991  }
992  return $a_string;
993  }
+ Here is the caller graph for this function:

◆ addAppraisee()

ilSurveyParticipantsGUI::addAppraisee ( array  $a_user_ids)

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

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

1197  : void {
1198  if (count($a_user_ids)) {
1199  // #13319
1200  foreach (array_unique($a_user_ids) as $user_id) {
1201  $this->object->addAppraisee($user_id);
1202  }
1203 
1204  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1205  }
1206  $this->ctrl->redirect($this, "listAppraisees");
1207  }
+ 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 963 of file class.ilSurveyParticipantsGUI.php.

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

967  : int {
968  $code = $this->data_manager->code("")
969  ->withEmail($email)
970  ->withLastName($lastname)
971  ->withFirstName($firstname);
972  $code_id = $this->code_manager->add($code);
973  return $code_id;
974  }
+ Here is the caller graph for this function:

◆ addExternalRaterFormObject()

ilSurveyParticipantsGUI::addExternalRaterFormObject ( ?ilPropertyFormGUI  $a_form = null)

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

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

Referenced by addExternalRaterObject().

1353  : void {
1354  $ilTabs = $this->tabs;
1355  $ilAccess = $this->access;
1356 
1357  $appr_id = $this->handleRatersAccess();
1358  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1359 
1360  $has_write = $ilAccess->checkAccess("write", "", $this->ref_id);
1361  if ($has_write) {
1362  $ilTabs->clearTargets();
1363  $ilTabs->setBackTarget(
1364  $this->lng->txt("btn_back"),
1365  $this->ctrl->getLinkTarget($this, "editRaters")
1366  );
1367  }
1368 
1369  if (!$a_form) {
1370  $a_form = $this->initExternalRaterForm($appr_id);
1371  }
1372 
1373  $this->tpl->setContent($a_form->getHTML());
1374  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addExternalRaterObject()

ilSurveyParticipantsGUI::addExternalRaterObject ( )

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

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

1402  : void
1403  {
1404  $appr_id = $this->edit_request->getAppraiseeId();
1405  if (!$appr_id) {
1406  $this->ctrl->redirect($this, "listAppraisees");
1407  }
1408 
1409  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1410 
1411  $form = $this->initExternalRaterForm($appr_id);
1412  if ($form->checkInput()) {
1413  $code_id = $this->addCodeForExternal(
1414  $form->getInput("email"),
1415  $form->getInput("lname"),
1416  $form->getInput("fname")
1417  );
1418 
1419  $this->object->addRater($appr_id, 0, $code_id);
1420 
1421  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1422  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1423  $this->ctrl->redirect($this, "editRaters");
1424  }
1425 
1426  $form->setValuesByPost();
1427  $this->addExternalRaterFormObject($form);
1428  }
addCodeForExternal(string $email, string $lastname, string $firstname)
Add code for an external rater.
addExternalRaterFormObject(?ilPropertyFormGUI $a_form=null)
+ Here is the call graph for this function:

◆ addRater()

ilSurveyParticipantsGUI::addRater ( array  $a_user_ids)

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

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

1432  : void {
1433  $ilAccess = $this->access;
1434  $ilUser = $this->user;
1435 
1436  $appr_id = $this->handleRatersAccess();
1437 
1438  if (count($a_user_ids)) {
1439  // #13319
1440  foreach (array_unique($a_user_ids) as $user_id) {
1441  if ($ilAccess->checkAccess("write", "", $this->ref_id) ||
1442  $this->object->get360SelfEvaluation() ||
1443  $user_id != $ilUser->getId()) {
1444  if ($appr_id != $user_id) {
1445  $this->object->addRater($appr_id, $user_id);
1446  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1447  } else {
1448  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("svy_appraisses_cannot_be_raters"), true);
1449  }
1450  }
1451  }
1452  }
1453 
1454  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1455  $this->ctrl->redirect($this, "editRaters");
1456  }
+ Here is the call graph for this function:

◆ addSelfAppraiseeObject()

ilSurveyParticipantsGUI::addSelfAppraiseeObject ( )

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

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

1523  : void
1524  {
1525  $ilUser = $this->user;
1526 
1527  if ($this->object->get360SelfAppraisee() &&
1528  !$this->object->isAppraisee($ilUser->getId())) {
1529  $this->object->addAppraisee($ilUser->getId());
1530  }
1531 
1532  $this->ctrl->redirect($this->parent_gui, "run");
1533  }
+ Here is the call graph for this function:

◆ adminAppraiseesCloseObject()

ilSurveyParticipantsGUI::adminAppraiseesCloseObject ( )

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

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

1821  : void
1822  {
1823  $this->handleWriteAccess();
1824 
1825  $appr_ids = $this->edit_request->getAppraiseeIds();
1826 
1827  if (count($appr_ids) === 0) {
1828  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1829  $this->ctrl->redirect($this, "listAppraisees");
1830  }
1831 
1832  $appr_data = $this->object->getAppraiseesData();
1833  foreach ($appr_ids as $appr_id) {
1834  if (isset($appr_data[$appr_id]) && !$appr_data[$appr_id]["closed"]) {
1835  $this->object->closeAppraisee($appr_id);
1836  }
1837  }
1838 
1839  $this->tpl->setOnScreenMessage('success', $this->lng->txt("survey_360_appraisee_close_action_success_admin"), true);
1840  $this->ctrl->redirect($this, "listAppraisees");
1841  }
+ Here is the call graph for this function:

◆ appraiseeCloseObject()

ilSurveyParticipantsGUI::appraiseeCloseObject ( )

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

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

1781  : void
1782  {
1783  $ilUser = $this->user;
1784 
1785  if (!$this->object->isAppraisee($ilUser->getId())) {
1786  $this->ctrl->redirect($this->parent_gui, "run");
1787  }
1788 
1789  $this->object->closeAppraisee($ilUser->getId());
1790  $this->tpl->setOnScreenMessage('success', $this->lng->txt("survey_360_appraisee_close_action_success"), true);
1791  $this->ctrl->redirect($this->parent_gui, "run");
1792  }
+ Here is the call graph for this function:

◆ cancelDeleteAllUserDataObject()

ilSurveyParticipantsGUI::cancelDeleteAllUserDataObject ( )

Cancels delete of all user data in maintenance.

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

References ILIAS\Repository\ctrl().

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

◆ cancelDeleteSelectedUserDataObject()

ilSurveyParticipantsGUI::cancelDeleteSelectedUserDataObject ( )

Cancels the deletion of all user data.

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

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

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

◆ codesObject()

ilSurveyParticipantsGUI::codesObject ( )

Display the survey access codes tab.

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

References $lang, $toolbar, $user, ILIAS\Repository\ctrl(), handleWriteAccess(), ILIAS\Repository\lng(), null, ILIAS\Repository\object(), ilSelectInputGUI\setOptions(), and setParticipantSubTabs().

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

◆ confirmAdminAppraiseesCloseObject()

ilSurveyParticipantsGUI::confirmAdminAppraiseesCloseObject ( )

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

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

1794  : void
1795  {
1796  $tpl = $this->tpl;
1797 
1798  $this->handleWriteAccess();
1799 
1800  $appr_ids = $this->edit_request->getAppraiseeIds();
1801 
1802  if (count($appr_ids) === 0) {
1803  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1804  $this->ctrl->redirect($this, "listAppraisees");
1805  }
1806 
1807  $cgui = new ilConfirmationGUI();
1808  $cgui->setHeaderText($this->lng->txt("survey_360_sure_appraisee_close_admin"));
1809 
1810  $cgui->setFormAction($this->ctrl->getFormAction($this, "adminAppraiseesClose"));
1811  $cgui->setCancel($this->lng->txt("cancel"), "listAppraisees");
1812  $cgui->setConfirm($this->lng->txt("confirm"), "adminAppraiseesClose");
1813 
1814  foreach ($appr_ids as $appr_id) {
1815  $cgui->addItem("appr_id[]", $appr_id, ilUserUtil::getNamePresentation($appr_id));
1816  }
1817 
1818  $tpl->setContent($cgui->getHTML());
1819  }
setContent(string $a_html)
Sets content for standard template.
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:
+ Here is the call graph for this function:

◆ confirmAppraiseeCloseCancelObject()

ilSurveyParticipantsGUI::confirmAppraiseeCloseCancelObject ( )

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

References ILIAS\Repository\ctrl().

1776  : void
1777  {
1778  $this->ctrl->redirect($this->parent_gui, "run");
1779  }
+ Here is the call graph for this function:

◆ confirmAppraiseeCloseObject()

ilSurveyParticipantsGUI::confirmAppraiseeCloseObject ( )

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

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

1750  : void
1751  {
1752  $ilUser = $this->user;
1753  $tpl = $this->tpl;
1754  $ilTabs = $this->tabs;
1755 
1756  $ilTabs->clearTargets();
1757  $ilTabs->setBackTarget(
1758  $this->lng->txt("menuback"),
1759  $this->ctrl->getLinkTarget($this->parent_gui, "run")
1760  );
1761 
1762  if (!$this->object->isAppraisee($ilUser->getId())) {
1763  $this->ctrl->redirect($this->parent_gui, "run");
1764  }
1765 
1766  $cgui = new ilConfirmationGUI();
1767  $cgui->setHeaderText($this->lng->txt("survey_360_sure_appraisee_close"));
1768 
1769  $cgui->setFormAction($this->ctrl->getFormAction($this, "appraiseeClose"));
1770  $cgui->setCancel($this->lng->txt("cancel"), "confirmAppraiseeCloseCancel");
1771  $cgui->setConfirm($this->lng->txt("confirm"), "appraiseeClose");
1772 
1773  $tpl->setContent($cgui->getHTML());
1774  }
setContent(string $a_html)
Sets content for standard template.
clearTargets()
clear all targets
+ Here is the call graph for this function:

◆ confirmDeleteAllUserDataObject()

ilSurveyParticipantsGUI::confirmDeleteAllUserDataObject ( )

Deletes all user data of the survey after confirmation.

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

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

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

◆ confirmDeleteAppraiseesObject()

ilSurveyParticipantsGUI::confirmDeleteAppraiseesObject ( )

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

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

1209  : void
1210  {
1211  $ilTabs = $this->tabs;
1212 
1213  $appr_ids = $this->edit_request->getAppraiseeIds();
1214  if (count($appr_ids) === 0) {
1215  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1216  $this->ctrl->redirect($this, "listAppraisees");
1217  }
1218 
1219  $ilTabs->clearTargets();
1220  $ilTabs->setBackTarget(
1221  $this->lng->txt("btn_back"),
1222  $this->ctrl->getLinkTarget($this, "listAppraisees")
1223  );
1224 
1225  $cgui = new ilConfirmationGUI();
1226  $cgui->setHeaderText($this->lng->txt("survey_360_sure_delete_appraises"));
1227 
1228  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteAppraisees"));
1229  $cgui->setCancel($this->lng->txt("cancel"), "listAppraisees");
1230  $cgui->setConfirm($this->lng->txt("confirm"), "deleteAppraisees");
1231 
1232  $data = $this->object->getAppraiseesData();
1233 
1234  $count = 0;
1235  foreach ($appr_ids as $id) {
1236  if (isset($data[$id]) && !$data[$id]["closed"]) {
1237  $cgui->addItem("appr_id[]", $id, ilUserUtil::getNamePresentation($id));
1238  $count++;
1239  }
1240  }
1241 
1242  if (!$count) {
1243  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1244  $this->ctrl->redirect($this, "listAppraisees");
1245  }
1246 
1247  $this->tpl->setContent($cgui->getHTML());
1248  }
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
+ Here is the call graph for this function:

◆ confirmDeleteRatersObject()

ilSurveyParticipantsGUI::confirmDeleteRatersObject ( )

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

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

1458  : void
1459  {
1460  $ilTabs = $this->tabs;
1461 
1462  $rater_ids = $this->edit_request->getRaterIds();
1463  $appr_id = $this->handleRatersAccess();
1464  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1465  if (count($rater_ids) === 0) {
1466  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1467  $this->ctrl->redirect($this, "editRaters");
1468  }
1469 
1470  $ilTabs->clearTargets();
1471  $ilTabs->setBackTarget(
1472  $this->lng->txt("btn_back"),
1473  $this->ctrl->getLinkTarget($this, "editRaters")
1474  );
1475 
1476  $cgui = new ilConfirmationGUI();
1477  $cgui->setHeaderText(sprintf(
1478  $this->lng->txt("survey_360_sure_delete_raters"),
1480  ));
1481 
1482  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteRaters"));
1483  $cgui->setCancel($this->lng->txt("cancel"), "editRaters");
1484  $cgui->setConfirm($this->lng->txt("confirm"), "deleteRaters");
1485 
1486  $data = $this->object->getRatersData($appr_id);
1487 
1488  foreach ($rater_ids as $id) {
1489  if (isset($data[$id])) {
1490  $cgui->addItem("rtr_id[]", $id, $data[$id]["lastname"] . ", " .
1491  $data[$id]["firstname"] . " (" . $data[$id]["email"] . ")");
1492  }
1493  }
1494 
1495  $this->tpl->setContent($cgui->getHTML());
1496  }
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
+ Here is the call graph for this function:

◆ confirmDeleteSelectedUserDataObject()

ilSurveyParticipantsGUI::confirmDeleteSelectedUserDataObject ( )

Deletes all user data for the test object.

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

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

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

◆ createSurveyCodesObject()

ilSurveyParticipantsGUI::createSurveyCodesObject ( )

Create access codes for the survey.

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

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

793  : void
794  {
795  if ($this->edit_request->getNrOfCodes() > 0) {
796  $ids = $this->code_manager->addCodes($this->edit_request->getNrOfCodes());
797  $this->tpl->setOnScreenMessage('success', $this->lng->txt('codes_created'), true);
798  $this->ctrl->setParameter($this, "new_ids", implode(";", $ids));
799  $this->ctrl->redirect($this, 'editCodes');
800  } else {
801  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("enter_valid_number_of_codes"), true);
802  $this->ctrl->redirect($this, 'codes');
803  }
804  }
+ Here is the call graph for this function:

◆ deleteAllUserDataObject()

ilSurveyParticipantsGUI::deleteAllUserDataObject ( )

Creates a confirmation form for delete all user data.

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

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

367  : void
368  {
369  $cgui = new ilConfirmationGUI();
370  $cgui->setHeaderText($this->lng->txt("confirm_delete_all_user_data"));
371  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteAllUserData"));
372  $cgui->setCancel($this->lng->txt("cancel"), "cancelDeleteAllUserData");
373  $cgui->setConfirm($this->lng->txt("confirm"), "confirmDeleteAllUserData");
374  $this->tpl->setContent($cgui->getHTML());
375  }
+ Here is the call graph for this function:

◆ deleteAppraiseesObject()

ilSurveyParticipantsGUI::deleteAppraiseesObject ( )

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

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

1250  : void
1251  {
1252  $appr_ids = $this->edit_request->getAppraiseeIds();
1253  if (count($appr_ids) > 0) {
1254  $data = $this->object->getAppraiseesData();
1255 
1256  foreach ($appr_ids as $id) {
1257  // #11285
1258  if (isset($data[$id]) && !$data[$id]["closed"]) {
1259  $this->object->deleteAppraisee($id);
1260  }
1261  }
1262 
1263  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1264  }
1265 
1266  $this->ctrl->redirect($this, "listAppraisees");
1267  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:

◆ deleteCodesConfirmObject()

ilSurveyParticipantsGUI::deleteCodesConfirmObject ( )

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

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

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

◆ deleteCodesObject()

ilSurveyParticipantsGUI::deleteCodesObject ( )

Delete a list of survey codes.

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

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

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

◆ deleteRatersObject()

ilSurveyParticipantsGUI::deleteRatersObject ( )

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

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

1498  : void
1499  {
1500  $appr_id = $this->handleRatersAccess();
1501  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1502 
1503  $rater_ids = $this->edit_request->getRaterIds();
1504  if (count($rater_ids) > 0) {
1505  $data = $this->object->getRatersData($appr_id);
1506 
1507  foreach ($rater_ids as $id) {
1508  if (isset($data[$id])) {
1509  if (strpos($id, "u") === 0) {
1510  $this->object->deleteRater($appr_id, substr($id, 1));
1511  } else {
1512  $this->object->deleteRater($appr_id, 0, substr($id, 1));
1513  }
1514  }
1515  }
1516 
1517  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
1518  }
1519 
1520  $this->ctrl->redirect($this, "editRaters");
1521  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:

◆ deleteSavedMessageObject()

ilSurveyParticipantsGUI::deleteSavedMessageObject ( )

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

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

829  : void
830  {
831  $this->handleWriteAccess();
832  $this->setParticipantSubTabs("codes");
833 
834  $form_gui = new FormMailCodesGUI($this);
835  $form_gui->setValuesByPost();
836  try {
837  if ($form_gui->getSavedMessages()->getValue() > 0) {
838  $this->object->deleteUserSettings($form_gui->getSavedMessages()->getValue());
839  $form_gui = new FormMailCodesGUI($this);
840  $form_gui->setValuesByPost();
841  $this->tpl->setOnScreenMessage('success', $this->lng->txt('msg_message_deleted'));
842  } else {
843  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('msg_no_message_deleted'));
844  }
845  } catch (Exception $e) {
846  $ilLog = $this->log;
847  $ilLog->write('Error: ' . $e->getMessage());
848  }
849  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
850  }
write(string $message, $level=ilLogLevel::INFO, array $context=[])
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 443 of file class.ilSurveyParticipantsGUI.php.

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

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

◆ editCodesObject()

ilSurveyParticipantsGUI::editCodesObject ( )

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

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

564  : void
565  {
566  $ids = $this->edit_request->getCodeIds();
567  if (count($ids) === 0) {
568  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('no_checkbox'), true);
569  $this->ctrl->redirect($this, 'codes');
570  }
571 
572  $this->handleWriteAccess();
573  $this->setParticipantSubTabs("codes");
574 
575  $table_gui = new ilSurveyCodesEditTableGUI($this, 'editCodes');
576  $table_gui->setData($this->object->getSurveyCodesTableData($ids));
577  $this->tpl->setContent($table_gui->getHTML());
578  }
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 1314 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().

1314  : void
1315  {
1316  if ($this->edit_request->getReturnedFromMail() === 1) {
1317  $this->storeMailSent();
1318  }
1319 
1320  $ilTabs = $this->tabs;
1321  $ilToolbar = $this->toolbar;
1322  $ilAccess = $this->access;
1323  $ilTabs->activateTab("survey_360_edit_raters");
1324  $appr_id = $this->handleRatersAccess();
1325 
1326  $has_write = $ilAccess->checkAccess("write", "", $this->ref_id);
1327  if ($has_write) {
1328  $ilTabs->clearTargets();
1329  $ilTabs->setBackTarget(
1330  $this->lng->txt("btn_back"),
1331  $this->ctrl->getLinkTarget($this, "listAppraisees")
1332  );
1333  }
1334 
1335  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1336  $this->ctrl->setParameter($this, "rate360", 1);
1337 
1338  $ilToolbar->addButton(
1339  $this->lng->txt("svy_add_rater"),
1340  $this->ctrl->getLinkTargetByClass("ilSurveyRaterGUI", "add")
1341  );
1342 
1343  // #13320
1344  $url = ilLink::_getStaticLink($this->object->getRefId());
1345 
1346  $tbl = new ilSurveyAppraiseesTableGUI($this, "editRaters", true, !$this->object->isAppraiseeClosed($appr_id), $url); // #11285
1347  $tbl->setData($this->object->getRatersData($appr_id));
1348  $this->tpl->setContent($tbl->getHTML());
1349  }
setData(array $a_data)
$url
Definition: shib_logout.php:66
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:

◆ executeCommand()

ilSurveyParticipantsGUI::executeCommand ( )

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

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

115  : void
116  {
117  $ilCtrl = $this->ctrl;
118  $ilTabs = $this->tabs;
119  $lng = $this->lng;
120 
121  $cmd = $ilCtrl->getCmd("maintenance");
122  $next_class = $this->ctrl->getNextClass($this);
123 
124  switch ($next_class) {
125  case 'ilrepositorysearchgui':
126  $rep_search = new ilRepositorySearchGUI();
127 
128  if (!$this->edit_request->getAppr360() && !$this->edit_request->getRate360()) {
129  $ilTabs->clearTargets();
130  $ilTabs->setBackTarget(
131  $this->lng->txt("btn_back"),
132  $this->ctrl->getLinkTarget($this, "maintenance")
133  );
134 
135  $rep_search->setCallback(
136  $this,
137  'inviteUsers',
138  array(
139  )
140  );
141  $rep_search->setTitle($lng->txt("svy_invite_participants"));
142  // Set tabs
143  $this->ctrl->setReturn($this, 'maintenance');
144  $this->ctrl->forwardCommand($rep_search);
145  $ilTabs->setTabActive('maintenance');
146  } elseif ($this->edit_request->getRate360()) {
147  $ilTabs->clearTargets();
148  $ilTabs->setBackTarget(
149  $this->lng->txt("btn_back"),
150  $this->ctrl->getLinkTarget($this, "listAppraisees")
151  );
152 
153  $this->ctrl->setParameter($this, "rate360", 1);
154  $this->ctrl->saveParameter($this, "appr_id");
155 
156  $rep_search->setCallback(
157  $this,
158  'addRater',
159  array(
160  )
161  );
162 
163  // Set tabs
164  $this->ctrl->setReturn($this, 'editRaters');
165  $this->ctrl->forwardCommand($rep_search);
166  } else {
167  $ilTabs->activateTab("survey_360_appraisees");
168  $this->ctrl->setParameter($this, "appr360", 1);
169 
170  $rep_search->setCallback(
171  $this,
172  'addAppraisee',
173  array(
174  )
175  );
176 
177  // Set tabs
178  $this->ctrl->setReturn($this, 'listAppraisees');
179  $this->ctrl->forwardCommand($rep_search);
180  }
181  break;
182 
183  case 'ilsurveyratergui':
184  $ilTabs->activateTab("survey_360_edit_raters");
185  $rater_gui = new ilSurveyRaterGUI($this, $this->object);
186  $this->ctrl->forwardCommand($rater_gui);
187  break;
188 
189  default:
190  $cmd .= "Object";
191  $this->$cmd();
192  break;
193  }
194  }
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...
+ Here is the call graph for this function:

◆ exportAllCodesObject()

ilSurveyParticipantsGUI::exportAllCodesObject ( )

Exports all survey codes.

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

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

684  : void
685  {
686  $export = $this->object->getSurveyCodesForExport();
687  ilUtil::deliverData($export, ilFileUtils::getASCIIFilename($this->object->getTitle() . ".csv"));
688  }
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 669 of file class.ilSurveyParticipantsGUI.php.

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

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

◆ filterSurveyParticipantsByAccess()

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

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

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

Referenced by confirmDeleteAllUserDataObject(), and maintenanceObject().

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

◆ getAccessCodeImportForm()

ilSurveyParticipantsGUI::getAccessCodeImportForm ( )

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

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

Referenced by importAccessCodesActionObject(), and importAccessCodesObject().

702  {
703  $form_import_file = new ilPropertyFormGUI();
704  $form_import_file->setFormAction($this->ctrl->getFormAction($this));
705  $form_import_file->setTableWidth("100%");
706  $form_import_file->setId("codes_import_file");
707 
708  $headerfile = new ilFormSectionHeaderGUI();
709  $headerfile->setTitle($this->lng->txt("svy_import_codes"));
710  $form_import_file->addItem($headerfile);
711 
712  $export_file = new ilFileInputGUI($this->lng->txt("codes"), "codes");
713  $export_file->setInfo(sprintf(
714  $this->lng->txt('svy_import_codes_info'),
715  $this->lng->txt("export_all_survey_codes")
716  ));
717  $export_file->setSuffixes(array("csv"));
718  $export_file->setRequired(true);
719  $form_import_file->addItem($export_file);
720 
721  $form_import_file->addCommandButton("importAccessCodesAction", $this->lng->txt("import"));
722  $form_import_file->addCommandButton("codes", $this->lng->txt("cancel"));
723 
724  return $form_import_file;
725  }
This class represents a file property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getImportExternalMailRecipientsFromFileForm()

ilSurveyParticipantsGUI::getImportExternalMailRecipientsFromFileForm ( )

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

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

Referenced by importExternalMailRecipientsFromFileFormObject(), and importExternalRecipientsFromFileObject().

1080  {
1081  $ilAccess = $this->access;
1082 
1083  $form_import_file = new ilPropertyFormGUI();
1084  $form_import_file->setFormAction($this->ctrl->getFormAction($this));
1085  $form_import_file->setTableWidth("100%");
1086  $form_import_file->setId("codes_import_file");
1087 
1088  $headerfile = new ilFormSectionHeaderGUI();
1089  $headerfile->setTitle($this->lng->txt("import_from_file"));
1090  $form_import_file->addItem($headerfile);
1091 
1092  $externalmails = new ilFileInputGUI($this->lng->txt("externalmails"), "externalmails");
1093  $externalmails->setInfo($this->lng->txt('externalmails_info'));
1094  $externalmails->setRequired(true);
1095  $form_import_file->addItem($externalmails);
1096  if ($ilAccess->checkAccess("write", "", $this->edit_request->getRefId())) {
1097  $form_import_file->addCommandButton("importExternalRecipientsFromFile", $this->lng->txt("import"));
1098  }
1099  if ($ilAccess->checkAccess("write", "", $this->edit_request->getRefId())) {
1100  $form_import_file->addCommandButton("codes", $this->lng->txt("cancel"));
1101  }
1102  return $form_import_file;
1103  }
This class represents a file property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getObject()

ilSurveyParticipantsGUI::getObject ( )

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

References $object.

103  : ilObjSurvey
104  {
105  return $this->object;
106  }

◆ handleRatersAccess()

ilSurveyParticipantsGUI::handleRatersAccess ( )

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

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

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

1269  : ?int
1270  {
1271  $ilAccess = $this->access;
1272  $ilUser = $this->user;
1273 
1274  if ($ilAccess->checkAccess("write", "", $this->ref_id)) {
1275  $appr_id = $this->edit_request->getAppraiseeId();
1276  if (!$appr_id) {
1277  $this->ctrl->redirect($this, "listAppraisees");
1278  }
1279  return $appr_id;
1280  } elseif ($this->feature_config->usesAppraisees() &&
1281  $this->object->get360SelfRaters() &&
1282  $this->object->isAppraisee($ilUser->getId()) &&
1283  !$this->object->isAppraiseeClosed($ilUser->getId())) {
1284  return $ilUser->getId();
1285  }
1286  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1287  return null;
1288  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleWriteAccess()

ilSurveyParticipantsGUI::handleWriteAccess ( )
protected

◆ importAccessCodesActionObject()

ilSurveyParticipantsGUI::importAccessCodesActionObject ( )
protected

Import codes from export codes file.

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

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

730  : void
731  {
732  $form = $this->getAccessCodeImportForm();
733 
734  if ($form->checkInput()) {
735  $existing = array();
736  foreach ($this->object->getSurveyCodesTableData() as $item) {
737  $existing[$item["code"]] = $item["id"];
738  }
739 
740  $reader = new ilCSVReader();
741  $reader->open($_FILES['codes']['tmp_name']);
742  foreach ($reader->getCsvAsArray() as $row) {
743  // numeric check of used column due to #26176
744  $code = $row[0] ?? "";
745  if ($code === "") {
746  continue;
747  }
748  $email = $row[1] ?? "";
749  if (!is_int(strpos($email, "@")) && $email !== "") {
750  continue;
751  }
752  $last_name = $row[2] ?? "";
753  $first_name = $row[3] ?? "";
754  $created = time();
755 
756  // unique code?
757  if (!array_key_exists($code, $existing)) {
758  // could be date or datetime
759  /*try {
760  if (strlen($created) === 10) {
761  $created = new ilDate($created, IL_CAL_DATE);
762  } else {
763  $created = new ilDateTime($created, IL_CAL_DATETIME);
764  }
765  $created = $created->get(IL_CAL_UNIX);
766  } catch (Exception $e) {
767  $this->tpl->setOnScreenMessage('failure', $e->getMessage(), true);
768  $this->ctrl->redirect($this, 'codes');
769  }*/
770 
771  $user_data = array(
772  "email" => $email
773  ,"lastname" => $last_name
774  ,"firstname" => $first_name
775  );
776  $this->object->importSurveyCode($code, $created, $user_data);
777  }
778  }
779 
780  $this->tpl->setOnScreenMessage('success', $this->lng->txt('codes_created'), true);
781  $this->ctrl->redirect($this, 'codes');
782  } else {
783  $form->setValuesByPost();
784  $this->handleWriteAccess();
785  $this->setParticipantSubTabs("codes");
786  $this->tpl->setContent($form->getHTML());
787  }
788  }
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:

◆ importAccessCodesObject()

ilSurveyParticipantsGUI::importAccessCodesObject ( )
protected

Import codes from export codes file (upload form)

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

References getAccessCodeImportForm(), handleWriteAccess(), and setParticipantSubTabs().

693  : void
694  {
695  $this->handleWriteAccess();
696  $this->setParticipantSubTabs("codes");
697  $form_import_file = $this->getAccessCodeImportForm();
698  $this->tpl->setContent($form_import_file->getHTML());
699  }
+ Here is the call graph for this function:

◆ importExternalMailRecipientsFromFileFormObject()

ilSurveyParticipantsGUI::importExternalMailRecipientsFromFileFormObject ( )

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

References getImportExternalMailRecipientsFromFileForm(), handleWriteAccess(), and setParticipantSubTabs().

1071  : void
1072  {
1073  $this->handleWriteAccess();
1074  $this->setParticipantSubTabs("codes");
1076  $this->tpl->setContent($form->getHTML());
1077  }
+ Here is the call graph for this function:

◆ importExternalMailRecipientsFromTextFormObject()

ilSurveyParticipantsGUI::importExternalMailRecipientsFromTextFormObject ( )

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

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

1105  : void
1106  {
1107  $ilAccess = $this->access;
1108 
1109  $this->handleWriteAccess();
1110  $this->setParticipantSubTabs("mail_survey_codes");
1111 
1112  $form_import_text = new ilPropertyFormGUI();
1113  $form_import_text->setFormAction($this->ctrl->getFormAction($this));
1114  $form_import_text->setTableWidth("100%");
1115  $form_import_text->setId("codes_import_text");
1116 
1117  $headertext = new ilFormSectionHeaderGUI();
1118  $headertext->setTitle($this->lng->txt("import_from_text"));
1119  $form_import_text->addItem($headertext);
1120 
1121  $inp = new ilTextAreaInputGUI($this->lng->txt('externaltext'), 'externaltext');
1122  $external_text = $this->edit_manager->getExternalText();
1123  if ($external_text !== "") {
1124  $inp->setValue($external_text);
1125  } else {
1126  // $this->lng->txt('mail_import_example1') #14897
1127  $inp->setValue("email;firstname;lastname\n" . $this->lng->txt('mail_import_example2') . "\n" . $this->lng->txt('mail_import_example3') . "\n");
1128  }
1129  $inp->setRequired(true);
1130  $inp->setCols(80);
1131  $inp->setRows(10);
1132  $inp->setInfo($this->lng->txt('externaltext_info'));
1133  $form_import_text->addItem($inp);
1134  $this->edit_manager->setExternalText("");
1135 
1136  if ($ilAccess->checkAccess("write", "", $this->edit_request->getRefId())) {
1137  $form_import_text->addCommandButton("importExternalRecipientsFromText", $this->lng->txt("import"));
1138  }
1139  if ($ilAccess->checkAccess("write", "", $this->edit_request->getRefId())) {
1140  $form_import_text->addCommandButton("codes", $this->lng->txt("cancel"));
1141  }
1142 
1143  $this->tpl->setContent($form_import_text->getHTML());
1144  }
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 1002 of file class.ilSurveyParticipantsGUI.php.

References $data, _convertCharset(), addCodeForExternal(), ILIAS\Repository\ctrl(), getImportExternalMailRecipientsFromFileForm(), handleWriteAccess(), ILIAS\Repository\lng(), removeUTF8Bom(), and setParticipantSubTabs().

1002  : void
1003  {
1004  $this->handleWriteAccess();
1006 
1007  if (!$form->checkInput()) {
1008  $this->setParticipantSubTabs("codes");
1009  $this->tpl->setContent($form->getHTML());
1010  return;
1011  }
1012 
1013  if (trim($_FILES['externalmails']['tmp_name'])) {
1014  $reader = new ilCSVReader();
1015  $reader->open($_FILES['externalmails']['tmp_name']);
1016  $data = $reader->getCsvAsArray();
1017  $fields = array_shift($data);
1018  foreach ($fields as $idx => $field) {
1019  $fields[$idx] = $this->removeUTF8Bom($field);
1020  }
1021  if (!in_array('email', $fields, true)) {
1022  $reader->close();
1023  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('err_external_rcp_no_email'), true);
1024  $this->ctrl->redirect($this, 'codes');
1025  }
1026  $existingdata = $this->object->getExternalCodeRecipients();
1027  $existingcolumns = array();
1028  if (count($existingdata)) {
1029  $first = array_shift($existingdata);
1030  foreach ($first as $key => $value) {
1031  $existingcolumns[] = $key;
1032  }
1033  }
1034 
1035  $founddata = array();
1036  foreach ($data as $row) {
1037  if (count($row) === count($fields)) {
1038  $dataset = array();
1039  foreach ($fields as $idx => $fieldname) {
1040  // #14811
1041  $row[$idx] = $this->_convertCharset($row[$idx]);
1042 
1043  if (count($existingcolumns)) {
1044  if (array_key_exists($idx, $existingcolumns)) {
1045  $dataset[$fieldname] = $row[$idx];
1046  }
1047  } else {
1048  $dataset[$fieldname] = $row[$idx];
1049  }
1050  }
1051  if ($dataset['email'] !== '') {
1052  $founddata[] = $dataset;
1053  $this->addCodeForExternal(
1054  $dataset['email'],
1055  $dataset['lastname'] ?? "",
1056  $dataset['firstname'] ?? ""
1057  );
1058  }
1059  }
1060  }
1061  $reader->close();
1062 
1063  if (count($founddata)) {
1064  $this->tpl->setOnScreenMessage('success', $this->lng->txt('external_recipients_imported'), true);
1065  }
1066  }
1067 
1068  $this->ctrl->redirect($this, 'codes');
1069  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
addCodeForExternal(string $email, string $lastname, string $firstname)
Add code for an external rater.
_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 912 of file class.ilSurveyParticipantsGUI.php.

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

912  : void
913  {
914  if (trim($this->edit_request->getExternalText())) {
915  $data = preg_split("/[\n\r]/", $this->edit_request->getExternalText());
916  $fields = explode(";", array_shift($data));
917  if (!in_array('email', $fields, true)) {
918  $this->edit_manager->setExternalText($this->edit_request->getExternalText());
919  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('err_external_rcp_no_email_column'), true);
920  $this->ctrl->redirect($this, 'importExternalMailRecipientsFromTextForm');
921  }
922  $existingdata = $this->object->getExternalCodeRecipients();
923  $existingcolumns = array();
924  if (count($existingdata)) {
925  $first = array_shift($existingdata);
926  foreach ($first as $key => $value) {
927  $existingcolumns[] = $key;
928  }
929  }
930  $founddata = array();
931  foreach ($data as $datarow) {
932  $row = explode(";", $datarow);
933  if (count($row) === count($fields)) {
934  $dataset = array();
935  foreach ($fields as $idx => $fieldname) {
936  if (count($existingcolumns)) {
937  if (array_key_exists($idx, $existingcolumns)) {
938  $dataset[$fieldname] = $row[$idx];
939  }
940  } else {
941  $dataset[$fieldname] = $row[$idx];
942  }
943  }
944  if ($dataset['email'] !== '') {
945  $this->addCodeForExternal(
946  $dataset['email'],
947  $dataset['lastname'] ?? "",
948  $dataset['firstname'] ?? ""
949  );
950  }
951  }
952  }
953  $this->tpl->setOnScreenMessage('success', $this->lng->txt('external_recipients_imported'), true);
954  $this->ctrl->redirect($this, 'codes');
955  }
956 
957  $this->ctrl->redirect($this, 'importExternalMailRecipientsFromTextForm');
958  }
addCodeForExternal(string $email, string $lastname, string $firstname)
Add code for an external rater.
+ Here is the call graph for this function:

◆ initExternalRaterForm()

ilSurveyParticipantsGUI::initExternalRaterForm ( int  $appr_id)
protected

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

References ILIAS\Repository\ctrl(), ilUserUtil\getNamePresentation(), ILIAS\Repository\lng(), and ilFormPropertyGUI\setRequired().

Referenced by addExternalRaterFormObject(), and addExternalRaterObject().

1378  : ilPropertyFormGUI {
1379  $form = new ilPropertyFormGUI();
1380  $form->setFormAction($this->ctrl->getFormAction($this, "addExternalRater"));
1381  $form->setTitle($this->lng->txt("survey_360_add_external_rater") .
1382  ": " . ilUserUtil::getNamePresentation($appr_id));
1383 
1384  $email = new ilEMailInputGUI($this->lng->txt("email"), "email");
1385  $email->setRequired(true);
1386  $form->addItem($email);
1387 
1388  $lname = new ilTextInputGUI($this->lng->txt("lastname"), "lname");
1389  $lname->setSize(30);
1390  $form->addItem($lname);
1391 
1392  $fname = new ilTextInputGUI($this->lng->txt("firstname"), "fname");
1393  $fname->setSize(30);
1394  $form->addItem($fname);
1395 
1396  $form->addCommandButton("addExternalRater", $this->lng->txt("save"));
1397  $form->addCommandButton("editRaters", $this->lng->txt("cancel"));
1398 
1399  return $form;
1400  }
This class represents a email property in a property form.
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:
setRequired(bool $a_required)
+ 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 1535 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ilFormPropertyGUI\setRequired(), and ILIAS\UI\examples\Symbol\Glyph\Sort\sort().

Referenced by mailRatersActionObject(), and mailRatersObjectOld().

1538  : ilPropertyFormGUI {
1539  $form = new ilPropertyFormGUI();
1540  $form->setFormAction($this->ctrl->getFormAction($this, "mailRatersAction"));
1541  $form->setTitle($this->lng->txt('compose'));
1542 
1543  $all_data = $this->object->getRatersData($appr_id);
1544  $rec_data = array();
1545  foreach ($rec_ids as $rec_id) {
1546  if (isset($all_data[$rec_id])) {
1547  $rec_data[] = $all_data[$rec_id]["lastname"] . ", " .
1548  $all_data[$rec_id]["firstname"] .
1549  " (" . $all_data[$rec_id]["email"] . ")";
1550  }
1551  }
1552  sort($rec_data);
1553  $rec = new ilCustomInputGUI($this->lng->txt('recipients'));
1554  $rec->setHtml(implode("<br />", $rec_data));
1555  $form->addItem($rec);
1556 
1557  $subject = new ilTextInputGUI($this->lng->txt('subject'), 'subject');
1558  $subject->setSize(50);
1559  $subject->setRequired(true);
1560  $form->addItem($subject);
1561 
1562  $existingdata = $this->object->getExternalCodeRecipients();
1563  $existingcolumns = array();
1564  if (count($existingdata)) {
1565  $first = array_shift($existingdata);
1566  foreach ($first as $key => $value) {
1567  if (strcmp($key, 'code') !== 0 && strcmp($key, 'email') !== 0 && strcmp($key, 'sent') !== 0) {
1568  $existingcolumns[] = '[' . $key . ']';
1569  }
1570  }
1571  }
1572 
1573  $mailmessage_u = new ilTextAreaInputGUI($this->lng->txt('survey_360_rater_message_content_registered'), 'message_u');
1574  $mailmessage_u->setRequired(true);
1575  $mailmessage_u->setCols(80);
1576  $mailmessage_u->setRows(10);
1577  $form->addItem($mailmessage_u);
1578 
1579  $mailmessage_a = new ilTextAreaInputGUI($this->lng->txt('survey_360_rater_message_content_anonymous'), 'message_a');
1580  $mailmessage_a->setRequired(true);
1581  $mailmessage_a->setCols(80);
1582  $mailmessage_a->setRows(10);
1583  $mailmessage_a->setInfo(sprintf($this->lng->txt('message_content_info'), implode(', ', $existingcolumns)));
1584  $form->addItem($mailmessage_a);
1585 
1586  $recf = new ilHiddenInputGUI("rater_id");
1587  $recf->setValue(implode(";", $rec_ids));
1588  $form->addItem($recf);
1589 
1590  $form->addCommandButton("mailRatersAction", $this->lng->txt("send"));
1591  $form->addCommandButton("editRaters", $this->lng->txt("cancel"));
1592 
1593  $subject->setValue(sprintf($this->lng->txt('survey_360_rater_subject_default'), $this->object->getTitle()));
1594  $mailmessage_u->setValue($this->lng->txt('survey_360_rater_message_content_registered_default'));
1595  $mailmessage_a->setValue($this->lng->txt('survey_360_rater_message_content_anonymous_default'));
1596 
1597  return $form;
1598  }
sort()
description: > Example for rendering a Sort Glyph.
Definition: sort.php:41
This class represents a hidden form property in a property form.
setRequired(bool $a_required)
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 806 of file class.ilSurveyParticipantsGUI.php.

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

806  : void
807  {
808  $this->handleWriteAccess();
809  $this->setParticipantSubTabs("codes");
810 
811  $form_gui = new FormMailCodesGUI($this);
812  $form_gui->setValuesByPost();
813  try {
814  if ($form_gui->getSavedMessages()->getValue() > 0) {
815  $ilUser = $this->user;
816  $settings = $this->object->getUserSettings($ilUser->getId(), 'savemessage');
817  $form_gui->getMailMessage()->setValue($settings[$form_gui->getSavedMessages()->getValue()]['value']);
818  $this->tpl->setOnScreenMessage('success', $this->lng->txt('msg_message_inserted'));
819  } else {
820  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('msg_no_message_inserted'));
821  }
822  } catch (Exception $e) {
823  $ilLog = $this->log;
824  $ilLog->write('Error: ' . $e->getMessage());
825  }
826  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
827  }
write(string $message, $level=ilLogLevel::INFO, array $context=[])
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:

◆ inviteUsers()

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

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

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

1867  : void
1868  {
1869  $lng = $this->lng;
1870  $ctrl = $this->ctrl;
1871 
1872  foreach ($user_ids as $user_id) {
1873  $this->invitation_manager->add($this->object->getSurveyId(), $user_id);
1874  }
1875  $this->tpl->setOnScreenMessage('success', $lng->txt("svy_users_invited"), true);
1876  $ctrl->redirect($this, "maintenance");
1877  }
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 302 of file class.ilSurveyParticipantsGUI.php.

References ILIAS\Repository\int().

Referenced by listParticipantsObject(), and setParticipantSubTabs().

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

◆ listAppraiseesObject()

ilSurveyParticipantsGUI::listAppraiseesObject ( )

Definition at line 1150 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().

1150  : void
1151  {
1152  $ilToolbar = $this->toolbar;
1153  $lng = $this->lng;
1154  $ilCtrl = $this->ctrl;
1155 
1156  $this->handleWriteAccess();
1157 
1158  $this->ctrl->setParameter($this, "appr360", 1);
1159 
1161  $this,
1162  $ilToolbar,
1163  array(
1164  'auto_complete_name' => $this->lng->txt('user'),
1165  'submit_name' => $this->lng->txt('add'),
1166  'add_search' => true,
1167  'add_from_container' => $this->ref_id
1168  )
1169  );
1170 
1171  // competence calculations
1172  $skmg_set = new ilSkillManagementSettings();
1173  if ($this->object->getSkillService() && $skmg_set->isActivated()) {
1174  $ilToolbar->addSeparator();
1175  $ilToolbar->addButton(
1176  $lng->txt("survey_calc_skills"),
1177  $ilCtrl->getLinkTargetByClass("ilsurveyskilldeterminationgui"),
1178  ""
1179  );
1180  }
1181 
1182  $ilToolbar->addSeparator();
1183  $ilToolbar->addButton(
1184  $this->lng->txt('svy_delete_all_user_data'),
1185  $this->ctrl->getLinkTarget($this, 'deleteAllUserData')
1186  );
1187 
1188  $this->ctrl->setParameter($this, "appr360", "");
1189 
1190  $tbl = new ilSurveyAppraiseesTableGUI($this, "listAppraisees");
1191  $tbl->setData($this->object->getAppraiseesData());
1192  $this->tpl->setContent($tbl->getHTML());
1193  }
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...
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 1843 of file class.ilSurveyParticipantsGUI.php.

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

1843  : void
1844  {
1845  $ilToolbar = $this->toolbar;
1846 
1847  if (!$this->isAnonymousListActive()) {
1848  $this->ctrl->redirect($this, "maintenance");
1849  }
1850 
1851  $this->handleWriteAccess();
1852  $this->setParticipantSubTabs("anon_participants");
1853 
1854  $this->gui->button(
1855  $this->lng->txt("print"),
1856  "#"
1857  )->onClick("window.print(); return false;")->toToolbar();
1858 
1859  $tbl = new ilSurveyParticipantsTableGUI($this, "listParticipants", $this->object);
1860  $this->tpl->setContent($tbl->getHTML());
1861  }
+ Here is the call graph for this function:

◆ mailCodesObject()

ilSurveyParticipantsGUI::mailCodesObject ( )

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

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

852  : void
853  {
854  $this->handleWriteAccess();
855  $this->setParticipantSubTabs("mail_survey_codes");
856 
857  $mailData['m_subject'] =
858  $this->edit_request->getCodeMailPart("subject")
859  ?: sprintf($this->lng->txt('default_codes_mail_subject'), $this->object->getTitle());
860  $mailData['m_message'] =
861  $this->edit_request->getCodeMailPart("message")
862  ?: $this->lng->txt('default_codes_mail_message');
863  $mailData['m_notsent'] =
864  $this->edit_request->getCodeMailPart("notsent")
865  ?: '1';
866 
867  $form_gui = new FormMailCodesGUI($this);
868  $form_gui->setValuesByArray($mailData);
869  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
870  }
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 1677 of file class.ilSurveyParticipantsGUI.php.

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

1677  : void
1678  {
1679  $ilUser = $this->user;
1680  $appr_id = $this->handleRatersAccess();
1681  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1682 
1683  $rec_ids = $this->edit_request->getRaterIds();
1684  if (count($rec_ids) === 0) {
1685  $this->ctrl->redirect($this, "editRaters");
1686  }
1687 
1688  $form = $this->initMailRatersForm($appr_id, $rec_ids);
1689  if ($form->checkInput()) {
1690  $txt_u = $form->getInput("message_u");
1691  $txt_a = $form->getInput("message_a");
1692  $subj = $form->getInput("subject");
1693 
1694  // #12743
1695  $sender_id = (trim($ilUser->getEmail()))
1696  ? $ilUser->getId()
1698 
1699  $all_data = $this->object->getRatersData($appr_id);
1700  foreach ($rec_ids as $rec_id) {
1701  if (isset($all_data[$rec_id])) {
1702  $user = $all_data[$rec_id];
1703 
1704  // anonymous
1705  if (strpos($rec_id, "a") === 0) {
1706  $mytxt = $txt_a;
1707  $url = $user["href"];
1708  $rcp = $user["email"];
1709  }
1710  // reg
1711  else {
1712  $mytxt = $txt_u;
1713  $user["code"] = $this->lng->txt("survey_code_mail_on_demand");
1714  $url = ilLink::_getStaticLink($this->object->getRefId());
1715  $rcp = $user["login"]; // #15141
1716  }
1717 
1718  $mytxt = str_replace(
1719  ["[lastname]", "[firstname]", "[url]", "[code]"],
1720  [$user["lastname"], $user["firstname"], $url, $user["code"]],
1721  $mytxt
1722  );
1723 
1724  $mail = new ilMail($sender_id);
1725  $mail->enqueue(
1726  $rcp, // to
1727  "", // cc
1728  "", // bcc
1729  $subj, // subject
1730  $mytxt, // message
1731  array() // attachments
1732  );
1733 
1734  $this->object->set360RaterSent(
1735  $appr_id,
1736  (strpos($rec_id, "a") === 0) ? 0 : (int) substr($rec_id, 1),
1737  (strpos($rec_id, "u") === 0) ? 0 : (int) substr($rec_id, 1)
1738  );
1739  }
1740  }
1741 
1742  $this->tpl->setOnScreenMessage('success', $this->lng->txt("mail_sent"), true);
1743  $this->ctrl->redirect($this, "editRaters");
1744  }
1745 
1746  $form->setValuesByPost();
1747  $this->mailRatersObject();
1748  }
const ANONYMOUS_USER_ID
Definition: constants.php:27
$url
Definition: shib_logout.php:66
initMailRatersForm(int $appr_id, array $rec_ids)
+ Here is the call graph for this function:

◆ mailRatersObject()

ilSurveyParticipantsGUI::mailRatersObject ( )

Definition at line 1600 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().

1600  : void
1601  {
1602  $appr_id = $this->handleRatersAccess();
1603  $all_data = $this->object->getRatersData($appr_id);
1604  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1605 
1606  $raters = $this->edit_request->getRaterIds();
1607 
1608  $rec = [];
1609  $external_rater = false;
1610  $rater_id = "";
1611  foreach ($raters as $id) {
1612  if (isset($all_data[$id])) {
1613  if ($all_data[$id]["login"] != "") {
1614  $rec[] = $all_data[$id]["login"];
1615  } elseif ($all_data[$id]["email"] != "") {
1616  $rec[] = $all_data[$id]["email"];
1617  $external_rater = true;
1618  $rater_id = $all_data[$id]["user_id"];
1619  }
1620  }
1621  }
1622  if ($external_rater && count($rec) > 1) {
1623  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("svy_only_max_one_external_rater"), true);
1624  $this->ctrl->redirect($this, "editRaters");
1625  }
1626 
1628 
1629  $contextParameters = [
1630  'ref_id' => $this->object->getRefId(),
1631  'ts' => time(),
1632  'appr_id' => $appr_id,
1633  'rater_id' => $rater_id,
1634  ilMailFormCall::CONTEXT_KEY => "svy_rater_inv"
1635  ];
1636 
1637  $this->ctrl->redirectToURL(ilMailFormCall::getRedirectTarget(
1638  $this,
1639  'editRaters',
1640  [
1641  'recipients' => base64_encode(json_encode($rec, JSON_THROW_ON_ERROR)),
1642  ],
1643  [
1644  'type' => 'new',
1645  'sig' => rawurlencode(base64_encode("\n\n" . $this->lng->txt("svy_link_to_svy") . ": {{SURVEY_LINK}}"))
1646  ],
1647  $contextParameters
1648  ));
1649  }
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 1651 of file class.ilSurveyParticipantsGUI.php.

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

1653  : void {
1654  $ilTabs = $this->tabs;
1655  $rater_ids = $this->edit_request->getRaterIds();
1656  if (!$a_form) {
1657  $appr_id = $this->handleRatersAccess();
1658  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1659 
1660  if (count($rater_ids) === 0) {
1661  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("select_one"), true);
1662  $this->ctrl->redirect($this, "editRaters");
1663  }
1664 
1665  $a_form = $this->initMailRatersForm($appr_id, $rater_ids);
1666  }
1667 
1668  $ilTabs->clearTargets();
1669  $ilTabs->setBackTarget(
1670  $this->lng->txt("btn_back"),
1671  $this->ctrl->getLinkTarget($this, "editRaters")
1672  );
1673 
1674  $this->tpl->setContent($a_form->getHTML());
1675  }
initMailRatersForm(int $appr_id, array $rec_ids)
+ Here is the call graph for this function:

◆ maintenanceObject()

ilSurveyParticipantsGUI::maintenanceObject ( )

Participants maintenance.

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

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

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

◆ removeUTF8Bom()

ilSurveyParticipantsGUI::removeUTF8Bom ( string  $a_text)
protected

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

Referenced by importExternalRecipientsFromFileObject().

996  : string
997  {
998  $bom = pack('H*', 'EFBBBF');
999  return preg_replace('/^' . $bom . '/', '', $a_text);
1000  }
+ Here is the caller graph for this function:

◆ sendCodesMailObject()

ilSurveyParticipantsGUI::sendCodesMailObject ( )

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

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

872  : void
873  {
874  $ilUser = $this->user;
875 
876  $this->handleWriteAccess();
877  $this->setParticipantSubTabs("mail_survey_codes");
878 
879  $form_gui = new FormMailCodesGUI($this);
880  if ($form_gui->checkInput()) {
881  $url_exists = strpos($this->edit_request->getCodeMailPart("message"), '[url]') !== false;
882  if (!$url_exists) {
883  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('please_enter_mail_url'));
884  $form_gui->setValuesByPost();
885  } else {
886  if ($this->edit_request->getSaveMessage() === 1) {
887  $ilUser = $this->user;
888  $title = ($this->edit_request->getSaveMessageTitle())
889  ?: ilStr::subStr($this->edit_request->getCodeMailPart("message"), 0, 40) . '...';
890  $this->object->saveUserSettings($ilUser->getId(), 'savemessage', $title, $this->edit_request->getCodeMailPart("message"));
891  }
892 
893  $lang = $ilUser->getPref("survey_code_language");
894  if (!$lang) {
895  $lang = $this->lng->getDefaultLanguage();
896  }
897  $this->object->sendCodes(
898  $this->edit_request->getCodeMailPart("notsent"),
899  $this->edit_request->getCodeMailPart("subject"),
900  nl2br($this->edit_request->getCodeMailPart("message")),
901  $lang
902  );
903  $this->tpl->setOnScreenMessage('success', $this->lng->txt('mail_sent'), true);
904  $this->ctrl->redirect($this, 'mailCodes');
905  }
906  } else {
907  $form_gui->setValuesByPost();
908  }
909  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
910  }
static subStr(string $a_str, int $a_start, ?int $a_length=null)
Definition: class.ilStr.php:24
$lang
Definition: xapiexit.php:25
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:

◆ setCodeLanguageObject()

ilSurveyParticipantsGUI::setCodeLanguageObject ( )

Change survey language for direct access URL's.

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

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

479  : void
480  {
481  if (strcmp($this->edit_request->getLang(), "-1") !== 0) {
482  $ilUser = $this->user;
483  $ilUser->writePref("survey_code_language", $this->edit_request->getLang());
484  }
485  $this->tpl->setOnScreenMessage('success', $this->lng->txt('language_changed'), true);
486  $this->ctrl->redirect($this, 'codes');
487  }
writePref(string $a_keyword, string $a_value)
+ Here is the call graph for this function:

◆ setParticipantSubTabs()

ilSurveyParticipantsGUI::setParticipantSubTabs ( string  $active)
protected

Definition at line 320 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(), importAccessCodesActionObject(), importAccessCodesObject(), importExternalMailRecipientsFromFileFormObject(), importExternalMailRecipientsFromTextFormObject(), importExternalRecipientsFromFileObject(), insertSavedMessageObject(), listParticipantsObject(), mailCodesObject(), maintenanceObject(), and sendCodesMailObject().

322  : void {
323  $ilTabs = $this->tabs;
324 
325  // not used in 360° mode
326 
327  // overview
328  $ilTabs->addSubTab(
329  "overview",
330  $this->lng->txt("svy_part_overview"),
331  $this->ctrl->getLinkTarget($this, 'maintenance')
332  );
333 
334  if ($this->isAnonymousListActive()) {
335  $ilTabs->addSubTab(
336  "anon_participants",
337  $this->lng->txt("svy_anonymous_participants_svy"),
338  $this->ctrl->getLinkTarget($this, 'listParticipants')
339  );
340  }
341 
342  if (!$this->object->isAccessibleWithoutCode()) {
343  $ilTabs->addSubTab(
344  "codes",
345  $this->lng->txt("svy_codes"),
346  $this->ctrl->getLinkTarget($this, 'codes')
347  );
348  }
349 
350 
351  $data = $this->object->getExternalCodeRecipients();
352  if (count($data)) {
353  $ilTabs->addSubTab(
354  "mail_survey_codes",
355  $this->lng->txt("mail_survey_codes"),
356  $this->ctrl->getLinkTarget($this, "mailCodes")
357  );
358  }
359 
360  $ilTabs->activateSubTab($active);
361  }
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 1290 of file class.ilSurveyParticipantsGUI.php.

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

Referenced by editRatersObject().

1290  : void
1291  {
1292  $appr_id = $this->handleRatersAccess();
1293  $all_data = $this->object->getRatersData($appr_id);
1294 
1295  $recs = json_decode(base64_decode($this->edit_request->getRecipients()));
1296  foreach ($all_data as $rec_id => $rater) {
1297  $sent = false;
1298  if (($rater["login"] != "" && in_array($rater["login"], $recs, true)) ||
1299  ($rater["email"] != "" && in_array($rater["email"], $recs, true))) {
1300  $sent = true;
1301  }
1302  if ($sent) {
1303  $this->object->set360RaterSent(
1304  $appr_id,
1305  strpos($rec_id, "a") === 0 ? 0 : (int) substr($rec_id, 1),
1306  strpos($rec_id, "u") === 0 ? 0 : (int) substr($rec_id, 1)
1307  );
1308  }
1309  }
1310  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1311  $this->ctrl->redirect($this, "editRaters");
1312  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateCodesObject()

ilSurveyParticipantsGUI::updateCodesObject ( )

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

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

580  : void
581  {
582  $codes = $this->edit_request->getCodes();
583  $mails = $this->edit_request->getCodesPar("mail");
584  $lnames = $this->edit_request->getCodesPar("lname");
585  $fnames = $this->edit_request->getCodesPar("fname");
586  $sents = $this->edit_request->getCodesPar("sent");
587  if (count($codes) === 0) {
588  $this->ctrl->redirect($this, 'codes');
589  }
590 
591  $errors = array();
592  $error_message = "";
593  foreach ($codes as $id) {
594  if (!$this->object->updateCode(
595  $id,
596  $mails[$id] ?? "",
597  $lnames[$id] ?? "",
598  $fnames[$id] ?? "",
599  $sents[$id] ?? 0
600  )) {
601  $errors[] = array($mails[$id], $lnames[$id], $fnames[$id]);
602  }
603  }
604  if (empty($errors)) {
605  $this->tpl->setOnScreenMessage('success', $this->lng->txt('settings_saved'), true);
606  } else {
607  foreach ($errors as $error) {
608  $error_message .= sprintf($this->lng->txt("error_save_code"), $error[0], $error[1], $error[2]);
609  }
610  $this->tpl->setOnScreenMessage('failure', $error_message, true);
611  }
612 
613  $this->ctrl->redirect($this, 'codes');
614  }
$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 47 of file class.ilSurveyParticipantsGUI.php.

◆ $ctrl

ilCtrl ilSurveyParticipantsGUI::$ctrl
protected

◆ $data_manager

ILIAS Survey InternalDataService ilSurveyParticipantsGUI::$data_manager
protected

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

◆ $edit_manager

ILIAS Survey Editing EditManager ilSurveyParticipantsGUI::$edit_manager
protected

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

◆ $edit_request

ILIAS Survey Editing EditingGUIRequest ilSurveyParticipantsGUI::$edit_request
protected

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

◆ $feature_config

ILIAS Survey Mode FeatureConfig ilSurveyParticipantsGUI::$feature_config
protected

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

◆ $gui

ILIAS Survey InternalGUIService ilSurveyParticipantsGUI::$gui
protected

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

◆ $has_write

bool ilSurveyParticipantsGUI::$has_write
protected

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

◆ $invitation_manager

Participants InvitationsManager ilSurveyParticipantsGUI::$invitation_manager
protected

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

◆ $lng

ilLanguage ilSurveyParticipantsGUI::$lng
protected

◆ $log

ilLogger ilSurveyParticipantsGUI::$log
protected

◆ $object

ilObjSurvey ilSurveyParticipantsGUI::$object
protected

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

Referenced by getObject().

◆ $parent_gui

ilObjSurveyGUI ilSurveyParticipantsGUI::$parent_gui
protected

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

◆ $rbacsystem

ilRbacSystem ilSurveyParticipantsGUI::$rbacsystem
protected

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

◆ $ref_id

int ilSurveyParticipantsGUI::$ref_id
protected

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

Referenced by listAppraiseesObject().

◆ $survey_service

ILIAS Survey InternalService ilSurveyParticipantsGUI::$survey_service
protected

Definition at line 46 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: