ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilSurveyParticipantsGUI Class Reference

Class ilSurveyParticipantsGUI. More...

+ Collaboration diagram for ilSurveyParticipantsGUI:

Public Member Functions

 __construct (ilObjSurveyGUI $a_parent_gui)
 
 executeCommand ()
 
 maintenanceObject ()
 Participants maintenance. More...
 
 setCodesSubtabs ()
 Set the tabs for the access codes section. More...
 
 disinviteUserGroupObject ()
 Disinvite users or groups from a survey. More...
 
 inviteUserGroupObject ($a_user_ids=array())
 Invite users or groups to a survey. More...
 
 saveInvitationStatusObject ()
 Saves the status of the invitation tab. More...
 
 inviteObject ()
 Creates the output for user/group invitation to a survey. 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 for the test object. More...
 
 deleteSingleUserResultsObject ()
 Asks for a confirmation to delete selected user data of the test object. 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 ()
 
 importExternalRecipientsFromFileObject ()
 
 importExternalMailRecipientsFromFileFormObject ()
 
 importExternalMailRecipientsFromTextFormObject ()
 
 listAppraiseesObject ()
 
 addAppraisee ($a_user_ids)
 
 confirmDeleteAppraiseesObject ()
 
 deleteAppraiseesObject ()
 
 handleRatersAccess ()
 
 editRatersObject ()
 
 addExternalRaterFormObject (ilPropertyFormGUI $a_form=null)
 
 addExternalRaterObject ()
 
 addRater ($a_user_ids)
 
 confirmDeleteRatersObject ()
 
 deleteRatersObject ()
 
 addSelfAppraiseeObject ()
 
 initMailRatersForm ($appr_id, array $rec_ids)
 
 mailRatersObject (ilPropertyFormGUI $a_form=null)
 
 mailRatersActionObject ()
 
 confirmAppraiseeCloseObject ()
 
 confirmAppraiseeCloseCancelObject ()
 
 appraiseeCloseObject ()
 
 confirmAdminAppraiseesCloseObject ()
 
 adminAppraiseesCloseObject ()
 

Protected Member Functions

 importAccessCodesObject ()
 Import codes from export codes file (upload form) More...
 
 importAccessCodesActionObject ()
 Import codes from export codes file. More...
 
 _convertCharset ($a_string, $a_from_charset="", $a_to_charset="UTF-8")
 
 removeUTF8Bom ($a_text)
 
 initExternalRaterForm ($appr_id)
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilSurveyParticipantsGUI::__construct ( ilObjSurveyGUI  $a_parent_gui)

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

References $ilCtrl, $lng, and $tpl.

17  {
18  global $ilCtrl, $lng, $tpl;
19 
20  $this->parent_gui = $a_parent_gui;
21  $this->object = $this->parent_gui->object;
22  $this->ref_id = $this->object->getRefId();
23 
24  $this->ctrl = $ilCtrl;
25  $this->lng = $lng;
26  $this->tpl = $tpl;
27  }
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40

Member Function Documentation

◆ _convertCharset()

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

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

Referenced by importExternalRecipientsFromFileObject().

932  {
933  if(extension_loaded("mbstring"))
934  {
935  if(!$a_from_charset)
936  {
937  mb_detect_order("UTF-8, ISO-8859-1, Windows-1252, ASCII");
938  $a_from_charset = mb_detect_encoding($a_string);
939  }
940  if(strtoupper($a_from_charset) != $a_to_charset)
941  {
942  return @mb_convert_encoding($a_string, $a_to_charset, $a_from_charset);
943  }
944  }
945  return $a_string;
946  }
+ Here is the caller graph for this function:

◆ addAppraisee()

ilSurveyParticipantsGUI::addAppraisee (   $a_user_ids)

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

References ilUtil\sendSuccess().

1150  {
1151  if(sizeof($a_user_ids))
1152  {
1153  // #13319
1154  foreach(array_unique($a_user_ids) as $user_id)
1155  {
1156  $this->object->addAppraisee($user_id);
1157  }
1158 
1159  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
1160  }
1161  $this->ctrl->redirect($this, "listAppraisees");
1162  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
+ Here is the call graph for this function:

◆ addExternalRaterFormObject()

ilSurveyParticipantsGUI::addExternalRaterFormObject ( ilPropertyFormGUI  $a_form = null)

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

References handleRatersAccess(), and initExternalRaterForm().

Referenced by addExternalRaterObject().

1299  {
1300  global $ilTabs, $ilAccess;
1301 
1302  $appr_id = $this->handleRatersAccess();
1303  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1304 
1305  $has_write = $ilAccess->checkAccess("write", "", $this->ref_id);
1306  if($has_write)
1307  {
1308  $ilTabs->clearTargets();
1309  $ilTabs->setBackTarget($this->lng->txt("btn_back"),
1310  $this->ctrl->getLinkTarget($this, "editRaters"));
1311  }
1312 
1313  if(!$a_form)
1314  {
1315  $a_form = $this->initExternalRaterForm($appr_id);
1316  }
1317 
1318  $this->tpl->setContent($a_form->getHTML());
1319  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addExternalRaterObject()

ilSurveyParticipantsGUI::addExternalRaterObject ( )

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

References $_REQUEST, $data, addExternalRaterFormObject(), initExternalRaterForm(), and ilUtil\sendSuccess().

1349  {
1350  $appr_id = $_REQUEST["appr_id"];
1351  if(!$appr_id)
1352  {
1353  $this->ctrl->redirect($this, "listAppraisees");
1354  }
1355 
1356  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1357 
1358  $form = $this->initExternalRaterForm($appr_id);
1359  if($form->checkInput())
1360  {
1361  $data = array(
1362  "email" => $form->getInput("email"),
1363  "lastname" => $form->getInput("lname"),
1364  "firstname" => $form->getInput("fname")
1365  );
1366  $anonymous_id = $this->object->createSurveyCodesForExternalData(array($data));
1367  $anonymous_id = array_pop($anonymous_id);
1368 
1369  $this->object->addRater($appr_id, 0, $anonymous_id);
1370 
1371  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
1372  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1373  $this->ctrl->redirect($this, "editRaters");
1374  }
1375 
1376  $form->setValuesByPost();
1377  $this->addExternalRaterFormObject($form);
1378  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
addExternalRaterFormObject(ilPropertyFormGUI $a_form=null)
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ addRater()

ilSurveyParticipantsGUI::addRater (   $a_user_ids)

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

References $ilUser, handleRatersAccess(), and ilUtil\sendSuccess().

1381  {
1382  global $ilAccess, $ilUser;
1383 
1384  $appr_id = $this->handleRatersAccess();
1385 
1386  if(sizeof($a_user_ids))
1387  {
1388  // #13319
1389  foreach(array_unique($a_user_ids) as $user_id)
1390  {
1391  if($ilAccess->checkAccess("write", "", $this->ref_id) ||
1392  $this->object->get360SelfEvaluation() ||
1393  $user_id != $ilUser->getId())
1394  {
1395  $this->object->addRater($appr_id, $user_id);
1396  }
1397  }
1398 
1399  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
1400  }
1401 
1402  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1403  $this->ctrl->redirect($this, "editRaters");
1404  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilUser
Definition: imgupload.php:15
+ Here is the call graph for this function:

◆ addSelfAppraiseeObject()

ilSurveyParticipantsGUI::addSelfAppraiseeObject ( )

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

References $ilUser.

1477  {
1478  global $ilUser;
1479 
1480  if($this->object->get360SelfAppraisee() &&
1481  !$this->object->isAppraisee($ilUser->getId()))
1482  {
1483  $this->object->addAppraisee($ilUser->getId());
1484  }
1485 
1486  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1487  }
global $ilUser
Definition: imgupload.php:15

◆ adminAppraiseesCloseObject()

ilSurveyParticipantsGUI::adminAppraiseesCloseObject ( )

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

References $_POST, ilUtil\sendFailure(), and ilUtil\sendSuccess().

1736  {
1737  $this->parent_gui->handleWriteAccess();
1738 
1739  $appr_ids = $_POST["appr_id"];
1740 
1741  if(!sizeof($appr_ids))
1742  {
1743  ilUtil::sendFailure($this->lng->txt("select_one"), true);
1744  $this->ctrl->redirect($this, "listAppraisees");
1745  }
1746 
1747  $appr_data = $this->object->getAppraiseesData();
1748  foreach($appr_ids as $appr_id)
1749  {
1750  if(isset($appr_data[$appr_id]) && !$appr_data[$appr_id]["closed"])
1751  {
1752  $this->object->closeAppraisee($appr_id);
1753  }
1754  }
1755 
1756  ilUtil::sendSuccess($this->lng->txt("survey_360_appraisee_close_action_success_admin"), true);
1757  $this->ctrl->redirect($this, "listAppraisees");
1758  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ appraiseeCloseObject()

ilSurveyParticipantsGUI::appraiseeCloseObject ( )

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

References $ilUser, and ilUtil\sendSuccess().

1691  {
1692  global $ilUser;
1693 
1694  if(!$this->object->isAppraisee($ilUser->getId()))
1695  {
1696  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1697  }
1698 
1699  $this->object->closeAppraisee($ilUser->getId());
1700  ilUtil::sendSuccess($this->lng->txt("survey_360_appraisee_close_action_success"), true);
1701  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1702  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilUser
Definition: imgupload.php:15
+ Here is the call graph for this function:

◆ cancelDeleteAllUserDataObject()

ilSurveyParticipantsGUI::cancelDeleteAllUserDataObject ( )

Cancels delete of all user data in maintenance.

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

370  {
371  $this->ctrl->redirect($this, "maintenance");
372  }

◆ cancelDeleteSelectedUserDataObject()

ilSurveyParticipantsGUI::cancelDeleteSelectedUserDataObject ( )

Cancels the deletion of all user data for the test object.

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

References ilUtil\sendInfo().

388  {
389  ilUtil::sendInfo($this->lng->txt('msg_cancel'), true);
390  $this->ctrl->redirect($this, "maintenance");
391  }
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
+ Here is the call graph for this function:

◆ codesObject()

ilSurveyParticipantsGUI::codesObject ( )

Display the survey access codes tab.

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

References $ilUser, $lang, $options, $si, ilSubmitButton\getInstance(), ilUtil\sendInfo(), and setCodesSubtabs().

446  {
447  global $ilUser, $ilToolbar;
448 
449  $this->parent_gui->handleWriteAccess();
450  $this->setCodesSubtabs();
451 
452  if ($this->object->isAccessibleWithoutCode())
453  {
454  return ilUtil::sendInfo($this->lng->txt("survey_codes_no_anonymization"));
455  }
456 
457  $default_lang = $ilUser->getPref("survey_code_language");
458 
459  // creation buttons
460  $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
461 
462  include_once("./Services/Form/classes/class.ilTextInputGUI.php");
463  $si = new ilTextInputGUI($this->lng->txt("new_survey_codes"), "nrOfCodes");
464  $si->setValue(1);
465  $si->setSize(3);
466  $ilToolbar->addInputItem($si, true);
467 
468  include_once "Services/UIComponent/Button/classes/class.ilSubmitButton.php";
469 
470  $button = ilSubmitButton::getInstance();
471  $button->setCaption("create");
472  $button->setCommand("createSurveyCodes");
473  $ilToolbar->addButtonInstance($button);
474 
475  $ilToolbar->addSeparator();
476 
477  $button = ilSubmitButton::getInstance();
478  $button->setCaption("import_from_file");
479  $button->setCommand("importExternalMailRecipientsFromFileForm");
480  $ilToolbar->addButtonInstance($button);
481 
482  $button = ilSubmitButton::getInstance();
483  $button->setCaption("import_from_text");
484  $button->setCommand("importExternalMailRecipientsFromTextForm");
485  $ilToolbar->addButtonInstance($button);
486 
487  $ilToolbar->addSeparator();
488 
489  $button = ilSubmitButton::getInstance();
490  $button->setCaption("svy_import_codes");
491  $button->setCommand("importAccessCodes");
492  $ilToolbar->addButtonInstance($button);
493 
494  $ilToolbar->addSeparator();
495 
496  $languages = $this->lng->getInstalledLanguages();
497  $options = array();
498  $this->lng->loadLanguageModule("meta");
499  foreach ($languages as $lang)
500  {
501  $options[$lang] = $this->lng->txt("meta_l_".$lang);
502  }
503  include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
504  $si = new ilSelectInputGUI($this->lng->txt("survey_codes_lang"), "lang");
505  $si->setOptions($options);
506  $si->setValue($default_lang);
507  $ilToolbar->addInputItem($si, true);
508 
509  $button = ilSubmitButton::getInstance();
510  $button->setCaption("set");
511  $button->setCommand("setCodeLanguage");
512  $ilToolbar->addButtonInstance($button);
513 
514  include_once "./Modules/Survey/classes/tables/class.ilSurveyCodesTableGUI.php";
515  $table_gui = new ilSurveyCodesTableGUI($this, 'codes');
516  $survey_codes = $this->object->getSurveyCodesTableData(null, $default_lang);
517  $table_gui->setData($survey_codes);
518  $this->tpl->setContent($table_gui->getHTML());
519  }
This class represents a selection list property in a property form.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(!is_array($argv)) $options
This class represents a text property in a property form.
global $ilUser
Definition: imgupload.php:15
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ confirmAdminAppraiseesCloseObject()

ilSurveyParticipantsGUI::confirmAdminAppraiseesCloseObject ( )

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

References $_POST, $tpl, ilUserUtil\getNamePresentation(), and ilUtil\sendFailure().

1705  {
1706  global $tpl;
1707 
1708  $this->parent_gui->handleWriteAccess();
1709 
1710  $appr_ids = $_POST["appr_id"];
1711 
1712  if(!sizeof($appr_ids))
1713  {
1714  ilUtil::sendFailure($this->lng->txt("select_one"), true);
1715  $this->ctrl->redirect($this, "listAppraisees");
1716  }
1717 
1718  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
1719  $cgui = new ilConfirmationGUI();
1720  $cgui->setHeaderText($this->lng->txt("survey_360_sure_appraisee_close_admin"));
1721 
1722  $cgui->setFormAction($this->ctrl->getFormAction($this, "adminAppraiseesClose"));
1723  $cgui->setCancel($this->lng->txt("cancel"), "listAppraisees");
1724  $cgui->setConfirm($this->lng->txt("confirm"), "adminAppraiseesClose");
1725 
1726  include_once "Services/User/classes/class.ilUserUtil.php";
1727  foreach($appr_ids as $appr_id)
1728  {
1729  $cgui->addItem("appr_id[]", $appr_id, ilUserUtil::getNamePresentation($appr_id));
1730  }
1731 
1732  $tpl->setContent($cgui->getHTML());
1733  }
$_POST['username']
Definition: cron.php:12
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true)
Default behaviour is:
global $tpl
Definition: ilias.php:8
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Confirmation screen class.
+ Here is the call graph for this function:

◆ confirmAppraiseeCloseCancelObject()

ilSurveyParticipantsGUI::confirmAppraiseeCloseCancelObject ( )

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

1686  {
1687  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1688  }

◆ confirmAppraiseeCloseObject()

ilSurveyParticipantsGUI::confirmAppraiseeCloseObject ( )

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

References $ilUser, and $tpl.

1662  {
1663  global $ilUser, $tpl, $ilTabs;
1664 
1665  $ilTabs->clearTargets();
1666  $ilTabs->setBackTarget($this->lng->txt("menuback"),
1667  $this->ctrl->getLinkTarget($this->parent_gui, "infoScreen"));
1668 
1669  if(!$this->object->isAppraisee($ilUser->getId()))
1670  {
1671  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1672  }
1673 
1674  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
1675  $cgui = new ilConfirmationGUI();
1676  $cgui->setHeaderText($this->lng->txt("survey_360_sure_appraisee_close"));
1677 
1678  $cgui->setFormAction($this->ctrl->getFormAction($this, "appraiseeClose"));
1679  $cgui->setCancel($this->lng->txt("cancel"), "confirmAppraiseeCloseCancel");
1680  $cgui->setConfirm($this->lng->txt("confirm"), "appraiseeClose");
1681 
1682  $tpl->setContent($cgui->getHTML());
1683  }
global $tpl
Definition: ilias.php:8
global $ilUser
Definition: imgupload.php:15
Confirmation screen class.

◆ confirmDeleteAllUserDataObject()

ilSurveyParticipantsGUI::confirmDeleteAllUserDataObject ( )

Deletes all user data of the survey after confirmation.

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

References ilUtil\sendSuccess().

353  {
354  $this->object->deleteAllUserData();
355 
356  // #11558 - re-open closed appraisees
357  if($this->object->get360Mode())
358  {
359  $this->object->openAllAppraisees();
360  }
361 
362  ilUtil::sendSuccess($this->lng->txt("svy_all_user_data_deleted"), true);
363  $this->ctrl->redirect($this, "maintenance");
364  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
+ Here is the call graph for this function:

◆ confirmDeleteAppraiseesObject()

ilSurveyParticipantsGUI::confirmDeleteAppraiseesObject ( )

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

References $_POST, $data, ilUserUtil\getNamePresentation(), and ilUtil\sendFailure().

1165  {
1166  global $ilTabs;
1167 
1168  if(!sizeof($_POST["appr_id"]))
1169  {
1170  ilUtil::sendFailure($this->lng->txt("select_one"), true);
1171  $this->ctrl->redirect($this, "listAppraisees");
1172  }
1173 
1174  $ilTabs->clearTargets();
1175  $ilTabs->setBackTarget($this->lng->txt("btn_back"),
1176  $this->ctrl->getLinkTarget($this, "listAppraisees"));
1177 
1178  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
1179  $cgui = new ilConfirmationGUI();
1180  $cgui->setHeaderText($this->lng->txt("survey_360_sure_delete_appraises"));
1181 
1182  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteAppraisees"));
1183  $cgui->setCancel($this->lng->txt("cancel"), "listAppraisees");
1184  $cgui->setConfirm($this->lng->txt("confirm"), "deleteAppraisees");
1185 
1186  $data = $this->object->getAppraiseesData();
1187 
1188  $count = 0;
1189  include_once "Services/User/classes/class.ilUserUtil.php";
1190  foreach ($_POST["appr_id"] as $id)
1191  {
1192  if(isset($data[$id]) && !$data[$id]["closed"])
1193  {
1194  $cgui->addItem("appr_id[]", $id, ilUserUtil::getNamePresentation($id));
1195  $count++;
1196  }
1197  }
1198 
1199  if(!$count)
1200  {
1201  ilUtil::sendFailure($this->lng->txt("select_one"), true);
1202  $this->ctrl->redirect($this, "listAppraisees");
1203  }
1204 
1205  $this->tpl->setContent($cgui->getHTML());
1206  }
$_POST['username']
Definition: cron.php:12
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true)
Default behaviour is:
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Confirmation screen class.
+ Here is the call graph for this function:

◆ confirmDeleteRatersObject()

ilSurveyParticipantsGUI::confirmDeleteRatersObject ( )

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

References $_POST, $data, ilUserUtil\getNamePresentation(), handleRatersAccess(), and ilUtil\sendFailure().

1407  {
1408  global $ilTabs;
1409 
1410  $appr_id = $this->handleRatersAccess();
1411  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1412  if(!sizeof($_POST["rtr_id"]))
1413  {
1414  ilUtil::sendFailure($this->lng->txt("select_one"), true);
1415  $this->ctrl->redirect($this, "editRaters");
1416  }
1417 
1418  $ilTabs->clearTargets();
1419  $ilTabs->setBackTarget($this->lng->txt("btn_back"),
1420  $this->ctrl->getLinkTarget($this, "editRaters"));
1421 
1422  include_once "Services/User/classes/class.ilUserUtil.php";
1423  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
1424  $cgui = new ilConfirmationGUI();
1425  $cgui->setHeaderText(sprintf($this->lng->txt("survey_360_sure_delete_raters"),
1426  ilUserUtil::getNamePresentation($appr_id)));
1427 
1428  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteRaters"));
1429  $cgui->setCancel($this->lng->txt("cancel"), "editRaters");
1430  $cgui->setConfirm($this->lng->txt("confirm"), "deleteRaters");
1431 
1432  $data = $this->object->getRatersData($appr_id);
1433 
1434  foreach ($_POST["rtr_id"] as $id)
1435  {
1436  if(isset($data[$id]))
1437  {
1438  $cgui->addItem("rtr_id[]", $id, $data[$id]["lastname"].", ".
1439  $data[$id]["firstname"]." (".$data[$id]["email"].")");
1440  }
1441  }
1442 
1443  $this->tpl->setContent($cgui->getHTML());
1444  }
$_POST['username']
Definition: cron.php:12
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true)
Default behaviour is:
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Confirmation screen class.
+ Here is the call graph for this function:

◆ confirmDeleteSelectedUserDataObject()

ilSurveyParticipantsGUI::confirmDeleteSelectedUserDataObject ( )

Deletes all user data for the test object.

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

References $_POST, and ilUtil\sendSuccess().

378  {
379  $this->object->removeSelectedSurveyResults($_POST["chbUser"]);
380  ilUtil::sendSuccess($this->lng->txt("svy_selected_user_data_deleted"), true);
381  $this->ctrl->redirect($this, "maintenance");
382  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
+ Here is the call graph for this function:

◆ createSurveyCodesObject()

ilSurveyParticipantsGUI::createSurveyCodesObject ( )

Create access codes for the survey.

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

References $_POST, ilUtil\sendFailure(), and ilUtil\sendSuccess().

740  {
741  if (is_numeric($_POST["nrOfCodes"]))
742  {
743  $ids = $this->object->createSurveyCodes($_POST["nrOfCodes"]);
744  ilUtil::sendSuccess($this->lng->txt('codes_created'), true);
745  $this->ctrl->setParameter($this, "new_ids", implode(";", $ids));
746  $this->ctrl->redirect($this, 'editCodes');
747  }
748  else
749  {
750  ilUtil::sendFailure($this->lng->txt("enter_valid_number_of_codes"), true);
751  $this->ctrl->redirect($this, 'codes');
752  }
753  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ deleteAllUserDataObject()

ilSurveyParticipantsGUI::deleteAllUserDataObject ( )

Creates a confirmation form for delete all user data.

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

339  {
340  include_once "Services/Utilities/classes/class.ilConfirmationGUI.php";
341  $cgui = new ilConfirmationGUI();
342  $cgui->setHeaderText($this->lng->txt("confirm_delete_all_user_data"));
343  $cgui->setFormAction($this->ctrl->getFormAction($this, "deleteAllUserData"));
344  $cgui->setCancel($this->lng->txt("cancel"), "cancelDeleteAllUserData");
345  $cgui->setConfirm($this->lng->txt("confirm"), "confirmDeleteAllUserData");
346  $this->tpl->setContent($cgui->getHTML());
347  }
Confirmation screen class.

◆ deleteAppraiseesObject()

ilSurveyParticipantsGUI::deleteAppraiseesObject ( )

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

References $_POST, $data, and ilUtil\sendSuccess().

1209  {
1210  if(sizeof($_POST["appr_id"]))
1211  {
1212  $data = $this->object->getAppraiseesData();
1213 
1214  foreach ($_POST["appr_id"] as $id)
1215  {
1216  // #11285
1217  if(isset($data[$id]) && !$data[$id]["closed"])
1218  {
1219  $this->object->deleteAppraisee($id);
1220  }
1221  }
1222 
1223  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
1224  }
1225 
1226  $this->ctrl->redirect($this, "listAppraisees");
1227  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
+ Here is the call graph for this function:

◆ deleteCodesConfirmObject()

ilSurveyParticipantsGUI::deleteCodesConfirmObject ( )

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

References $_POST, $data, and ilUtil\sendFailure().

568  {
569  if (is_array($_POST["chb_code"]) && (count($_POST["chb_code"]) > 0))
570  {
571  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
572  $cgui = new ilConfirmationGUI();
573  $cgui->setHeaderText($this->lng->txt("survey_code_delete_sure"));
574 
575  $cgui->setFormAction($this->ctrl->getFormAction($this));
576  $cgui->setCancel($this->lng->txt("cancel"), "codes");
577  $cgui->setConfirm($this->lng->txt("confirm"), "deleteCodes");
578 
579  $data = $this->object->getSurveyCodesTableData($_POST["chb_code"]);
580 
581  foreach ($data as $item)
582  {
583  if($item["used"])
584  {
585  continue;
586  }
587 
588  $title = array($item["code"]);
589  $item["email"] ? $title[] = $item["email"] : null;
590  $item["last_name"] ? $title[] = $item["last_name"] : null;
591  $item["first_name"] ? $title[] = $item["first_name"] : null;
592  $title = implode(", ", $title);
593 
594  $cgui->addItem("chb_code[]", $item["code"], $title);
595  }
596 
597  $this->tpl->setContent($cgui->getHTML());
598  }
599  else
600  {
601  ilUtil::sendFailure($this->lng->txt('no_checkbox'), true);
602  $this->ctrl->redirect($this, 'codes');
603  }
604  }
$_POST['username']
Definition: cron.php:12
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Confirmation screen class.
+ Here is the call graph for this function:

◆ deleteCodesObject()

ilSurveyParticipantsGUI::deleteCodesObject ( )

Delete a list of survey codes.

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

References $_POST, ilUtil\sendInfo(), and ilUtil\sendSuccess().

610  {
611  if (is_array($_POST["chb_code"]) && (count($_POST["chb_code"]) > 0))
612  {
613  foreach ($_POST["chb_code"] as $survey_code)
614  {
615  $this->object->deleteSurveyCode($survey_code);
616  }
617  ilUtil::sendSuccess($this->lng->txt('codes_deleted'), true);
618  }
619  else
620  {
621  ilUtil::sendInfo($this->lng->txt('no_checkbox'), true);
622  }
623  $this->ctrl->redirect($this, 'codes');
624  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
+ Here is the call graph for this function:

◆ deleteRatersObject()

ilSurveyParticipantsGUI::deleteRatersObject ( )

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

References $_POST, $data, handleRatersAccess(), and ilUtil\sendSuccess().

1447  {
1448  $appr_id = $this->handleRatersAccess();
1449  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1450 
1451  if(sizeof($_POST["rtr_id"]))
1452  {
1453  $data = $this->object->getRatersData($appr_id);
1454 
1455  foreach ($_POST["rtr_id"] as $id)
1456  {
1457  if(isset($data[$id]))
1458  {
1459  if(substr($id, 0, 1) == "u")
1460  {
1461  $this->object->deleteRater($appr_id, substr($id, 1));
1462  }
1463  else
1464  {
1465  $this->object->deleteRater($appr_id, 0, substr($id, 1));
1466  }
1467  }
1468  }
1469 
1470  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
1471  }
1472 
1473  $this->ctrl->redirect($this, "editRaters");
1474  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
+ Here is the call graph for this function:

◆ deleteSavedMessageObject()

ilSurveyParticipantsGUI::deleteSavedMessageObject ( )

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

References $ilLog, ilUtil\sendFailure(), ilUtil\sendSuccess(), and setCodesSubtabs().

786  {
787  $this->parent_gui->handleWriteAccess();
788  $this->setCodesSubtabs();
789 
790  include_once("./Modules/Survey/classes/forms/FormMailCodesGUI.php");
791  $form_gui = new FormMailCodesGUI($this);
792  $form_gui->setValuesByPost();
793  try
794  {
795  if ($form_gui->getSavedMessages()->getValue() > 0)
796  {
797  $this->object->deleteUserSettings($form_gui->getSavedMessages()->getValue());
798  $form_gui = new FormMailCodesGUI($this);
799  $form_gui->setValuesByPost();
800  ilUtil::sendSuccess($this->lng->txt('msg_message_deleted'));
801  }
802  else
803  {
804  ilUtil::sendFailure($this->lng->txt('msg_no_message_deleted'));
805  }
806  }
807  catch (Exception $e)
808  {
809  global $ilLog;
810  $ilLog->write('Error: ' + $e->getMessage());
811  }
812  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
813  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Class FormMailCodesGUI.
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ deleteSingleUserResultsObject()

ilSurveyParticipantsGUI::deleteSingleUserResultsObject ( )

Asks for a confirmation to delete selected user data of the test object.

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

References $_POST, $data, $total, ilUtil\sendInfo(), and ilUtil\sendQuestion().

397  {
398  $this->parent_gui->handleWriteAccess();
399 
400  if (count($_POST["chbUser"]) == 0)
401  {
402  ilUtil::sendInfo($this->lng->txt('no_checkbox'), true);
403  $this->ctrl->redirect($this, "maintenance");
404  }
405 
406  ilUtil::sendQuestion($this->lng->txt("confirm_delete_single_user_data"));
407  include_once "./Modules/Survey/classes/tables/class.ilSurveyMaintenanceTableGUI.php";
408  $table_gui = new ilSurveyMaintenanceTableGUI($this, 'maintenance', true);
409  $total =& $this->object->getSurveyParticipants();
410  $data = array();
411  foreach ($total as $user_data)
412  {
413  if (in_array($user_data['active_id'], $_POST['chbUser']))
414  {
415  $last_access = $this->object->_getLastAccess($user_data["active_id"]);
416  array_push($data, array(
417  'id' => $user_data["active_id"],
418  'name' => $user_data["sortname"],
419  'login' => $user_data["login"],
420  'last_access' => $last_access
421  ));
422  }
423  }
424  $table_gui->setData($data);
425  $this->tpl->setVariable('ADM_CONTENT', $table_gui->getHTML());
426  }
$_POST['username']
Definition: cron.php:12
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
+ Here is the call graph for this function:

◆ disinviteUserGroupObject()

ilSurveyParticipantsGUI::disinviteUserGroupObject ( )

Disinvite users or groups from a survey.

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

References $_POST, and ilUtil\sendSuccess().

196  {
197  // disinvite users
198  if (is_array($_POST["user_select"]))
199  {
200  foreach ($_POST["user_select"] as $user_id)
201  {
202  $this->object->disinviteUser($user_id);
203  }
204  }
205  ilUtil::sendSuccess($this->lng->txt('msg_users_disinvited'), true);
206  $this->ctrl->redirect($this, "invite");
207  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
+ Here is the call graph for this function:

◆ editCodesObject()

ilSurveyParticipantsGUI::editCodesObject ( )

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

References $_GET, $_POST, ilUtil\sendFailure(), and setCodesSubtabs().

522  {
523  if(isset($_GET["new_ids"]))
524  {
525  $ids = explode(";", $_GET["new_ids"]);
526  }
527  else
528  {
529  $ids = (array)$_POST["chb_code"];
530  }
531  if(!$ids)
532  {
533  ilUtil::sendFailure($this->lng->txt('no_checkbox'), true);
534  $this->ctrl->redirect($this, 'codes');
535  }
536 
537  $this->parent_gui->handleWriteAccess();
538  $this->setCodesSubtabs();
539 
540  include_once "./Modules/Survey/classes/tables/class.ilSurveyCodesEditTableGUI.php";
541  $table_gui = new ilSurveyCodesEditTableGUI($this, 'editCodes');
542  $table_gui->setData($this->object->getSurveyCodesTableData($ids));
543  $this->tpl->setContent($table_gui->getHTML());
544  }
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ editRatersObject()

ilSurveyParticipantsGUI::editRatersObject ( )

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

References $_REQUEST, $ref_id, ilLink\_getStaticLink(), ilRepositorySearchGUI\fillAutoCompleteToolbar(), handleRatersAccess(), and ilTable2GUI\setData().

1253  {
1254  global $ilTabs, $ilToolbar, $ilAccess;
1255 
1256  $appr_id = $_REQUEST["appr_id"] = $this->handleRatersAccess();
1257 
1258  $has_write = $ilAccess->checkAccess("write", "", $this->ref_id);
1259  if($has_write)
1260  {
1261  $ilTabs->clearTargets();
1262  $ilTabs->setBackTarget($this->lng->txt("btn_back"),
1263  $this->ctrl->getLinkTarget($this, "listAppraisees"));
1264  }
1265 
1266  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1267  $this->ctrl->setParameter($this, "rate360", 1);
1268 
1269  include_once './Services/Search/classes/class.ilRepositorySearchGUI.php';
1271  $this,
1272  $ilToolbar,
1273  array(
1274  'auto_complete_name' => $this->lng->txt('user'),
1275  'submit_name' => $this->lng->txt('add'),
1276  'add_search' => true,
1277  'add_from_container' => $this->ref_id
1278  )
1279  );
1280 
1281  $this->ctrl->setParameter($this, "rate360", "");
1282 
1283  $ilToolbar->addSeparator();
1284 
1285  $ilToolbar->addButton($this->lng->txt("survey_360_add_external_rater"),
1286  $this->ctrl->getLinkTarget($this, "addExternalRaterForm"));
1287 
1288  // #13320
1289  require_once "Services/Link/classes/class.ilLink.php";
1290  $url = ilLink::_getStaticLink($this->object->getRefId());
1291 
1292  include_once "Modules/Survey/classes/tables/class.ilSurveyAppraiseesTableGUI.php";
1293  $tbl = new ilSurveyAppraiseesTableGUI($this, "editRaters", true, !$this->object->isAppraiseeClosed($appr_id), $url); // #11285
1294  $tbl->setData($this->object->getRatersData($appr_id));
1295  $this->tpl->setContent($tbl->getHTML());
1296  }
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array())
fill toolbar with
$ref_id
Definition: sahs_server.php:39
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ executeCommand()

ilSurveyParticipantsGUI::executeCommand ( )

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

References $_REQUEST, $cmd, and $ilCtrl.

30  {
31  global $ilCtrl, $ilTabs;
32 
33  $cmd = $ilCtrl->getCmd("maintenance");
34  $next_class = $this->ctrl->getNextClass($this);
35 
36  switch($next_class)
37  {
38  case 'ilrepositorysearchgui':
39  include_once('./Services/Search/classes/class.ilRepositorySearchGUI.php');
40  $rep_search =& new ilRepositorySearchGUI();
41 
42  if(!$_REQUEST["appr360"] && !$_REQUEST["rate360"])
43  {
44  $ilTabs->clearTargets();
45  $ilTabs->setBackTarget($this->lng->txt("btn_back"),
46  $this->ctrl->getLinkTarget($this, "invite"));
47 
48  $rep_search->setCallback($this,
49  'inviteUserGroupObject',
50  array(
51  )
52  );
53 
54  // Set tabs
55  $this->ctrl->setReturn($this, 'invite');
56  $this->ctrl->forwardCommand($rep_search);
57  $ilTabs->setTabActive('invitation');
58  }
59  else if($_REQUEST["rate360"])
60  {
61  $ilTabs->clearTargets();
62  $ilTabs->setBackTarget($this->lng->txt("btn_back"),
63  $this->ctrl->getLinkTarget($this, "listAppraisees"));
64 
65  $this->ctrl->setParameter($this, "rate360", 1);
66  $this->ctrl->saveParameter($this, "appr_id");
67 
68  $rep_search->setCallback($this,
69  'addRater',
70  array(
71  )
72  );
73 
74  // Set tabs
75  $this->ctrl->setReturn($this, 'editRaters');
76  $this->ctrl->forwardCommand($rep_search);
77  }
78  else
79  {
80  $ilTabs->activateTab("survey_360_appraisees");
81  $this->ctrl->setParameter($this, "appr360", 1);
82 
83  $rep_search->setCallback($this,
84  'addAppraisee',
85  array(
86  )
87  );
88 
89  // Set tabs
90  $this->ctrl->setReturn($this, 'listAppraisees');
91  $this->ctrl->forwardCommand($rep_search);
92  }
93  break;
94 
95  default:
96  $cmd .= "Object";
97  $this->$cmd();
98  break;
99  }
100  }
$cmd
Definition: sahs_server.php:35
global $ilCtrl
Definition: ilias.php:18
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7

◆ exportAllCodesObject()

ilSurveyParticipantsGUI::exportAllCodesObject ( )

Exports all survey codes.

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

References ilUtil\deliverData(), and ilUtil\getASCIIFilename().

647  {
648  $export = $this->object->getSurveyCodesForExport();
649  ilUtil::deliverData($export, ilUtil::getASCIIFilename($this->object->getTitle() . ".csv"));
650  }
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
+ Here is the call graph for this function:

◆ exportCodesObject()

ilSurveyParticipantsGUI::exportCodesObject ( )

Exports a list of survey codes.

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

References $_POST, ilUtil\deliverData(), ilUtil\getASCIIFilename(), and ilUtil\sendFailure().

630  {
631  if (is_array($_POST["chb_code"]) && (count($_POST["chb_code"]) > 0))
632  {
633  $export = $this->object->getSurveyCodesForExport(null, $_POST["chb_code"]);
634  ilUtil::deliverData($export, ilUtil::getASCIIFilename($this->object->getTitle() . ".csv"));
635  }
636  else
637  {
638  ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
639  $this->ctrl->redirect($this, 'codes');
640  }
641  }
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
$_POST['username']
Definition: cron.php:12
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ handleRatersAccess()

ilSurveyParticipantsGUI::handleRatersAccess ( )

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

References $_REQUEST, and $ilUser.

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

1230  {
1231  global $ilAccess, $ilUser;
1232 
1233  if ($ilAccess->checkAccess("write", "", $this->ref_id))
1234  {
1235  $appr_id = $_REQUEST["appr_id"];
1236  if(!$appr_id)
1237  {
1238  $this->ctrl->redirect($this, "listAppraisees");
1239  }
1240  return $appr_id;
1241  }
1242  else if($this->object->get360Mode() &&
1243  $this->object->get360SelfRaters() &&
1244  $this->object->isAppraisee($ilUser->getId()) &&
1245  !$this->object->isAppraiseeClosed($ilUser->getId()))
1246  {
1247  return $ilUser->getId();
1248  }
1249  $this->ctrl->redirect($this->parent_gui, "infoScreen");
1250  }
global $ilUser
Definition: imgupload.php:15
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the caller graph for this function:

◆ importAccessCodesActionObject()

ilSurveyParticipantsGUI::importAccessCodesActionObject ( )
protected

Import codes from export codes file.

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

References $reader, $row, IL_CAL_DATE, IL_CAL_DATETIME, IL_CAL_UNIX, and ilUtil\sendSuccess().

687  {
688  if(trim($_FILES['codes']['tmp_name']))
689  {
690  $existing = array();
691  foreach($this->object->getSurveyCodesTableData() as $item)
692  {
693  $existing[$item["code"]] = $item["id"];
694  }
695 
696  include_once "./Services/Utilities/classes/class.ilCSVReader.php";
697  $reader = new ilCSVReader();
698  $reader->open($_FILES['codes']['tmp_name']);
699  foreach($reader->getDataArrayFromCSVFile() as $row)
700  {
701  if(sizeof($row) == 8)
702  {
703  // used/sent/url are not relevant when importing
704  list($code, $email, $last_name, $first_name, $created, $used, $sent, $url) = $row;
705 
706  // unique code?
707  if(!array_key_exists($code, $existing))
708  {
709  // could be date or datetime
710  if(strlen($created) == 10)
711  {
712  $created = new ilDate($created, IL_CAL_DATE);
713  }
714  else
715  {
716  $created = new ilDateTime($created, IL_CAL_DATETIME);
717  }
718  $created = $created->get(IL_CAL_UNIX);
719 
720  $user_data = array(
721  "email" => $email
722  ,"lastname" => $last_name
723  ,"firstname" => $first_name
724  );
725  $this->object->importSurveyCode($code, $created, $user_data);
726  }
727  }
728  }
729 
730  ilUtil::sendSuccess($this->lng->txt('codes_created'), true);
731  }
732 
733  $this->ctrl->redirect($this, 'codes');
734  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
const IL_CAL_DATETIME
const IL_CAL_UNIX
Class for single dates.
Date and time handling
const IL_CAL_DATE
+ Here is the call graph for this function:

◆ importAccessCodesObject()

ilSurveyParticipantsGUI::importAccessCodesObject ( )
protected

Import codes from export codes file (upload form)

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

References setCodesSubtabs(), and ilFormPropertyGUI\setInfo().

656  {
657  $this->parent_gui->handleWriteAccess();
658  $this->setCodesSubtabs();
659 
660  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
661  $form_import_file = new ilPropertyFormGUI();
662  $form_import_file->setFormAction($this->ctrl->getFormAction($this));
663  $form_import_file->setTableWidth("100%");
664  $form_import_file->setId("codes_import_file");
665 
666  $headerfile = new ilFormSectionHeaderGUI();
667  $headerfile->setTitle($this->lng->txt("svy_import_codes"));
668  $form_import_file->addItem($headerfile);
669 
670  $export_file = new ilFileInputGUI($this->lng->txt("codes"), "codes");
671  $export_file->setInfo(sprintf($this->lng->txt('svy_import_codes_info'),
672  $this->lng->txt("export_all_survey_codes")));
673  $export_file->setSuffixes(array("csv"));
674  $export_file->setRequired(true);
675  $form_import_file->addItem($export_file);
676 
677  $form_import_file->addCommandButton("importAccessCodesAction", $this->lng->txt("import"));
678  $form_import_file->addCommandButton("codes", $this->lng->txt("cancel"));
679 
680  $this->tpl->setContent($form_import_file->getHTML());
681  }
This class represents a property form user interface.
This class represents a section header in a property form.
This class represents a file property in a property form.
setInfo($a_info)
Set Information Text.
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ importExternalMailRecipientsFromFileFormObject()

ilSurveyParticipantsGUI::importExternalMailRecipientsFromFileFormObject ( )

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

References $_GET, setCodesSubtabs(), and ilFormPropertyGUI\setInfo().

1028  {
1029  global $ilAccess;
1030 
1031  $this->parent_gui->handleWriteAccess();
1032  $this->setCodesSubtabs();
1033 
1034  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1035  $form_import_file = new ilPropertyFormGUI();
1036  $form_import_file->setFormAction($this->ctrl->getFormAction($this));
1037  $form_import_file->setTableWidth("100%");
1038  $form_import_file->setId("codes_import_file");
1039 
1040  $headerfile = new ilFormSectionHeaderGUI();
1041  $headerfile->setTitle($this->lng->txt("import_from_file"));
1042  $form_import_file->addItem($headerfile);
1043 
1044  $externalmails = new ilFileInputGUI($this->lng->txt("externalmails"), "externalmails");
1045  $externalmails->setInfo($this->lng->txt('externalmails_info'));
1046  $externalmails->setRequired(true);
1047  $form_import_file->addItem($externalmails);
1048  if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) $form_import_file->addCommandButton("importExternalRecipientsFromFile", $this->lng->txt("import"));
1049  if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) $form_import_file->addCommandButton("codes", $this->lng->txt("cancel"));
1050 
1051  $this->tpl->setContent($form_import_file->getHTML());
1052  }
This class represents a property form user interface.
$_GET["client_id"]
This class represents a section header in a property form.
This class represents a file property in a property form.
setInfo($a_info)
Set Information Text.
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ importExternalMailRecipientsFromTextFormObject()

ilSurveyParticipantsGUI::importExternalMailRecipientsFromTextFormObject ( )

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

References $_GET, $_SESSION, setCodesSubtabs(), and ilTextAreaInputGUI\setValue().

1055  {
1056  global $ilAccess;
1057 
1058  $this->parent_gui->handleWriteAccess();
1059  $this->setCodesSubtabs();
1060 
1061  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1062  $form_import_text = new ilPropertyFormGUI();
1063  $form_import_text->setFormAction($this->ctrl->getFormAction($this));
1064  $form_import_text->setTableWidth("100%");
1065  $form_import_text->setId("codes_import_text");
1066 
1067  $headertext = new ilFormSectionHeaderGUI();
1068  $headertext->setTitle($this->lng->txt("import_from_text"));
1069  $form_import_text->addItem($headertext);
1070 
1071  $inp = new ilTextAreaInputGUI($this->lng->txt('externaltext'), 'externaltext');
1072  if (array_key_exists('externaltext', $_SESSION) && strlen($_SESSION['externaltext']))
1073  {
1074  $inp->setValue($_SESSION['externaltext']);
1075  }
1076  else
1077  {
1078  // $this->lng->txt('mail_import_example1') #14897
1079  $inp->setValue("email;firstname;lastname\n" . $this->lng->txt('mail_import_example2') . "\n" . $this->lng->txt('mail_import_example3') . "\n");
1080  }
1081  $inp->setRequired(true);
1082  $inp->setCols(80);
1083  $inp->setRows(10);
1084  $inp->setInfo($this->lng->txt('externaltext_info'));
1085  $form_import_text->addItem($inp);
1086  unset($_SESSION['externaltext']);
1087 
1088  if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) $form_import_text->addCommandButton("importExternalRecipientsFromText", $this->lng->txt("import"));
1089  if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) $form_import_text->addCommandButton("codes", $this->lng->txt("cancel"));
1090 
1091  $this->tpl->setContent($form_import_text->getHTML());
1092  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
This class represents a property form user interface.
$_GET["client_id"]
This class represents a section header in a property form.
setValue($a_value)
Set Value.
This class represents a text area property in a property form.
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ importExternalRecipientsFromFileObject()

ilSurveyParticipantsGUI::importExternalRecipientsFromFileObject ( )

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

References $data, $reader, $row, _convertCharset(), removeUTF8Bom(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

955  {
956  if (trim($_FILES['externalmails']['tmp_name']))
957  {
958  include_once "./Services/Utilities/classes/class.ilCSVReader.php";
959  $reader = new ilCSVReader();
960  $reader->open($_FILES['externalmails']['tmp_name']);
961  $data = $reader->getDataArrayFromCSVFile();
962  $fields = array_shift($data);
963  foreach($fields as $idx => $field)
964  {
965  $fields[$idx] = $this->removeUTF8Bom($field);
966  }
967  if (!in_array('email', $fields))
968  {
969  $reader->close();
970  ilUtil::sendFailure($this->lng->txt('err_external_rcp_no_email'), true);
971  $this->ctrl->redirect($this, 'codes');
972  }
973  $existingdata = $this->object->getExternalCodeRecipients();
974  $existingcolumns = array();
975  if (count($existingdata))
976  {
977  $first = array_shift($existingdata);
978  foreach ($first as $key => $value)
979  {
980  array_push($existingcolumns, $key);
981  }
982  }
983 
984  include_once "Services/Utilities/classes/class.ilStr.php";
985 
986  $founddata = array();
987  foreach ($data as $row)
988  {
989  if (count($row) == count($fields))
990  {
991  $dataset = array();
992  foreach ($fields as $idx => $fieldname)
993  {
994  // #14811
995  $row[$idx] = $this->_convertCharset($row[$idx]);
996 
997  if (count($existingcolumns))
998  {
999  if (array_key_exists($idx, $existingcolumns))
1000  {
1001  $dataset[$fieldname] = $row[$idx];
1002  }
1003  }
1004  else
1005  {
1006  $dataset[$fieldname] = $row[$idx];
1007  }
1008  }
1009  if (strlen($dataset['email']))
1010  {
1011  array_push($founddata, $dataset);
1012  }
1013  }
1014  }
1015  $reader->close();
1016 
1017  if(sizeof($founddata))
1018  {
1019  $this->object->createSurveyCodesForExternalData($founddata);
1020  ilUtil::sendSuccess($this->lng->txt('external_recipients_imported'), true);
1021  }
1022  }
1023 
1024  $this->ctrl->redirect($this, 'codes');
1025  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
_convertCharset($a_string, $a_from_charset="", $a_to_charset="UTF-8")
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ importExternalRecipientsFromTextObject()

ilSurveyParticipantsGUI::importExternalRecipientsFromTextObject ( )

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

References $_POST, $_SESSION, $data, $row, ilUtil\sendFailure(), and ilUtil\sendSuccess().

874  {
875  if (trim($_POST['externaltext']))
876  {
877  $data = preg_split("/[\n\r]/", $_POST['externaltext']);
878  $fields = preg_split("/;/", array_shift($data));
879  if (!in_array('email', $fields))
880  {
881  $_SESSION['externaltext'] = $_POST['externaltext'];
882  ilUtil::sendFailure($this->lng->txt('err_external_rcp_no_email_column'), true);
883  $this->ctrl->redirect($this, 'importExternalMailRecipientsFromTextForm');
884  }
885  $existingdata = $this->object->getExternalCodeRecipients();
886  $existingcolumns = array();
887  if (count($existingdata))
888  {
889  $first = array_shift($existingdata);
890  foreach ($first as $key => $value)
891  {
892  array_push($existingcolumns, $key);
893  }
894  }
895  $founddata = array();
896  foreach ($data as $datarow)
897  {
898  $row = preg_split("/;/", $datarow);
899  if (count($row) == count($fields))
900  {
901  $dataset = array();
902  foreach ($fields as $idx => $fieldname)
903  {
904  if (count($existingcolumns))
905  {
906  if (array_key_exists($idx, $existingcolumns))
907  {
908  $dataset[$fieldname] = $row[$idx];
909  }
910  }
911  else
912  {
913  $dataset[$fieldname] = $row[$idx];
914  }
915  }
916  if (strlen($dataset['email']))
917  {
918  array_push($founddata, $dataset);
919  }
920  }
921  }
922  $this->object->createSurveyCodesForExternalData($founddata);
923  ilUtil::sendSuccess($this->lng->txt('external_recipients_imported'), true);
924  $this->ctrl->redirect($this, 'codes');
925  }
926 
927  $this->ctrl->redirect($this, 'importExternalMailRecipientsFromTextForm');
928  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ initExternalRaterForm()

ilSurveyParticipantsGUI::initExternalRaterForm (   $appr_id)
protected

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

References ilTextInputGUI\setSize().

Referenced by addExternalRaterFormObject(), and addExternalRaterObject().

1322  {
1323  include_once "Services/User/classes/class.ilUserUtil.php";
1324  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1325  $form = new ilPropertyFormGUI();
1326  $form->setFormAction($this->ctrl->getFormAction($this, "addExternalRater"));
1327  $form->setTitle($this->lng->txt("survey_360_add_external_rater").
1328  ": ".ilUserUtil::getNamePresentation($appr_id));
1329 
1330  $email = new ilEmailInputGUI($this->lng->txt("email"), "email");
1331  $email->setRequired(true);
1332  $form->addItem($email);
1333 
1334  $lname = new ilTextInputGUI($this->lng->txt("lastname"), "lname");
1335  $lname->setSize(30);
1336  $form->addItem($lname);
1337 
1338  $fname = new ilTextInputGUI($this->lng->txt("firstname"), "fname");
1339  $fname->setSize(30);
1340  $form->addItem($fname);
1341 
1342  $form->addCommandButton("addExternalRater", $this->lng->txt("save"));
1343  $form->addCommandButton("editRaters", $this->lng->txt("cancel"));
1344 
1345  return $form;
1346  }
This class represents a property form user interface.
setSize($a_size)
Set Size.
This class represents a text property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initMailRatersForm()

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

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

References ilFormPropertyGUI\setRequired(), and ilTextInputGUI\setSize().

Referenced by mailRatersActionObject(), and mailRatersObject().

1490  {
1491  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1492  $form = new ilPropertyFormGUI();
1493  $form->setFormAction($this->ctrl->getFormAction($this, "mailRatersAction"));
1494  $form->setTitle($this->lng->txt('compose'));
1495 
1496  $all_data = $this->object->getRatersData($appr_id);
1497  $rec_data = array();
1498  foreach($rec_ids as $rec_id)
1499  {
1500  if(isset($all_data[$rec_id]))
1501  {
1502  $rec_data[] = $all_data[$rec_id]["lastname"].", ".
1503  $all_data[$rec_id]["firstname"].
1504  " (".$all_data[$rec_id]["email"].")";
1505  }
1506  }
1507  sort($rec_data);
1508  $rec = new ilCustomInputGUI($this->lng->txt('recipients'));
1509  $rec->setHTML(implode("<br />", $rec_data));
1510  $form->addItem($rec);
1511 
1512  $subject = new ilTextInputGUI($this->lng->txt('subject'), 'subject');
1513  $subject->setSize(50);
1514  $subject->setRequired(true);
1515  $form->addItem($subject);
1516 
1517  $existingdata = $this->object->getExternalCodeRecipients();
1518  $existingcolumns = array();
1519  if (count($existingdata))
1520  {
1521  $first = array_shift($existingdata);
1522  foreach ($first as $key => $value)
1523  {
1524  if (strcmp($key, 'code') != 0 && strcmp($key, 'email') != 0 && strcmp($key, 'sent') != 0) array_push($existingcolumns, '[' . $key . ']');
1525  }
1526  }
1527 
1528  $mailmessage_u = new ilTextAreaInputGUI($this->lng->txt('survey_360_rater_message_content_registered'), 'message_u');
1529  $mailmessage_u->setRequired(true);
1530  $mailmessage_u->setCols(80);
1531  $mailmessage_u->setRows(10);
1532  $form->addItem($mailmessage_u);
1533 
1534  $mailmessage_a = new ilTextAreaInputGUI($this->lng->txt('survey_360_rater_message_content_anonymous'), 'message_a');
1535  $mailmessage_a->setRequired(true);
1536  $mailmessage_a->setCols(80);
1537  $mailmessage_a->setRows(10);
1538  $mailmessage_a->setInfo(sprintf($this->lng->txt('message_content_info'), join($existingcolumns, ', ')));
1539  $form->addItem($mailmessage_a);
1540 
1541  $recf = new ilHiddenInputGUI("rtr_id");
1542  $recf->setValue(implode(";", $rec_ids));
1543  $form->addItem($recf);
1544 
1545  $form->addCommandButton("mailRatersAction", $this->lng->txt("send"));
1546  $form->addCommandButton("editRaters", $this->lng->txt("cancel"));
1547 
1548  $subject->setValue(sprintf($this->lng->txt('survey_360_rater_subject_default'), $this->object->getTitle()));
1549  $mailmessage_u->setValue($this->lng->txt('survey_360_rater_message_content_registered_default'));
1550  $mailmessage_a->setValue($this->lng->txt('survey_360_rater_message_content_anonymous_default'));
1551 
1552  return $form;
1553  }
This class represents a property form user interface.
This class represents a hidden form property in a property form.
setSize($a_size)
Set Size.
This class represents a text property in a property form.
This class represents a custom property in a property form.
This class represents a text area property in a property form.
setRequired($a_required)
Set Required.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertSavedMessageObject()

ilSurveyParticipantsGUI::insertSavedMessageObject ( )

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

References $ilLog, $ilUser, ilUtil\sendFailure(), ilUtil\sendSuccess(), and setCodesSubtabs().

756  {
757  $this->parent_gui->handleWriteAccess();
758  $this->setCodesSubtabs();
759 
760  include_once("./Modules/Survey/classes/forms/FormMailCodesGUI.php");
761  $form_gui = new FormMailCodesGUI($this);
762  $form_gui->setValuesByPost();
763  try
764  {
765  if ($form_gui->getSavedMessages()->getValue() > 0)
766  {
767  global $ilUser;
768  $settings = $this->object->getUserSettings($ilUser->getId(), 'savemessage');
769  $form_gui->getMailMessage()->setValue($settings[$form_gui->getSavedMessages()->getValue()]['value']);
770  ilUtil::sendSuccess($this->lng->txt('msg_message_inserted'));
771  }
772  else
773  {
774  ilUtil::sendFailure($this->lng->txt('msg_no_message_inserted'));
775  }
776  }
777  catch (Exception $e)
778  {
779  global $ilLog;
780  $ilLog->write('Error: ' + $e->getMessage());
781  }
782  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
783  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
global $ilUser
Definition: imgupload.php:15
Class FormMailCodesGUI.
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ inviteObject()

ilSurveyParticipantsGUI::inviteObject ( )

Creates the output for user/group invitation to a survey.

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

References $lng, ilRepositorySearchGUI\fillAutoCompleteToolbar(), setCodesSubtabs(), and ilFormPropertyGUI\setInfo().

264  {
265  global $ilAccess;
266  global $rbacsystem;
267  global $ilToolbar;
268  global $lng;
269 
270  $this->parent_gui->handleWriteAccess();
271  $this->setCodesSubtabs();
272 
273  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
274  $form = new ilPropertyFormGUI();
275  $form->setFormAction($this->ctrl->getFormAction($this));
276  $form->setTableWidth("500");
277  $form->setId("invite");
278 
279  // invitation
280  $header = new ilFormSectionHeaderGUI();
281  $header->setTitle($this->lng->txt("invitation"));
282  $form->addItem($header);
283 
284  // invitation mode
285  $invitation = new ilRadioGroupInputGUI($this->lng->txt('invitation_mode'), "invitation");
286  $invitation->setInfo($this->lng->txt('invitation_mode_desc'));
287  $invitation->addOption(new ilRadioOption($this->lng->txt("invitation_off"), 0, ''));
288  $surveySetting = new ilSetting("survey");
289  if ($surveySetting->get("unlimited_invitation"))
290  {
291  $invitation->addOption(new ilRadioOption($this->lng->txt("unlimited_users"), 1, ''));
292  }
293  $invitation->addOption(new ilRadioOption($this->lng->txt("predefined_users"), 2, ''));
294  $inv = 0;
295  if ($this->object->getInvitation())
296  {
297  $inv = $this->object->getInvitationMode() + 1;
298  }
299  $invitation->setValue($inv);
300  $form->addItem($invitation);
301 
302  $form->addCommandButton("saveInvitationStatus", $this->lng->txt("save"));
303 
304  $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_svy_svy_invite.html", "Modules/Survey");
305  $this->tpl->setVariable("INVITATION_TABLE", $form->getHTML());
306 
307  if ($this->object->getInvitation() && $this->object->getInvitationMode() == 1)
308  {
309  // search button
310  include_once './Services/Search/classes/class.ilRepositorySearchGUI.php';
312  $this,
313  $tb,
314  array(
315  'auto_complete_name' => $lng->txt('user'),
316  'submit_name' => $lng->txt('svy_invite_action')
317  )
318  );
319 
320  $ilToolbar->addSpacer();
321 
322  $ilToolbar->addButton($this->lng->txt("svy_search_users"),
323  $this->ctrl->getLinkTargetByClass('ilRepositorySearchGUI',''));
324 
325  $this->tpl->setVariable("ADM_CONTENT", $form->getHTML());
326 
327  $invited_users = $this->object->getUserData($this->object->getInvitedUsers());
328  include_once "./Modules/Survey/classes/tables/class.ilSurveyInvitedUsersTableGUI.php";
329  $table_gui = new ilSurveyInvitedUsersTableGUI($this, 'invite');
330  $table_gui->setData($invited_users);
331  $this->tpl->setVariable('TBL_INVITED_USERS', $table_gui->getHTML());
332  }
333  }
This class represents an option in a radio group.
ILIAS Setting Class.
This class represents a property form user interface.
This class represents a section header in a property form.
setInfo($a_info)
Set Information Text.
This class represents a property in a property form.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array())
fill toolbar with
global $lng
Definition: privfeed.php:40
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ inviteUserGroupObject()

ilSurveyParticipantsGUI::inviteUserGroupObject (   $a_user_ids = array())

Invite users or groups to a survey.

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

References ilUtil\sendFailure(), and ilUtil\sendSuccess().

213  {
214  $invited = 0;
215  // add users to invitation
216  if (is_array($a_user_ids))
217  {
218  foreach ($a_user_ids as $user_id)
219  {
220  $this->object->inviteUser($user_id);
221  $invited++;
222  }
223  }
224  if ($invited == 0)
225  {
226  ilUtil::sendFailure($this->lng->txt('no_user_invited'), TRUE);
227  return false;
228  }
229  else
230  {
231  ilUtil::sendSuccess(sprintf($this->lng->txt('users_invited'), $invited), TRUE);
232  return false;
233  }
234  $this->ctrl->redirect($this, "invite");
235  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ listAppraiseesObject()

ilSurveyParticipantsGUI::listAppraiseesObject ( )

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

References $ilCtrl, $lng, $ref_id, and ilRepositorySearchGUI\fillAutoCompleteToolbar().

Referenced by maintenanceObject().

1111  {
1112  global $ilToolbar, $lng, $ilCtrl;
1113 
1114  $this->parent_gui->handleWriteAccess();
1115 
1116  $this->ctrl->setParameter($this, "appr360", 1);
1117 
1118  include_once './Services/Search/classes/class.ilRepositorySearchGUI.php';
1120  $this,
1121  $ilToolbar,
1122  array(
1123  'auto_complete_name' => $this->lng->txt('user'),
1124  'submit_name' => $this->lng->txt('add'),
1125  'add_search' => true,
1126  'add_from_container' => $this->ref_id
1127  )
1128  );
1129 
1130  // competence calculations
1131  include_once("./Services/Skill/classes/class.ilSkillManagementSettings.php");
1132  $skmg_set = new ilSkillManagementSettings();
1133  if ($this->object->get360SkillService() && $skmg_set->isActivated())
1134  {
1135  $ilToolbar->addSeparator();
1136  $ilToolbar->addButton($lng->txt("survey_calc_skills"),
1137  $ilCtrl->getLinkTargetByClass("ilsurveyskilldeterminationgui"), "");
1138  }
1139 
1140 
1141  $this->ctrl->setParameter($this, "appr360", "");
1142 
1143  include_once "Modules/Survey/classes/tables/class.ilSurveyAppraiseesTableGUI.php";
1144  $tbl = new ilSurveyAppraiseesTableGUI($this, "listAppraisees");
1145  $tbl->setData($this->object->getAppraiseesData());
1146  $this->tpl->setContent($tbl->getHTML());
1147  }
global $ilCtrl
Definition: ilias.php:18
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array())
fill toolbar with
$ref_id
Definition: sahs_server.php:39
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mailCodesObject()

ilSurveyParticipantsGUI::mailCodesObject ( )

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

References $_POST, and setCodesSubtabs().

816  {
817  $this->parent_gui->handleWriteAccess();
818  $this->setCodesSubtabs();
819 
820  $mailData['m_subject'] = (array_key_exists('m_subject', $_POST)) ? $_POST['m_subject'] : sprintf($this->lng->txt('default_codes_mail_subject'), $this->object->getTitle());
821  $mailData['m_message'] = (array_key_exists('m_message', $_POST)) ? $_POST['m_message'] : $this->lng->txt('default_codes_mail_message');
822  $mailData['m_notsent'] = (array_key_exists('m_notsent', $_POST)) ? $_POST['m_notsent'] : '1';
823 
824  include_once("./Modules/Survey/classes/forms/FormMailCodesGUI.php");
825  $form_gui = new FormMailCodesGUI($this);
826  $form_gui->setValuesByArray($mailData);
827  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
828  }
$_POST['username']
Definition: cron.php:12
Class FormMailCodesGUI.
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ mailRatersActionObject()

ilSurveyParticipantsGUI::mailRatersActionObject ( )

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

References $_POST, $ilUser, ilLink\_getStaticLink(), handleRatersAccess(), initMailRatersForm(), mailRatersObject(), and ilUtil\sendSuccess().

1581  {
1582  global $ilUser;
1583 
1584  $appr_id = $this->handleRatersAccess();
1585  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1586 
1587  $rec_ids = explode(";", $_POST["rtr_id"]);
1588  if(!sizeof($rec_ids))
1589  {
1590  $this->ctrl->redirect($this, "editRaters");
1591  }
1592 
1593  $form = $this->initMailRatersForm($appr_id, $rec_ids);
1594  if($form->checkInput())
1595  {
1596  $txt_u = $form->getInput("message_u");
1597  $txt_a = $form->getInput("message_a");
1598  $subj = $form->getInput("subject");
1599 
1600  // #12743
1601  $sender_id = (trim($ilUser->getEmail()))
1602  ? $ilUser->getId()
1603  : ANONYMOUS_USER_ID;
1604 
1605  include_once "./Services/Mail/classes/class.ilMail.php";
1606 
1607  $all_data = $this->object->getRatersData($appr_id);
1608  foreach($rec_ids as $rec_id)
1609  {
1610  if(isset($all_data[$rec_id]))
1611  {
1612 
1613  $user = $all_data[$rec_id];
1614 
1615  // anonymous
1616  if(substr($rec_id, 0, 1) == "a")
1617  {
1618  $mytxt = $txt_a;
1619  $url = $user["href"];
1620  $rcp = $user["email"];
1621  }
1622  // reg
1623  else
1624  {
1625  $mytxt = $txt_u;
1626  $user["code"] = $this->lng->txt("survey_code_mail_on_demand");
1627  $url = ilLink::_getStaticLink($this->object->getRefId());
1628  $rcp = $user["login"]; // #15141
1629  }
1630 
1631  $mytxt = str_replace("[lastname]", $user["lastname"], $mytxt);
1632  $mytxt = str_replace("[firstname]", $user["firstname"], $mytxt);
1633  $mytxt = str_replace("[url]", $url, $mytxt);
1634  $mytxt = str_replace("[code]", $user["code"], $mytxt);
1635 
1636  $mail = new ilMail($sender_id);
1637  $mail->sendMail(
1638  $rcp, // to
1639  "", // cc
1640  "", // bcc
1641  $subj, // subject
1642  $mytxt, // message
1643  array(), // attachments
1644  array('normal') // type
1645  );
1646 
1647  $this->object->set360RaterSent($appr_id,
1648  (substr($rec_id, 0, 1) == "a") ? 0 : (int)substr($rec_id, 1),
1649  (substr($rec_id, 0, 1) == "u") ? 0 : (int)substr($rec_id, 1));
1650  }
1651  }
1652 
1653  ilUtil::sendSuccess($this->lng->txt("mail_sent"), true);
1654  $this->ctrl->redirect($this, "editRaters");
1655  }
1656 
1657  $form->setValuesByPost();
1658  $this->mailRatersObject($form);
1659  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
initMailRatersForm($appr_id, array $rec_ids)
Class Mail this class handles base functions for mail handling.
global $ilUser
Definition: imgupload.php:15
mailRatersObject(ilPropertyFormGUI $a_form=null)
+ Here is the call graph for this function:

◆ mailRatersObject()

ilSurveyParticipantsGUI::mailRatersObject ( ilPropertyFormGUI  $a_form = null)

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

References $_POST, handleRatersAccess(), initMailRatersForm(), and ilUtil\sendFailure().

Referenced by mailRatersActionObject().

1556  {
1557  global $ilTabs;
1558 
1559  if(!$a_form)
1560  {
1561  $appr_id = $this->handleRatersAccess();
1562  $this->ctrl->setParameter($this, "appr_id", $appr_id);
1563 
1564  if(!sizeof($_POST["rtr_id"]))
1565  {
1566  ilUtil::sendFailure($this->lng->txt("select_one"), true);
1567  $this->ctrl->redirect($this, "editRaters");
1568  }
1569 
1570  $a_form = $this->initMailRatersForm($appr_id, $_POST["rtr_id"]);
1571  }
1572 
1573  $ilTabs->clearTargets();
1574  $ilTabs->setBackTarget($this->lng->txt("btn_back"),
1575  $this->ctrl->getLinkTarget($this, "editRaters"));
1576 
1577  $this->tpl->setContent($a_form->getHTML());
1578  }
$_POST['username']
Definition: cron.php:12
initMailRatersForm($appr_id, array $rec_ids)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ maintenanceObject()

ilSurveyParticipantsGUI::maintenanceObject ( )

Participants maintenance.

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

References $_GET, $data, $total, listAppraiseesObject(), and setCodesSubtabs().

106  {
107  if($this->object->get360Mode())
108  {
109  return $this->listAppraiseesObject();
110  }
111 
112  $this->parent_gui->handleWriteAccess();
113  $this->setCodesSubtabs();
114 
115  if (DEVMODE && $_GET["fill"] > 0)
116  {
117  for ($i = 0; $i < $_GET["fill"]; $i++) $this->object->fillSurveyForUser();
118  }
119  include_once "./Modules/Survey/classes/tables/class.ilSurveyMaintenanceTableGUI.php";
120  $table_gui = new ilSurveyMaintenanceTableGUI($this, 'maintenance');
121  $total =& $this->object->getSurveyParticipants();
122  $data = array();
123  foreach ($total as $user_data)
124  {
125  $finished = false;
126  if((bool)$user_data["finished"])
127  {
128  $finished = $user_data["finished_tstamp"];
129  }
130  $wt = $this->object->getWorkingtimeForParticipant($user_data["active_id"]);
131  $last_access = $this->object->_getLastAccess($user_data["active_id"]);
132  array_push($data, array(
133  'id' => $user_data["active_id"],
134  'name' => $user_data["sortname"],
135  'login' => $user_data["login"],
136  'last_access' => $last_access,
137  'workingtime' => $wt,
138  'finished' => $finished
139  ));
140  }
141  $table_gui->setData($data);
142  $this->tpl->setVariable('ADM_CONTENT', $table_gui->getHTML());
143  }
$_GET["client_id"]
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ removeUTF8Bom()

ilSurveyParticipantsGUI::removeUTF8Bom (   $a_text)
protected

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

Referenced by importExternalRecipientsFromFileObject().

949  {
950  $bom = pack('H*','EFBBBF');
951  return preg_replace('/^'.$bom.'/', '', $a_text);
952  }
+ Here is the caller graph for this function:

◆ saveInvitationStatusObject()

ilSurveyParticipantsGUI::saveInvitationStatusObject ( )

Saves the status of the invitation tab.

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

References $_POST, ilObjSurvey\INVITATION_OFF, ilObjSurvey\INVITATION_ON, ilObjSurvey\MODE_PREDEFINED_USERS, ilObjSurvey\MODE_UNLIMITED, and ilUtil\sendSuccess().

241  {
242  $mode = $_POST['invitation'];
243  switch ($mode)
244  {
245  case 0:
246  $this->object->setInvitation(ilObjSurvey::INVITATION_OFF);
247  break;
248  case 1:
249  $this->object->setInvitationAndMode(ilObjSurvey::INVITATION_ON, ilObjSurvey::MODE_UNLIMITED);
250  break;
251  case 2:
252  $this->object->setInvitationAndMode(ilObjSurvey::INVITATION_ON, ilObjSurvey::MODE_PREDEFINED_USERS);
253  break;
254  }
255  $this->object->saveToDb();
256  ilUtil::sendSuccess($this->lng->txt('msg_obj_modified'), true);
257  $this->ctrl->redirect($this, "invite");
258  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
const MODE_PREDEFINED_USERS
+ Here is the call graph for this function:

◆ sendCodesMailObject()

ilSurveyParticipantsGUI::sendCodesMailObject ( )

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

References $_POST, $ilUser, $lang, ilUtil\sendFailure(), ilUtil\sendSuccess(), and setCodesSubtabs().

831  {
832  global $ilUser;
833 
834  $this->parent_gui->handleWriteAccess();
835  $this->setCodesSubtabs();
836 
837  include_once("./Modules/Survey/classes/forms/FormMailCodesGUI.php");
838  $form_gui = new FormMailCodesGUI($this);
839  if ($form_gui->checkInput())
840  {
841  $code_exists = strpos($_POST['m_message'], '[code]') !== FALSE;
842  if (!$code_exists)
843  {
844  if (!$code_exists) ilUtil::sendFailure($this->lng->txt('please_enter_mail_code'));
845  $form_gui->setValuesByPost();
846  }
847  else
848  {
849  if ($_POST['savemessage'] == 1)
850  {
851  global $ilUser;
852  $title = (strlen($_POST['savemessagetitle'])) ? $_POST['savemessagetitle'] : ilStr::substr($_POST['m_message'], 0, 40) . '...';
853  $this->object->saveUserSettings($ilUser->getId(), 'savemessage', $title, $_POST['m_message']);
854  }
855 
856  $lang = $ilUser->getPref("survey_code_language");
857  if(!$lang)
858  {
859  $lang = $this->lng->getDefaultLanguage();
860  }
861  $this->object->sendCodes($_POST['m_notsent'], $_POST['m_subject'], $_POST['m_message'],$lang);
862  ilUtil::sendSuccess($this->lng->txt('mail_sent'), true);
863  $this->ctrl->redirect($this, 'mailCodes');
864  }
865  }
866  else
867  {
868  $form_gui->setValuesByPost();
869  }
870  $this->tpl->setVariable("ADM_CONTENT", $form_gui->getHTML());
871  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
global $ilUser
Definition: imgupload.php:15
Class FormMailCodesGUI.
setCodesSubtabs()
Set the tabs for the access codes section.
+ Here is the call graph for this function:

◆ setCodeLanguageObject()

ilSurveyParticipantsGUI::setCodeLanguageObject ( )

Change survey language for direct access URL's.

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

References $_POST, $ilUser, and ilUtil\sendSuccess().

432  {
433  if (strcmp($_POST["lang"], "-1") != 0)
434  {
435  global $ilUser;
436  $ilUser->writePref("survey_code_language", $_POST["lang"]);
437  }
438  ilUtil::sendSuccess($this->lng->txt('language_changed'), true);
439  $this->ctrl->redirect($this, 'codes');
440  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
global $ilUser
Definition: imgupload.php:15
+ Here is the call graph for this function:

◆ setCodesSubtabs()

ilSurveyParticipantsGUI::setCodesSubtabs ( )

Set the tabs for the access codes section.

private

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

References $data.

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

151  {
152  global $ilTabs;
153 
154  // not used in 360° mode
155 
156  // maintenance
157  $ilTabs->addSubTabTarget("results",
158  $this->ctrl->getLinkTarget($this,'maintenance'),
159  array("maintenance", "deleteAllUserData"),
160  "");
161 
162  if(!$this->object->isAccessibleWithoutCode())
163  {
164  $ilTabs->addSubTabTarget("codes",
165  $this->ctrl->getLinkTarget($this,'codes'),
166  array("codes", "editCodes", "createSurveyCodes", "setCodeLanguage", "deleteCodes", "exportCodes",
167  "importExternalMailRecipientsFromFileForm", "importExternalMailRecipientsFromTextForm"),
168  ""
169  );
170  }
171 
172  // #12277 - invite
173  $ilTabs->addSubTabTarget("invitation",
174  $this->ctrl->getLinkTarget($this, 'invite'),
175  array("invite", "saveInvitationStatus",
176  "inviteUserGroup", "disinviteUserGroup"),
177  "");
178 
179  $data = $this->object->getExternalCodeRecipients();
180  if (count($data))
181  {
182  $ilTabs->addSubTabTarget
183  (
184  "mail_survey_codes",
185  $this->ctrl->getLinkTarget($this, "mailCodes"),
186  array("mailCodes", "sendCodesMail", "insertSavedMessage", "deleteSavedMessage"),
187  ""
188  );
189  }
190  }
+ Here is the caller graph for this function:

◆ updateCodesObject()

ilSurveyParticipantsGUI::updateCodesObject ( )

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

References $_POST, and ilUtil\sendSuccess().

547  {
548  if(!is_array($_POST["chb_code"]))
549  {
550  $this->ctrl->redirect($this, 'codes');
551  }
552 
553  foreach($_POST["chb_code"] as $id)
554  {
555  $this->object->updateCode($id,
556  $_POST["chb_mail"][$id],
557  $_POST["chb_lname"][$id],
558  $_POST["chb_fname"][$id],
559  $_POST["chb_sent"][$id]
560  );
561  }
562 
563  ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
564  $this->ctrl->redirect($this, 'codes');
565  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
+ Here is the call graph for this function:

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