ILIAS  release_4-4 Revision
ilObjSurveyGUI Class Reference

Class ilObjSurveyGUI. More...

+ Inheritance diagram for ilObjSurveyGUI:
+ Collaboration diagram for ilObjSurveyGUI:

Public Member Functions

 __construct ()
 
 executeCommand ()
 
 evaluationObject ()
 Redirects the evaluation object call to the ilSurveyEvaluationGUI class. More...
 
 afterSave (ilObject $a_new_object)
 save object public More...
 
 getTabs (&$tabs_gui)
 adds tabs to tab gui object More...
 
 handleWriteAccess ()
 Checks for write access and returns to the parent object. More...
 
 savePropertiesObject ()
 Save the survey properties. More...
 
 initPropertiesForm ()
 Init survey settings form. More...
 
 propertiesObject (ilPropertyFormGUI $a_form=null)
 Display and fill the properties form of the test. More...
 
 doAutoCompleteObject ()
 
 confirmResetTemplateObject ()
 Enable all settings - Confirmation. More...
 
 resetTemplateObject ()
 Enable all settings - remove template. More...
 
 importFileObject ()
 form for new survey object import More...
 
 exportObject ()
 
 createExportFileObject ()
 create export file More...
 
 downloadExportFileObject ()
 download export file More...
 
 confirmDeleteExportFileObject ()
 confirmation screen for export file deletion More...
 
 cancelDeleteExportFileObject ()
 cancel deletion of export files More...
 
 deleteExportFileObject ()
 delete export files More...
 
 infoScreenObject ()
 this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed More...
 
 infoScreen ()
 show information screen More...
 
 addLocatorItems ()
 
 _goto ($a_target, $a_access_code="")
 redirect script More...
 
- Public Member Functions inherited from ilObjectGUI
 ilObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public. More...
 
executeCommand ()
 execute command More...
 
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui More...
 
 getCreationMode ()
 get creation mode More...
 
 getAdminTabs (&$tabs_gui)
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelDeleteObject ()
 cancel deletion of object More...
 
 cancelObject ($in_rep=false)
 cancel action and go back to previous page public More...
 
 createObject ()
 create new object form More...
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 save object More...
 
 editObject ()
 edit object More...
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g. More...
 
 isVisible ($a_ref_id, $a_type)
 
 viewObject ()
 list childs of current object More...
 
 deleteObject ($a_error=false)
 Display deletion confirmation screen. More...
 
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI. More...
 

Protected Member Functions

 addDidacticTemplateOptions (array &$a_options)
 
 initImportForm ($a_new_type)
 
- Protected Member Functions inherited from ilObjectGUI
 assignObject ()
 
 prepareOutput ()
 prepare output More...
 
 setTitleAndDescription ()
 called by prepare output More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction ($a_list_gui)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 showMountWebfolderIcon ()
 
 setTabs ()
 set admin tabs public More...
 
 setAdminTabs ()
 set admin tabs public More...
 
 setLocator ()
 set Locator More...
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator ($a_omit=true)
 
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 initCreationForms ($a_new_type)
 Init creation froms. More...
 
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion) More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types. More...
 
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates. More...
 
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position. More...
 
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 Init object edit form. More...
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 Get values for edit form. More...
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 initImportForm ($a_new_type)
 Init object import form. More...
 
 importFileObject ($parent_id=null)
 Import. More...
 
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook. More...
 
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command More...
 
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command More...
 
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command More...
 
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu) More...
 
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl. More...
 
 getTitlesByRefId ($a_ref_ids)
 get Titles of objects this method is used for error messages in methods cut/copy/paste More...
 
 getTabs (&$tabs_gui)
 get tabs abstract method. More...
 
 __showButton ($a_cmd, $a_text, $a_target='')
 
 hitsperpageObject ()
 
__initTableGUI ()
 
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table More...
 
 redirectToRefId ($a_ref_id, $a_cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current $_GET["ref_id"] value More...
 
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning. More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 setColumnSettings ($column_gui)
 May be overwritten in subclasses. More...
 
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error. More...
 
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission. More...
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root. More...
 
- Data Fields inherited from ilObjectGUI
const COPY_WIZARD_NEEDS_PAGE = 1
 
 $ilias
 
 $objDefinition
 
 $tpl
 
 $tree
 
 $lng
 
 $data
 
 $object
 
 $ref_id
 
 $obj_id
 
 $maxcount
 
 $formaction
 
 $return_location
 
 $target_frame
 
 $tab_target_script
 
 $actions
 
 $sub_objects
 
 $omit_locator = false
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjSurveyGUI::__construct ( )

Definition at line 24 of file class.ilObjSurveyGUI.php.

References $_GET, $ilCtrl, and ilObjectGUI\$lng.

25  {
26  global $lng, $ilCtrl;
27 
28  $this->type = "svy";
29  $lng->loadLanguageModule("survey");
30  $this->ctrl = $ilCtrl;
31  $this->ctrl->saveParameter($this, "ref_id");
32 
33  parent::__construct("", (int)$_GET["ref_id"], true, false);
34  }
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18

Member Function Documentation

◆ _goto()

ilObjSurveyGUI::_goto (   $a_target,
  $a_access_code = "" 
)

redirect script

Parameters
string$a_target

Definition at line 1851 of file class.ilObjSurveyGUI.php.

References $_GET, $_SESSION, $ilErr, ilObjectGUI\$lng, ilObjectGUI\_gotoRepositoryRoot(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), exit, and ilUtil\sendFailure().

1852  {
1853  global $ilAccess, $ilErr, $lng;
1854 
1855  // see ilObjSurveyAccess::_checkGoto()
1856  include_once "./Services/Utilities/classes/class.ilUtil.php";
1857  if (strlen($a_access_code))
1858  {
1859  $_SESSION["anonymous_id"][ilObject::_lookupObjId($a_target)] = $a_access_code;
1860  $_GET["baseClass"] = "ilObjSurveyGUI";
1861  $_GET["cmd"] = "infoScreen";
1862  $_GET["ref_id"] = $a_target;
1863  include("ilias.php");
1864  exit;
1865  }
1866 
1867  if ($ilAccess->checkAccess("read", "", $a_target))
1868  {
1869  $_GET["baseClass"] = "ilObjSurveyGUI";
1870  $_GET["cmd"] = "infoScreen";
1871  $_GET["ref_id"] = $a_target;
1872  include("ilias.php");
1873  exit;
1874  }
1875  else if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID))
1876  {
1877  ilUtil::sendFailure(sprintf($lng->txt("msg_no_perm_read_item"),
1878  ilObject::_lookupTitle(ilObject::_lookupObjId($a_target))), true);
1880  }
1881 
1882  $ilErr->raiseError($lng->txt("msg_no_perm_read_lm"), $ilErr->FATAL);
1883  }
< 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']
exit
Definition: login.php:54
$_GET["client_id"]
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _lookupTitle($a_id)
lookup object title
static _lookupObjId($a_id)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ addDidacticTemplateOptions()

ilObjSurveyGUI::addDidacticTemplateOptions ( array &  $a_options)
protected

Definition at line 217 of file class.ilObjSurveyGUI.php.

References ilSettingsTemplate\getAllSettingsTemplates().

218  {
219  include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
221  if($templates)
222  {
223  foreach($templates as $item)
224  {
225  $a_options["svytpl_".$item["id"]] = array($item["title"],
226  nl2br(trim($item["description"])));
227  }
228  }
229 
230  // JF, 2013-06-10
231  $a_options["svy360_1"] = array($this->lng->txt("survey_360_mode"),
232  $this->lng->txt("survey_360_mode_info"));
233  }
static getAllSettingsTemplates($a_type)
Get all settings templates of type.
+ Here is the call graph for this function:

◆ addLocatorItems()

ilObjSurveyGUI::addLocatorItems ( )

Definition at line 1798 of file class.ilObjSurveyGUI.php.

References $_GET, $_REQUEST, SurveyQuestion\_getQuestionType(), and SurveyQuestion\_getTitle().

1799  {
1800  global $ilLocator;
1801  switch ($this->ctrl->getCmd())
1802  {
1803  case "next":
1804  case "previous":
1805  case "start":
1806  case "resume":
1807  case "redirectQuestion":
1808  $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, "infoScreen"), "", $_GET["ref_id"]);
1809  break;
1810  case "evaluation":
1811  case "checkEvaluationAccess":
1812  case "evaluationdetails":
1813  case "evaluationuser":
1814  $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTargetByClass("ilsurveyevaluationgui", "evaluation"), "", $_GET["ref_id"]);
1815  break;
1816  case "create":
1817  case "save":
1818  case "cancel":
1819  case "importFile":
1820  case "cloneAll":
1821  break;
1822  case "infoScreen":
1823  $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, "infoScreen"), "", $_GET["ref_id"]);
1824  break;
1825  default:
1826  $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, ""), "", $_GET["ref_id"]);
1827 
1828  // this has to be done here because ilSurveyEditorGUI is called after finalizing the locator
1829  if ((int)$_GET["q_id"] && !(int)$_REQUEST["new_for_survey"])
1830  {
1831  // not on create
1832  // see ilObjSurveyQuestionPool::addLocatorItems
1833  $q_id = (int)$_GET["q_id"];
1834  include_once "./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
1835  $q_type = SurveyQuestion::_getQuestionType($q_id)."GUI";
1836  $this->ctrl->setParameterByClass($q_type, "q_id", $q_id);
1837  $ilLocator->addItem(SurveyQuestion::_getTitle($q_id),
1838  $this->ctrl->getLinkTargetByClass(array("ilSurveyEditorGUI", $q_type), "editQuestion"));
1839  }
1840  break;
1841  }
1842  }
_getTitle($question_id)
Returns the question title of a question with a given id.
$_GET["client_id"]
_getQuestionType($question_id)
Returns the question type of a question with a given id.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ afterSave()

ilObjSurveyGUI::afterSave ( ilObject  $a_new_object)

save object public

Definition at line 239 of file class.ilObjSurveyGUI.php.

References ilObjectGUI\$tpl, ilObjSurvey\ANONYMIZE_CODE_ALL, ilObjSurvey\EVALUATION_ACCESS_PARTICIPANTS, ilObjectGUI\getDidacticTemplateVar(), ilObject\getRefId(), ilUtil\redirect(), and ilUtil\sendSuccess().

240  {
241  // #16446
242  $a_new_object->loadFromDb();
243 
244  $tpl = $this->getDidacticTemplateVar("svytpl");
245  if($tpl)
246  {
247  $a_new_object->applySettingsTemplate($tpl);
248  }
249 
250  $a_new_object->set360Mode((bool)$this->getDidacticTemplateVar("svy360"));
251  if($a_new_object->get360Mode())
252  {
253  $a_new_object->setAnonymize(ilObjSurvey::ANONYMIZE_CODE_ALL);
254  $a_new_object->setEvaluationAccess(ilObjSurvey::EVALUATION_ACCESS_PARTICIPANTS);
255  }
256  $a_new_object->saveToDB();
257 
258  // always send a message
259  ilUtil::sendSuccess($this->lng->txt("object_added"),true);
260  ilUtil::redirect("ilias.php?baseClass=ilObjSurveyGUI&ref_id=".
261  $a_new_object->getRefId()."&cmd=properties");
262  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
const EVALUATION_ACCESS_PARTICIPANTS
getRefId()
get reference id public
getDidacticTemplateVar($a_type)
Get didactic template setting from creation screen.
const ANONYMIZE_CODE_ALL
static redirect($a_script)
http redirect to other script
+ Here is the call graph for this function:

◆ cancelDeleteExportFileObject()

ilObjSurveyGUI::cancelDeleteExportFileObject ( )

cancel deletion of export files

Definition at line 1408 of file class.ilObjSurveyGUI.php.

References ilUtil\sendInfo().

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

◆ confirmDeleteExportFileObject()

ilObjSurveyGUI::confirmDeleteExportFileObject ( )

confirmation screen for export file deletion

Definition at line 1366 of file class.ilObjSurveyGUI.php.

References $_POST, ilObjectGUI\$data, handleWriteAccess(), IL_CAL_DATETIME, IL_CAL_UNIX, ilUtil\sendFailure(), and ilUtil\sendQuestion().

1367  {
1368  global $ilTabs;
1369 
1370  $this->handleWriteAccess();
1371  $ilTabs->activateTab("export");
1372 
1373  if (!isset($_POST["file"]))
1374  {
1375  ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
1376  $this->ctrl->redirect($this, "export");
1377  }
1378 
1379  ilUtil::sendQuestion($this->lng->txt("info_delete_sure"));
1380 
1381  $export_dir = $this->object->getExportDirectory();
1382  $export_files = $this->object->getExportFiles($export_dir);
1383  $data = array();
1384  if (count($_POST["file"]) > 0)
1385  {
1386  foreach ($_POST["file"] as $exp_file)
1387  {
1388  $file_arr = explode("__", $exp_file);
1389  $date = new ilDateTime($file_arr[0], IL_CAL_UNIX);
1390  array_push($data, array(
1391  'file' => $exp_file,
1392  'size' => filesize($export_dir."/".$exp_file),
1393  'date' => $date->get(IL_CAL_DATETIME)
1394  ));
1395  }
1396  }
1397 
1398  include_once "./Modules/Survey/classes/tables/class.ilSurveyExportTableGUI.php";
1399  $table_gui = new ilSurveyExportTableGUI($this, 'export', true);
1400  $table_gui->setData($data);
1401  $this->tpl->setVariable('ADM_CONTENT', $table_gui->getHTML());
1402  }
$_POST['username']
Definition: cron.php:12
const IL_CAL_DATETIME
handleWriteAccess()
Checks for write access and returns to the parent object.
const IL_CAL_UNIX
Date and time handling
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ confirmResetTemplateObject()

ilObjSurveyGUI::confirmResetTemplateObject ( )

Enable all settings - Confirmation.

Definition at line 1152 of file class.ilObjSurveyGUI.php.

References ilUtil\sendQuestion().

1153  {
1154  ilUtil::sendQuestion($this->lng->txt("survey_confirm_template_reset"));
1155  $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_svy_svy_confirm_resettemplate.html", "Modules/Survey");
1156  $this->tpl->setCurrentBlock("adm_content");
1157  $this->tpl->setVariable("BTN_CONFIRM_REMOVE", $this->lng->txt("confirm"));
1158  $this->tpl->setVariable("BTN_CANCEL_REMOVE", $this->lng->txt("cancel"));
1159  $this->tpl->setVariable("FORM_ACTION", $this->ctrl->getFormAction($this, "resetTemplateObject"));
1160  $this->tpl->parseCurrentBlock();
1161  }
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
+ Here is the call graph for this function:

◆ createExportFileObject()

ilObjSurveyGUI::createExportFileObject ( )

create export file

Definition at line 1330 of file class.ilObjSurveyGUI.php.

References handleWriteAccess().

1331  {
1332  $this->handleWriteAccess();
1333  include_once("./Modules/Survey/classes/class.ilSurveyExport.php");
1334  $survey_exp = new ilSurveyExport($this->object);
1335  $survey_exp->buildExportFile();
1336  $this->ctrl->redirect($this, "export");
1337  }
handleWriteAccess()
Checks for write access and returns to the parent object.
Export class for surveys.
+ Here is the call graph for this function:

◆ deleteExportFileObject()

ilObjSurveyGUI::deleteExportFileObject ( )

delete export files

Definition at line 1418 of file class.ilObjSurveyGUI.php.

References $_POST, $file, ilUtil\delDir(), and ilUtil\sendSuccess().

1419  {
1420  $export_dir = $this->object->getExportDirectory();
1421  foreach ($_POST["file"] as $file)
1422  {
1423  $file = basename($file);
1424 
1425  $exp_file = $export_dir."/".$file;
1426  $exp_dir = $export_dir."/".substr($file, 0, strlen($file) - 4);
1427  if (@is_file($exp_file))
1428  {
1429  unlink($exp_file);
1430  }
1431  if (@is_dir($exp_dir))
1432  {
1433  include_once "./Services/Utilities/classes/class.ilUtil.php";
1434  ilUtil::delDir($exp_dir);
1435  }
1436  }
1437  ilUtil::sendSuccess($this->lng->txt('msg_deleted_export_files'), true);
1438  $this->ctrl->redirect($this, "export");
1439  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
print $file
$_POST['username']
Definition: cron.php:12
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
+ Here is the call graph for this function:

◆ doAutoCompleteObject()

ilObjSurveyGUI::doAutoCompleteObject ( )

Definition at line 1136 of file class.ilObjSurveyGUI.php.

References $_REQUEST, exit, and ilUtil\stripSlashes().

1137  {
1138  $fields = array('login','firstname','lastname','email');
1139 
1140  include_once './Services/User/classes/class.ilUserAutoComplete.php';
1141  $auto = new ilUserAutoComplete();
1142  $auto->setSearchFields($fields);
1143  $auto->setResultField('login');
1144  $auto->enableFieldSearchableCheck(true);
1145  echo $auto->getList(ilUtil::stripSlashes($_REQUEST['term']));
1146  exit();
1147  }
exit
Definition: login.php:54
Auto completion class for user lists.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ downloadExportFileObject()

ilObjSurveyGUI::downloadExportFileObject ( )

download export file

Definition at line 1342 of file class.ilObjSurveyGUI.php.

References $_POST, $file, ilUtil\deliverFile(), and ilUtil\sendFailure().

1343  {
1344  if(!isset($_POST["file"]))
1345  {
1346  ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
1347  $this->ctrl->redirect($this, "export");
1348  }
1349 
1350  if (count($_POST["file"]) > 1)
1351  {
1352  ilUtil::sendFailure($this->lng->txt("select_max_one_item"), true);
1353  $this->ctrl->redirect($this, "export");
1354  }
1355 
1356  $file = basename($_POST["file"][0]);
1357 
1358  $export_dir = $this->object->getExportDirectory();
1359  include_once "./Services/Utilities/classes/class.ilUtil.php";
1360  ilUtil::deliverFile($export_dir."/".$file, $file);
1361  }
print $file
$_POST['username']
Definition: cron.php:12
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ evaluationObject()

ilObjSurveyGUI::evaluationObject ( )

Redirects the evaluation object call to the ilSurveyEvaluationGUI class.

Coming from ListGUI...

private

Definition at line 209 of file class.ilObjSurveyGUI.php.

210  {
211  include_once("./Modules/Survey/classes/class.ilSurveyEvaluationGUI.php");
212  $eval_gui = new ilSurveyEvaluationGUI($this->object);
213  $this->ctrl->setCmdClass(get_class($eval_gui));
214  $this->ctrl->redirect($eval_gui, "evaluation");
215  }
Survey evaluation graphical output.

◆ executeCommand()

ilObjSurveyGUI::executeCommand ( )

Definition at line 36 of file class.ilObjSurveyGUI.php.

References $_GET, $_REQUEST, $_SESSION, $cmd, $ilErr, ilObjectGUI\addHeaderAction(), ilMDEditorGUI\addObserver(), ilObjectGUI\getCreationMode(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), ilUtil\getStyleSheetLocation(), handleWriteAccess(), infoScreen(), ilObjectGUI\prepareOutput(), and ilObjSurvey\validateExternalRaterCode().

37  {
38  global $ilAccess, $ilNavigationHistory, $ilErr, $ilTabs;
39 
40  $this->external_rater_360 = false;
41  if(!$this->creation_mode &&
42  $this->object->get360Mode() &&
43  $_SESSION["anonymous_id"][$this->object->getId()] &&
44  ilObjSurvey::validateExternalRaterCode($this->object->getRefId(),
45  $_SESSION["anonymous_id"][$this->object->getId()]))
46  {
47  $this->external_rater_360 = true;
48  }
49 
50  if(!$this->external_rater_360)
51  {
52  if (!$ilAccess->checkAccess("read", "", $this->ref_id) &&
53  !$ilAccess->checkAccess("visible", "", $this->ref_id))
54  {
55  $ilErr->raiseError($this->lng->txt("permission_denied"), $ilErr->MESSAGE);
56  }
57 
58  // add entry to navigation history
59  if (!$this->getCreationMode() &&
60  $ilAccess->checkAccess("read", "", $this->ref_id))
61  {
62  $this->ctrl->setParameterByClass("ilobjsurveygui", "ref_id", $this->ref_id);
63  $link = $this->ctrl->getLinkTargetByClass("ilobjsurveygui", "");
64  $ilNavigationHistory->addItem($this->ref_id, $link, "svy");
65  }
66  }
67 
68  $cmd = $this->ctrl->getCmd("properties");
69 
70  // workaround for bug #6288, needs better solution
71  if ($cmd == "saveTags")
72  {
73  $this->ctrl->setCmdClass("ilinfoscreengui");
74  }
75 
76  // deep link from repository - "redirect" to page view
77  if(!$this->ctrl->getCmdClass() && $cmd == "questionsrepo")
78  {
79  $_REQUEST["pgov"] = 1;
80  $this->ctrl->setCmd("questions");
81  $this->ctrl->setCmdClass("ilsurveyeditorgui");
82  }
83 
84  $next_class = $this->ctrl->getNextClass($this);
85  $this->ctrl->setReturn($this, "properties");
86  $this->tpl->addCss(ilUtil::getStyleSheetLocation("output", "survey.css", "Modules/Survey"), "screen");
87  $this->prepareOutput();
88 
89  switch($next_class)
90  {
91  case "ilinfoscreengui":
92  $this->addHeaderAction();
93  $this->infoScreen(); // forwards command
94  break;
95 
96  case 'ilmdeditorgui':
97  $this->handleWriteAccess();
98  $ilTabs->activateTab("meta_data");
99  $this->addHeaderAction();
100  include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php';
101  $md_gui =& new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType());
102  $md_gui->addObserver($this->object,'MDUpdateListener','General');
103 
104  $this->ctrl->forwardCommand($md_gui);
105  break;
106 
107  case "ilsurveyevaluationgui":
108  $ilTabs->activateTab("svy_results");
109  $this->addHeaderAction();
110  include_once("./Modules/Survey/classes/class.ilSurveyEvaluationGUI.php");
111  $eval_gui = new ilSurveyEvaluationGUI($this->object);
112  $this->ctrl->forwardCommand($eval_gui);
113  break;
114 
115  case "ilsurveyexecutiongui":
116  $ilTabs->clearTargets();
117  include_once("./Modules/Survey/classes/class.ilSurveyExecutionGUI.php");
118  $exec_gui = new ilSurveyExecutionGUI($this->object);
119  $this->ctrl->forwardCommand($exec_gui);
120  break;
121 
122  case 'ilpermissiongui':
123  $ilTabs->activateTab("perm_settings");
124  $this->addHeaderAction();
125  include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
126  $perm_gui =& new ilPermissionGUI($this);
127  $this->ctrl->forwardCommand($perm_gui);
128  break;
129 
130  case 'ilobjectcopygui':
131  include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
132  $cp = new ilObjectCopyGUI($this);
133  $cp->setType('svy');
134  $this->ctrl->forwardCommand($cp);
135  break;
136 
137  case "ilcommonactiondispatchergui":
138  include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
140  $this->ctrl->forwardCommand($gui);
141  break;
142 
143  // 360, skill service
144  case 'ilsurveyskillgui':
145  $ilTabs->activateTab("survey_competences");
146  include_once("./Modules/Survey/classes/class.ilSurveySkillGUI.php");
147  $gui = new ilSurveySkillGUI($this->object);
148  $this->ctrl->forwardCommand($gui);
149  break;
150 
151  case 'ilsurveyskilldeterminationgui':
152  $ilTabs->activateTab("maintenance");
153  include_once("./Modules/Survey/classes/class.ilSurveySkillDeterminationGUI.php");
154  $gui = new ilSurveySkillDeterminationGUI($this->object);
155  $this->ctrl->forwardCommand($gui);
156  break;
157 
158  case 'ilsurveyeditorgui':
159  $this->handleWriteAccess();
160  $ilTabs->activateTab("survey_questions");
161  include_once("./Modules/Survey/classes/class.ilSurveyEditorGUI.php");
162  $gui = new ilSurveyEditorGUI($this);
163  $this->ctrl->forwardCommand($gui);
164  break;
165 
166  case 'ilsurveyconstraintsgui':
167  $this->handleWriteAccess();
168  $ilTabs->activateTab("constraints");
169  include_once("./Modules/Survey/classes/class.ilSurveyConstraintsGUI.php");
170  $gui = new ilSurveyConstraintsGUI($this);
171  $this->ctrl->forwardCommand($gui);
172  break;
173 
174  case 'ilsurveyparticipantsgui':
175  if(!$this->object->get360Mode())
176  {
177  $ilTabs->activateTab("maintenance");
178  }
179  else
180  {
181  $ilTabs->activateTab("survey_360_appraisees");
182  }
183  include_once("./Modules/Survey/classes/class.ilSurveyParticipantsGUI.php");
184  $gui = new ilSurveyParticipantsGUI($this);
185  $this->ctrl->forwardCommand($gui);
186  break;
187 
188  default:
189  $this->addHeaderAction();
190  $cmd.= "Object";
191  $this->$cmd();
192  break;
193  }
194 
195  if (strtolower($_GET["baseClass"]) != "iladministrationgui" &&
196  $this->getCreationMode() != true)
197  {
198  $this->tpl->show();
199  }
200  }
< 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']
Class ilSurveyParticipantsGUI.
Survey skill service GUI class.
Class ilSurveyEditorGUI.
GUI class for the workflow of copying objects.
static validateExternalRaterCode($a_ref_id, $a_code)
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
$_GET["client_id"]
Class ilSurveyConstraintsGUI.
handleWriteAccess()
Checks for write access and returns to the parent object.
$cmd
Definition: sahs_server.php:35
addObserver(&$a_class, $a_method, $a_element)
Survey execution graphical output.
infoScreen()
show information screen
prepareOutput()
prepare output
getCreationMode()
get creation mode
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
Survey skill determination GUI class.
Survey evaluation graphical output.
addHeaderAction()
Add header action menu.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
+ Here is the call graph for this function:

◆ exportObject()

ilObjSurveyGUI::exportObject ( )

Definition at line 1297 of file class.ilObjSurveyGUI.php.

References ilObjectGUI\$data, handleWriteAccess(), IL_CAL_DATETIME, and IL_CAL_UNIX.

1298  {
1299  global $ilTabs;
1300 
1301  $this->handleWriteAccess();
1302  $ilTabs->activateTab("export");
1303 
1304  $export_dir = $this->object->getExportDirectory();
1305  $export_files = $this->object->getExportFiles($export_dir);
1306  $data = array();
1307  if(count($export_files) > 0)
1308  {
1309  foreach($export_files as $exp_file)
1310  {
1311  $file_arr = explode("__", $exp_file);
1312  $date = new ilDateTime($file_arr[0], IL_CAL_UNIX);
1313  array_push($data, array(
1314  'file' => $exp_file,
1315  'size' => filesize($export_dir."/".$exp_file),
1316  'date' => $date->get(IL_CAL_DATETIME)
1317  ));
1318  }
1319  }
1320 
1321  include_once "./Modules/Survey/classes/tables/class.ilSurveyExportTableGUI.php";
1322  $table_gui = new ilSurveyExportTableGUI($this, 'export');
1323  $table_gui->setData($data);
1324  $this->tpl->setVariable('ADM_CONTENT', $table_gui->getHTML());
1325  }
const IL_CAL_DATETIME
handleWriteAccess()
Checks for write access and returns to the parent object.
const IL_CAL_UNIX
Date and time handling
+ Here is the call graph for this function:

◆ getTabs()

ilObjSurveyGUI::getTabs ( $tabs_gui)

adds tabs to tab gui object

Parameters
object$tabs_guiilTabsGUI object

Definition at line 269 of file class.ilObjSurveyGUI.php.

References $ilUser, and ilObjSurveyAccess\_hasEvaluationAccess().

270  {
271  global $ilAccess, $ilUser, $ilHelp;
272 
273  if($this->object instanceof ilObjSurveyQuestionPool)
274  {
275  return true;
276  }
277 
278  $ilHelp->setScreenIdComponent("svy");
279 
280  $hidden_tabs = array();
281  $template = $this->object->getTemplate();
282  if($template)
283  {
284  include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
285  $template = new ilSettingsTemplate($template);
286  $hidden_tabs = $template->getHiddenTabs();
287  }
288 
289  if ($ilAccess->checkAccess("write", "", $this->ref_id))
290  {
291  $tabs_gui->addTab("survey_questions",
292  $this->lng->txt("survey_questions"),
293  $this->ctrl->getLinkTargetByClass(array("ilsurveyeditorgui", "ilsurveypagegui"), "renderPage"));
294  }
295 
296  if ($ilAccess->checkAccess("visible", "", $this->ref_id))
297  {
298  $tabs_gui->addTab("info_short",
299  $this->lng->txt("info_short"),
300  $this->ctrl->getLinkTarget($this,'infoScreen'));
301  }
302 
303  // properties
304  if ($ilAccess->checkAccess("write", "", $this->ref_id))
305  {
306  $tabs_gui->addTab("settings",
307  $this->lng->txt("settings"),
308  $this->ctrl->getLinkTarget($this,'properties'));
309  }
310  else if ($ilAccess->checkAccess("read", "", $this->ref_id))
311  {
312  if($this->object->get360Mode() &&
313  $this->object->get360SelfRaters() &&
314  $this->object->isAppraisee($ilUser->getId()) &&
315  !$this->object->isAppraiseeClosed($ilUser->getId()))
316  {
317  $tabs_gui->addTab("survey_360_edit_raters",
318  $this->lng->txt("survey_360_edit_raters"),
319  $this->ctrl->getLinkTargetByClass('ilsurveyparticipantsgui','editRaters'));
320 
321  // :TODO: mail to raters
322  }
323  }
324 
325  // questions
326  if ($ilAccess->checkAccess("write", "", $this->ref_id) &&
327  !in_array("constraints", $hidden_tabs) &&
328  !$this->object->get360Mode())
329  {
330  // constraints
331  $tabs_gui->addTab("constraints",
332  $this->lng->txt("constraints"),
333  $this->ctrl->getLinkTargetByClass("ilsurveyconstraintsgui", "constraints"));
334  }
335 
336  if ($ilAccess->checkAccess("write", "", $this->ref_id))
337  {
338  // 360°
339  if($this->object->get360Mode())
340  {
341  // 360 mode + competence service
342  include_once("./Services/Skill/classes/class.ilSkillManagementSettings.php");
343  $skmg_set = new ilSkillManagementSettings();
344  if ($this->object->get360SkillService() && $skmg_set->isActivated())
345  {
346  $tabs_gui->addTab("survey_competences",
347  $this->lng->txt("survey_competences"),
348  $this->ctrl->getLinkTargetByClass("ilsurveyskillgui", "listQuestionAssignment"));
349  }
350 
351  $tabs_gui->addTab("survey_360_appraisees",
352  $this->lng->txt("survey_360_appraisees"),
353  $this->ctrl->getLinkTargetByClass('ilsurveyparticipantsgui', 'listAppraisees'));
354  }
355  else
356  {
357  // maintenance
358  $tabs_gui->addTab("maintenance",
359  $this->lng->txt("maintenance"),
360  $this->ctrl->getLinkTargetByClass('ilsurveyparticipantsgui', 'maintenance'));
361  }
362  }
363 
364  include_once "./Modules/Survey/classes/class.ilObjSurveyAccess.php";
365  if ($ilAccess->checkAccess("write", "", $this->ref_id) ||
366  ilObjSurveyAccess::_hasEvaluationAccess($this->object->getId(), $ilUser->getId()))
367  {
368  // evaluation
369  $tabs_gui->addTab("svy_results",
370  $this->lng->txt("svy_results"),
371  $this->ctrl->getLinkTargetByClass("ilsurveyevaluationgui", ""));
372  }
373 
374  if ($ilAccess->checkAccess("write", "", $this->ref_id))
375  {
376  if(!in_array("meta_data", $hidden_tabs))
377  {
378  // meta data
379  $tabs_gui->addTab("meta_data",
380  $this->lng->txt("meta_data"),
381  $this->ctrl->getLinkTargetByClass('ilmdeditorgui','listSection'));
382  }
383 
384  if(!in_array("export", $hidden_tabs))
385  {
386  // export
387  $tabs_gui->addTab("export",
388  $this->lng->txt("export"),
389  $this->ctrl->getLinkTarget($this,'export'));
390  }
391  }
392 
393  if ($ilAccess->checkAccess("edit_permission", "", $this->ref_id))
394  {
395  // permissions
396  $tabs_gui->addTab("perm_settings",
397  $this->lng->txt("perm_settings"),
398  $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"));
399  }
400  }
global $ilUser
Definition: imgupload.php:15
_hasEvaluationAccess($a_obj_id, $user_id)
Settings template application class.
+ Here is the call graph for this function:

◆ handleWriteAccess()

ilObjSurveyGUI::handleWriteAccess ( )

Checks for write access and returns to the parent object.

Checks for write access and returns to the parent object

public

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

References ilUtil\sendInfo().

Referenced by confirmDeleteExportFileObject(), createExportFileObject(), executeCommand(), exportObject(), and propertiesObject().

410  {
411  global $ilAccess;
412  if (!$ilAccess->checkAccess("write", "", $this->ref_id))
413  {
414  // allow only write access
415  ilUtil::sendInfo($this->lng->txt("cannot_edit_survey"), TRUE);
416  $this->ctrl->redirect($this, "infoScreen");
417  }
418  }
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importFileObject()

ilObjSurveyGUI::importFileObject ( )

form for new survey object import

Definition at line 1213 of file class.ilObjSurveyGUI.php.

References $_GET, $_REQUEST, $ilErr, ilObjectGUI\$tpl, ilObjectGUI\checkPermissionBool(), ilSettingsTemplate\getAllSettingsTemplates(), initImportForm(), ilObjectGUI\putObjectInTree(), ilUtil\redirect(), and ilUtil\sendSuccess().

1214  {
1215  global $tpl, $ilErr;
1216 
1217  $parent_id = $_GET["ref_id"];
1218  $new_type = $_REQUEST["new_type"];
1219 
1220  // create permission is already checked in createObject. This check here is done to prevent hacking attempts
1221  if (!$this->checkPermissionBool("create", "", $new_type))
1222  {
1223  $ilErr->raiseError($this->lng->txt("no_create_permission"));
1224  }
1225 
1226  $this->lng->loadLanguageModule($new_type);
1227  $this->ctrl->setParameter($this, "new_type", $new_type);
1228 
1229  $form = $this->initImportForm($new_type);
1230  if ($form->checkInput())
1231  {
1232  include_once("./Modules/Survey/classes/class.ilObjSurvey.php");
1233  $newObj = new ilObjSurvey();
1234  $newObj->setType($new_type);
1235  $newObj->setTitle("dummy");
1236  $newObj->setDescription("dummy");
1237  $newObj->create(true);
1238  $this->putObjectInTree($newObj);
1239 
1240  // copy uploaded file to import directory
1241  $error = $newObj->importObject($_FILES["importfile"], $form->getInput("spl"));
1242  if (strlen($error))
1243  {
1244  $newObj->delete();
1245  $this->ilias->raiseError($error, $this->ilias->error_obj->MESSAGE);
1246  return;
1247  }
1248 
1249  ilUtil::sendSuccess($this->lng->txt("object_imported"),true);
1250  ilUtil::redirect("ilias.php?ref_id=".$newObj->getRefId().
1251  "&baseClass=ilObjSurveyGUI");
1252 
1253  // using template?
1254  include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
1255  $templates = ilSettingsTemplate::getAllSettingsTemplates("svy");
1256  if($templates)
1257  {
1258  global $tpl;
1259  $tpl->addJavaScript("./Modules/Scorm2004/scripts/questions/jquery.js");
1260  // $tpl->addJavaScript("./Modules/Scorm2004/scripts/questions/jquery-ui-min.js");
1261 
1262  $this->tpl->setCurrentBlock("template_option");
1263  $this->tpl->setVariable("VAL_TEMPLATE_OPTION", "");
1264  $this->tpl->setVariable("TXT_TEMPLATE_OPTION", $this->lng->txt("none"));
1265  $this->tpl->parseCurrentBlock();
1266 
1267  foreach($templates as $item)
1268  {
1269  $this->tpl->setCurrentBlock("template_option");
1270  $this->tpl->setVariable("VAL_TEMPLATE_OPTION", $item["id"]);
1271  $this->tpl->setVariable("TXT_TEMPLATE_OPTION", $item["title"]);
1272  $this->tpl->parseCurrentBlock();
1273 
1274  $desc = str_replace("\n", "", nl2br($item["description"]));
1275  $desc = str_replace("\r", "", $desc);
1276 
1277  $this->tpl->setCurrentBlock("js_data");
1278  $this->tpl->setVariable("JS_DATA_ID", $item["id"]);
1279  $this->tpl->setVariable("JS_DATA_TEXT", $desc);
1280  $this->tpl->parseCurrentBlock();
1281  }
1282 
1283  $this->tpl->setCurrentBlock("templates");
1284  $this->tpl->setVariable("TXT_TEMPLATE", $this->lng->txt("svy_settings_template"));
1285  $this->tpl->parseCurrentBlock();
1286  }
1287  }
1288 
1289  // display form to correct errors
1290  $form->setValuesByPost();
1291  $tpl->setContent($form->getHtml());
1292  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_GET["client_id"]
static getAllSettingsTemplates($a_type)
Get all settings templates of type.
initImportForm($a_new_type)
redirection script todo: (a better solution should control the processing via a xml file) ...
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
static redirect($a_script)
http redirect to other script
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
+ Here is the call graph for this function:

◆ infoScreen()

ilObjSurveyGUI::infoScreen ( )

show information screen

Definition at line 1461 of file class.ilObjSurveyGUI.php.

References $_POST, $_SESSION, $ilUser, ilObjSurveyAccess\_hasEvaluationAccess(), ilObjSurvey\ANONYMIZE_FREEACCESS, ilObjSurvey\ANONYMIZE_OFF, ilObjSurvey\ANONYMIZE_ON, ilDatePresentation\formatDate(), ilUserUtil\getNamePresentation(), IL_CAL_UNIX, ilUtil\sendFailure(), ilUtil\sendInfo(), and ilDatePresentation\setUseRelativeDates().

Referenced by executeCommand(), and infoScreenObject().

1462  {
1463  global $ilAccess, $ilTabs, $ilUser, $ilToolbar;
1464 
1465  if (!$this->external_rater_360 &&
1466  !$ilAccess->checkAccess("visible", "", $this->ref_id))
1467  {
1468  $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
1469  }
1470 
1471  $ilTabs->activateTab("info_short");
1472 
1473  include_once "./Modules/Survey/classes/class.ilSurveyExecutionGUI.php";
1474  $output_gui =& new ilSurveyExecutionGUI($this->object);
1475 
1476  include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
1477  $info = new ilInfoScreenGUI($this);
1478  $info->enablePrivateNotes();
1479 
1480  // "active" survey?
1481  $canStart = $this->object->canStartSurvey(null, $this->external_rater_360);
1482 
1483  $showButtons = $canStart["result"];
1484  if (!$showButtons)
1485  {
1486  if($canStart["edit_settings"] &&
1487  $ilAccess->checkAccess("write", "", $this->ref_id))
1488  {
1489  $canStart["messages"][] = "<a href=\"".$this->ctrl->getLinkTarget($this, "properties")."\">&raquo; ".
1490  $this->lng->txt("survey_edit_settings")."</a>";
1491  }
1492  ilUtil::sendInfo(implode("<br />", $canStart["messages"]));
1493  }
1494 
1495  $big_button = false;
1496  if ($showButtons)
1497  {
1498  // closing survey?
1499  $is_appraisee = false;
1500  if($this->object->get360Mode() &&
1501  $this->object->isAppraisee($ilUser->getId()))
1502  {
1503  $info->addSection($this->lng->txt("survey_360_appraisee_info"));
1504 
1505  $appr_data = $this->object->getAppraiseesData();
1506  $appr_data = $appr_data[$ilUser->getId()];
1507  $info->addProperty($this->lng->txt("survey_360_raters_status_info"), $appr_data["finished"]);
1508 
1509  if(!$appr_data["closed"])
1510  {
1511  $close_button_360 = '<div>'.
1512  '<a class="submit" href="'.$this->ctrl->getLinkTargetByClass("ilsurveyparticipantsgui", "confirmappraiseeclose").'">'.
1513  $this->lng->txt("survey_360_appraisee_close_action").'</a></div>';
1514 
1515  $txt = "survey_360_appraisee_close_action_info";
1516  if($this->object->get360SkillService())
1517  {
1518  $txt .= "_skill";
1519  }
1520  $info->addProperty($this->lng->txt("status"),
1521  $close_button_360.$this->lng->txt($txt));
1522  }
1523  else
1524  {
1526 
1527  $dt = new ilDateTime($appr_data["closed"], IL_CAL_UNIX);
1528  $info->addProperty($this->lng->txt("status"),
1529  sprintf($this->lng->txt("survey_360_appraisee_close_action_status"),
1531  }
1532 
1533  $is_appraisee = true;
1534  }
1535 
1536 
1537  // handle code
1538 
1539  // validate incoming
1540  $code_input = false;
1541  $anonymous_code = $_POST["anonymous_id"];
1542  if ($anonymous_code)
1543  {
1544  $code_input = true;
1545  // if(!$this->object->isUnusedCode($anonymous_code, $ilUser->getId()))
1546  if(!$this->object->checkSurveyCode($anonymous_code)) // #15031 - valid as long survey is not finished
1547  {
1548  $anonymous_code = null;
1549  }
1550  else
1551  {
1552  // #15860
1553  $this->object->bindSurveyCodeToUser($ilUser->getId(), $anonymous_code);
1554  }
1555  }
1556  if ($anonymous_code)
1557  {
1558  $_SESSION["anonymous_id"][$this->object->getId()] = $anonymous_code;
1559  }
1560  else
1561  {
1562  $anonymous_code = $_SESSION["anonymous_id"][$this->object->getId()];
1563  if($anonymous_code)
1564  {
1565  $code_input = true;
1566  }
1567  }
1568 
1569  // try to find code for current (registered) user from existing run
1570  if($this->object->getAnonymize() && !$anonymous_code)
1571  {
1572  $anonymous_code = $this->object->findCodeForUser($ilUser->getId());
1573  }
1574 
1575  // get existing runs for current user, might generate code
1576  $participant_status = $this->object->getUserSurveyExecutionStatus($anonymous_code);
1577  if($participant_status)
1578  {
1579  $anonymous_code = $participant_status["code"];
1580  $participant_status = $participant_status["runs"];
1581  }
1582 
1583  // (final) check for proper anonymous code
1584  if(!$this->object->isAccessibleWithoutCode() &&
1585  !$is_appraisee &&
1586  $code_input && // #11346
1587  (!$anonymous_code || !$this->object->isAnonymousKey($anonymous_code)))
1588  {
1589  $anonymous_code = null;
1590  ilUtil::sendInfo($this->lng->txt("wrong_survey_code_used"));
1591  }
1592 
1593  // :TODO: really save in session?
1594  $_SESSION["anonymous_id"][$this->object->getId()] = $anonymous_code;
1595 
1596  // code is mandatory and not given yet
1597  if(!$is_appraisee &&
1598  !$anonymous_code &&
1599  !$this->object->isAccessibleWithoutCode())
1600  {
1601  $info->setFormAction($this->ctrl->getFormAction($this, "infoScreen"));
1602  $info->addSection($this->lng->txt("anonymization"));
1603  $info->addProperty("", $this->lng->txt("anonymize_anonymous_introduction"));
1604  $info->addPropertyTextinput($this->lng->txt("enter_anonymous_id"), "anonymous_id", "", 8, "infoScreen", $this->lng->txt("submit"), true);
1605  }
1606  else
1607  {
1608  // trunk/default
1609  if(!$this->object->get360Mode())
1610  {
1611  if($anonymous_code)
1612  {
1613  $info->addHiddenElement("anonymous_id", $anonymous_code);
1614  }
1615 
1616  $survey_started = $this->object->isSurveyStarted($ilUser->getId(), $anonymous_code);
1617  if ($survey_started === 1)
1618  {
1619  ilUtil::sendInfo($this->lng->txt("already_completed_survey"));
1620  }
1621  elseif ($survey_started === 0)
1622  {
1623  $big_button = array("resume", $this->lng->txt("resume_survey"));
1624  }
1625  elseif ($survey_started === FALSE)
1626  {
1627  $big_button = array("start", $this->lng->txt("start_survey"));
1628  }
1629  }
1630  // 360°
1631  else
1632  {
1633  $appr_ids = array();
1634 
1635  // use given code (if proper external one)
1636  if($anonymous_code)
1637  {
1638  $anonymous_id = $this->object->getAnonymousIdByCode($anonymous_code);
1639  if($anonymous_id)
1640  {
1641  $appr_ids = $this->object->getAppraiseesToRate(0, $anonymous_id);
1642  }
1643  }
1644 
1645  // registered user
1646  // if an auto-code was generated, we still have to check for the original user id
1647  if(!$appr_ids && $ilUser->getId() != ANONYMOUS_USER_ID)
1648  {
1649  $appr_ids = $this->object->getAppraiseesToRate($ilUser->getId());
1650  }
1651 
1652  if(sizeof($appr_ids))
1653  {
1654  // map existing runs to appraisees
1655  $active_appraisees = array();
1656  if($participant_status)
1657  {
1658  foreach($participant_status as $item)
1659  {
1660  $active_appraisees[$item["appr_id"]] = $item["finished"];
1661  }
1662  }
1663 
1664  $list = array();
1665 
1666  foreach($appr_ids as $appr_id)
1667  {
1668  if($this->object->isAppraiseeClosed($appr_id))
1669  {
1670  // closed
1671  $list[$appr_id] = $this->lng->txt("survey_360_appraisee_is_closed");
1672  }
1673  else if(array_key_exists($appr_id, $active_appraisees))
1674  {
1675  // already done
1676  if($active_appraisees[$appr_id])
1677  {
1678  $list[$appr_id] = $this->lng->txt("already_completed_survey");
1679  }
1680  // resume
1681  else
1682  {
1683  $list[$appr_id] = array("resume", $this->lng->txt("resume_survey"));
1684  }
1685  }
1686  else
1687  {
1688  // start
1689  $list[$appr_id] = array("start", $this->lng->txt("start_survey"));
1690  }
1691  }
1692 
1693  $info->addSection($this->lng->txt("survey_360_rate_other_appraisees"));
1694 
1695  include_once "Services/User/classes/class.ilUserUtil.php";
1696  foreach($list as $appr_id => $item)
1697  {
1698  $appr_name = ilUserUtil::getNamePresentation($appr_id, false, false, "", true);
1699 
1700  if(!is_array($item))
1701  {
1702  $info->addProperty($appr_name, $item);
1703  }
1704  else
1705  {
1706  $this->ctrl->setParameter($output_gui, "appr_id", $appr_id);
1707  $href = $this->ctrl->getLinkTarget($output_gui, $item[0]);
1708  $this->ctrl->setParameter($output_gui, "appr_id", "");
1709 
1710  $big_button_360 = '<div>'.
1711  '<a class="submit" href="'.$href.'">'.$item[1].'</a></div>';
1712 
1713  $info->addProperty($appr_name, $big_button_360);
1714  }
1715  }
1716  }
1717  else if(!$is_appraisee)
1718  {
1719  ilUtil::sendFailure($this->lng->txt("survey_360_no_appraisees"));
1720  }
1721  }
1722  }
1723 
1724  if($this->object->get360Mode() &&
1725  $this->object->get360SelfAppraisee() &&
1726  !$this->object->isAppraisee($ilUser->getId()) &&
1727  $ilUser->getId() != ANONYMOUS_USER_ID) // #14968
1728  {
1729  $link = $this->ctrl->getLinkTargetByClass("ilsurveyparticipantsgui", "addSelfAppraisee");
1730  $link = '<a href="'.$link.'">'.$this->lng->txt("survey_360_add_self_appraisee").'</a>';
1731  $info->addProperty("&nbsp;", $link);
1732  }
1733  }
1734 
1735  if($big_button)
1736  {
1737  $ilToolbar->setFormAction($this->ctrl->getFormAction($output_gui, "infoScreen"));
1738  $ilToolbar->addFormButton($big_button[1], $big_button[0], "", true);
1739  $ilToolbar->setCloseFormTag(false);
1740  $info->setOpenFormTag(false);
1741  }
1742  /* #12016
1743  else
1744  {
1745  $info->setFormAction($this->ctrl->getFormAction($output_gui, "infoScreen"));
1746  }
1747  */
1748 
1749  if (strlen($this->object->getIntroduction()))
1750  {
1751  $introduction = $this->object->getIntroduction();
1752  $info->addSection($this->lng->txt("introduction"));
1753  $info->addProperty("", $this->object->prepareTextareaOutput($introduction).
1754  "<br />".$info->getHiddenToggleButton());
1755  }
1756  else
1757  {
1758  $info->addSection("");
1759  $info->addProperty("", $info->getHiddenToggleButton());
1760  }
1761 
1762  $info->hideFurtherSections(false);
1763 
1764  $info->addSection($this->lng->txt("svy_general_properties"));
1765  if (strlen($this->object->getAuthor()))
1766  {
1767  $info->addProperty($this->lng->txt("author"), $this->object->getAuthor());
1768  }
1769  $info->addProperty($this->lng->txt("title"), $this->object->getTitle());
1770  switch ($this->object->getAnonymize())
1771  {
1773  $info->addProperty($this->lng->txt("anonymization"), $this->lng->txt("anonymize_personalized"));
1774  break;
1776  if ($_SESSION["AccountId"] == ANONYMOUS_USER_ID)
1777  {
1778  $info->addProperty($this->lng->txt("anonymization"), $this->lng->txt("info_anonymize_with_code"));
1779  }
1780  else
1781  {
1782  $info->addProperty($this->lng->txt("anonymization"), $this->lng->txt("info_anonymize_registered_user"));
1783  }
1784  break;
1786  $info->addProperty($this->lng->txt("anonymization"), $this->lng->txt("info_anonymize_without_code"));
1787  break;
1788  }
1789  include_once "./Modules/Survey/classes/class.ilObjSurveyAccess.php";
1790  if ($ilAccess->checkAccess("write", "", $this->ref_id) || ilObjSurveyAccess::_hasEvaluationAccess($this->object->getId(), $ilUser->getId()))
1791  {
1792  $info->addProperty($this->lng->txt("evaluation_access"), $this->lng->txt("evaluation_access_info"));
1793  }
1794  $info->addMetaDataSections($this->object->getId(),0, $this->object->getType());
1795  $this->ctrl->forwardCommand($info);
1796  }
< 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']
Class ilInfoScreenGUI.
$_POST['username']
Definition: cron.php:12
static setUseRelativeDates($a_status)
set use relative dates
const IL_CAL_UNIX
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 sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
const ANONYMIZE_FREEACCESS
Survey execution graphical output.
static formatDate(ilDateTime $date)
Format a date public.
Date and time handling
redirection script todo: (a better solution should control the processing via a xml file) ...
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
global $ilUser
Definition: imgupload.php:15
_hasEvaluationAccess($a_obj_id, $user_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ infoScreenObject()

ilObjSurveyGUI::infoScreenObject ( )

this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed

Definition at line 1451 of file class.ilObjSurveyGUI.php.

References infoScreen().

1452  {
1453  $this->ctrl->setCmd("showSummary");
1454  $this->ctrl->setCmdClass("ilinfoscreengui");
1455  $this->infoScreen();
1456  }
infoScreen()
show information screen
+ Here is the call graph for this function:

◆ initImportForm()

ilObjSurveyGUI::initImportForm (   $a_new_type)
protected

Definition at line 1181 of file class.ilObjSurveyGUI.php.

References ilSelectInputGUI\setOptions(), and ilFileInputGUI\setSuffixes().

Referenced by importFileObject().

1182  {
1183  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
1184  $form = new ilPropertyFormGUI();
1185  $form->setTarget("_top");
1186  $form->setFormAction($this->ctrl->getFormAction($this));
1187  $form->setTitle($this->lng->txt("import_svy"));
1188 
1189  include_once("./Services/Form/classes/class.ilFileInputGUI.php");
1190  $fi = new ilFileInputGUI($this->lng->txt("import_file"), "importfile");
1191  $fi->setSuffixes(array("zip"));
1192  $fi->setRequired(true);
1193  $form->addItem($fi);
1194 
1195  include_once("./Modules/Survey/classes/class.ilObjSurvey.php");
1196  $svy = new ilObjSurvey();
1197  $questionspools = $svy->getAvailableQuestionpools(true, true, true);
1198 
1199  $pools = new ilSelectInputGUI($this->lng->txt("select_questionpool_short"), "spl");
1200  $pools->setOptions(array(""=>$this->lng->txt("dont_use_questionpool")) + $questionspools);
1201  $pools->setRequired(false);
1202  $form->addItem($pools);
1203 
1204  $form->addCommandButton("importFile", $this->lng->txt("import"));
1205  $form->addCommandButton("cancel", $this->lng->txt("cancel"));
1206 
1207  return $form;
1208  }
This class represents a selection list property in a property form.
This class represents a property form user interface.
This class represents a file property in a property form.
setOptions($a_options)
Set Options.
setSuffixes($a_suffixes)
Set Accepted Suffixes.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initPropertiesForm()

ilObjSurveyGUI::initPropertiesForm ( )

Init survey settings form.

Returns
ilPropertyFormGUI

Definition at line 663 of file class.ilObjSurveyGUI.php.

References $results, $section, ilObjectGUI\$tree, ilObject\_getAllReferences(), ilObjAdvancedEditing\_getUsedHTMLTags(), ilObjUser\_lookupName(), ilDateTimeInputGUI\enableDateActivation(), ilObjSurvey\EVALUATION_ACCESS_ALL, ilObjSurvey\EVALUATION_ACCESS_OFF, ilObjSurvey\EVALUATION_ACCESS_PARTICIPANTS, ilMD\getGeneral(), IL_CAL_TIMESTAMP, IL_CAL_UNIX, ilObjSurvey\NOTIFICATION_INVITED_USERS, ilObjSurvey\NOTIFICATION_PARENT_COURSE, ilObjSurvey\RESULTS_360_ALL, ilObjSurvey\RESULTS_360_NONE, ilObjSurvey\RESULTS_360_OWN, ilCheckboxInputGUI\setChecked(), ilTextAreaInputGUI\setCols(), ilTextInputGUI\setDataSource(), ilFormPropertyGUI\setDisabled(), ilRadioOption\setInfo(), ilFormPropertyGUI\setInfo(), ilFormPropertyGUI\setRequired(), ilDateDurationInputGUI\setShowTime(), ilTextInputGUI\setValue(), ilCheckboxInputGUI\setValue(), ilRadioGroupInputGUI\setValue(), ilNonEditableValueGUI\setValue(), and ilTextAreaInputGUI\setValue().

Referenced by propertiesObject(), and savePropertiesObject().

664  {
665  $template_settings = $hide_rte_switch = null;
666  $template = $this->object->getTemplate();
667  if($template)
668  {
669  include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
670  $template = new ilSettingsTemplate($template);
671 
672  $template_settings = $template->getSettings();
673  $hide_rte_switch = $template_settings["rte_switch"]["hide"];
674  }
675 
676  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
677  $form = new ilPropertyFormGUI();
678  $form->setFormAction($this->ctrl->getFormAction($this));
679  $form->setTableWidth("100%");
680  $form->setId("survey_properties");
681 
682  // general properties
683  $header = new ilFormSectionHeaderGUI();
684  $header->setTitle($this->lng->txt("settings"));
685  $form->addItem($header);
686 
687  // title & description (meta data)
688 
689  include_once 'Services/MetaData/classes/class.ilMD.php';
690  $md_obj = new ilMD($this->object->getId(), 0, "svy");
691  $md_section = $md_obj->getGeneral();
692 
693  $title = new ilTextInputGUI($this->lng->txt("title"), "title");
694  $title->setRequired(true);
695  $title->setValue($md_section->getTitle());
696  $form->addItem($title);
697 
698  $ids = $md_section->getDescriptionIds();
699  if($ids)
700  {
701  $desc_obj = $md_section->getDescription(array_pop($ids));
702 
703  $desc = new ilTextAreaInputGUI($this->lng->txt("description"), "description");
704  $desc->setCols(50);
705  $desc->setRows(4);
706  $desc->setValue($desc_obj->getDescription());
707  $form->addItem($desc);
708  }
709 
710  // anonymization
711  if(!$this->object->get360Mode())
712  {
713  $anonymization_options = new ilRadioGroupInputGUI($this->lng->txt("survey_auth_mode"), "anonymization_options");
714  $hasDatasets = $this->object->_hasDatasets($this->object->getSurveyId());
715  if ($hasDatasets)
716  {
717  $anonymization_options->setDisabled(true);
718  }
719  $anonymization_options->addOption(new ilCheckboxOption($this->lng->txt("anonymize_personalized"),
720  'personalized', ''));
721  $anonymization_options->addOption(new ilCheckboxOption(
722  $this->lng->txt("anonymize_without_code"), 'anonymize_without_code', ''));
723  $anonymization_options->addOption(new ilCheckboxOption(
724  $this->lng->txt("anonymize_with_code"), 'anonymize_with_code', ''));
725  if(!$this->object->getAnonymize())
726  {
727  $anonymization_options->setValue('personalized');
728  }
729  else
730  {
731  $anonymization_options->setValue(($this->object->isAccessibleWithoutCode()) ?
732  'anonymize_without_code' : 'anonymize_with_code');
733  }
734  $anonymization_options->setInfo($this->lng->txt("anonymize_survey_description"));
735  $form->addItem($anonymization_options);
736  }
737  // 360°
738  else
739  {
740  $self_eval = new ilCheckboxInputGUI($this->lng->txt("survey_360_self_evaluation"), "self_eval");
741  $self_eval->setChecked($this->object->get360SelfEvaluation());
742  $form->addItem($self_eval);
743 
744  $self_rate = new ilCheckboxInputGUI($this->lng->txt("survey_360_self_raters"), "self_rate");
745  $self_rate->setChecked($this->object->get360SelfRaters());
746  $form->addItem($self_rate);
747 
748  $self_appr = new ilCheckboxInputGUI($this->lng->txt("survey_360_self_appraisee"), "self_appr");
749  $self_appr->setChecked($this->object->get360SelfAppraisee());
750  $form->addItem($self_appr);
751  }
752 
753  // pool usage
754  $pool_usage = new ilRadioGroupInputGUI($this->lng->txt("survey_question_pool_usage"), "use_pool");
755  $opt = new ilRadioOption($this->lng->txt("survey_question_pool_usage_active"), 1);
756  $opt->setInfo($this->lng->txt("survey_question_pool_usage_active_info"));
757  $pool_usage->addOption($opt);
758  $opt = new ilRadioOption($this->lng->txt("survey_question_pool_usage_inactive"), 0);
759  $opt->setInfo($this->lng->txt("survey_question_pool_usage_inactive_info"));
760  $pool_usage->addOption($opt);
761  $pool_usage->setValue($this->object->getPoolUsage());
762  $form->addItem($pool_usage);
763 
764 
765  // activation
766 
767  include_once "Services/Object/classes/class.ilObjectActivation.php";
768  $this->lng->loadLanguageModule('rep');
769 
771  $section->setTitle($this->lng->txt('rep_activation_availability'));
772  $form->addItem($section);
773 
774  // additional info only with multiple references
775  $act_obj_info = $act_ref_info = "";
776  if(sizeof(ilObject::_getAllReferences($this->object->getId())) > 1)
777  {
778  $act_obj_info = ' '.$this->lng->txt('rep_activation_online_object_info');
779  $act_ref_info = $this->lng->txt('rep_activation_access_ref_info');
780  }
781 
782  $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'),'online');
783  $online->setInfo($this->lng->txt('svy_activation_online_info').$act_obj_info);
784  $online->setChecked($this->object->isOnline());
785  $form->addItem($online);
786 
787  $act_type = new ilCheckboxInputGUI($this->lng->txt('rep_visibility_until'),'access_type');
788  // $act_type->setInfo($this->lng->txt('svy_availability_until_info'));
789  $act_type->setChecked($this->object->isActivationLimited());
790 
791  $this->tpl->addJavaScript('./Services/Form/js/date_duration.js');
792  include_once "Services/Form/classes/class.ilDateDurationInputGUI.php";
793  $dur = new ilDateDurationInputGUI($this->lng->txt('rep_time_period'), "access_period");
794  $dur->setShowTime(true);
795  $date = $this->object->getActivationStartDate();
796  $dur->setStart(new ilDateTime($date ? $date : time(), IL_CAL_UNIX));
797  $dur->setStartText($this->lng->txt('rep_activation_limited_start'));
798  $date = $this->object->getActivationEndDate();
799  $dur->setEnd(new ilDateTime($date ? $date : time(), IL_CAL_UNIX));
800  $dur->setEndText($this->lng->txt('rep_activation_limited_end'));
801  $act_type->addSubItem($dur);
802 
803  $visible = new ilCheckboxInputGUI($this->lng->txt('rep_activation_limited_visibility'), 'access_visiblity');
804  $visible->setInfo($this->lng->txt('svy_activation_limited_visibility_info'));
805  $visible->setChecked($this->object->getActivationVisibility());
806  $act_type->addSubItem($visible);
807 
808  $form->addItem($act_type);
809 
810 
811  // enable start date
812  $start = $this->object->getStartDate();
813  $enablestartingtime = new ilCheckboxInputGUI($this->lng->txt("start_date"), "enabled_start_date");
814  $enablestartingtime->setValue(1);
815  // $enablestartingtime->setOptionTitle($this->lng->txt("enabled"));
816  $enablestartingtime->setChecked($start);
817  // start date
818  $startingtime = new ilDateTimeInputGUI('', 'start_date');
819  $startingtime->setShowDate(true);
820  $startingtime->setShowTime(true);
821  if ($start)
822  {
823  $startingtime->setDate(new ilDate($start, IL_CAL_TIMESTAMP));
824  }
825  $enablestartingtime->addSubItem($startingtime);
826  $form->addItem($enablestartingtime);
827 
828  // enable end date
829  $end = $this->object->getEndDate();
830  $enableendingtime = new ilCheckboxInputGUI($this->lng->txt("end_date"), "enabled_end_date");
831  $enableendingtime->setValue(1);
832  // $enableendingtime->setOptionTitle($this->lng->txt("enabled"));
833  $enableendingtime->setChecked($end);
834  // end date
835  $endingtime = new ilDateTimeInputGUI('', 'end_date');
836  $endingtime->setShowDate(true);
837  $endingtime->setShowTime(true);
838  if ($end)
839  {
840  $endingtime->setDate(new ilDate($end, IL_CAL_TIMESTAMP));
841  }
842  $enableendingtime->addSubItem($endingtime);
843  $form->addItem($enableendingtime);
844 
845 
846  // presentation properties
847  $info = new ilFormSectionHeaderGUI();
848  $info->setTitle($this->lng->txt("svy_presentation_properties"));
849  $form->addItem($info);
850 
851  // show question titles
852  $show_question_titles = new ilCheckboxInputGUI($this->lng->txt("svy_show_questiontitles"), "show_question_titles");
853  $show_question_titles->setValue(1);
854  $show_question_titles->setChecked($this->object->getShowQuestionTitles());
855  $form->addItem($show_question_titles);
856 
857  // introduction
858  $intro = new ilTextAreaInputGUI($this->lng->txt("introduction"), "introduction");
859  $intro->setValue($this->object->prepareTextareaOutput($this->object->getIntroduction()));
860  $intro->setRows(10);
861  $intro->setCols(80);
862  $intro->setUseRte(TRUE);
863  $intro->setInfo($this->lng->txt("survey_introduction_info"));
864  include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
865  $intro->setRteTags(ilObjAdvancedEditing::_getUsedHTMLTags("survey"));
866  $intro->addPlugin("latex");
867  $intro->addButton("latex");
868  $intro->addButton("pastelatex");
869  $intro->setRTESupport($this->object->getId(), "svy", "survey", null, $hide_rte_switch);
870  $form->addItem($intro);
871 
872  // final statement
873  $finalstatement = new ilTextAreaInputGUI($this->lng->txt("outro"), "outro");
874  $finalstatement->setValue($this->object->prepareTextareaOutput($this->object->getOutro()));
875  $finalstatement->setRows(10);
876  $finalstatement->setCols(80);
877  $finalstatement->setUseRte(TRUE);
878  $finalstatement->setRteTags(ilObjAdvancedEditing::_getUsedHTMLTags("survey"));
879  $finalstatement->addPlugin("latex");
880  $finalstatement->addButton("latex");
881  $finalstatement->addButton("pastelatex");
882  $finalstatement->setRTESupport($this->object->getId(), "svy", "survey", null, $hide_rte_switch);
883  $form->addItem($finalstatement);
884 
885 
886  // results properties
888  $results->setTitle($this->lng->txt("results"));
889  $form->addItem($results);
890 
891  // evaluation access
892  if(!$this->object->get360Mode())
893  {
894  $evaluation_access = new ilRadioGroupInputGUI($this->lng->txt('evaluation_access'), "evaluation_access");
895  $evaluation_access->setInfo($this->lng->txt('evaluation_access_description'));
896  $evaluation_access->addOption(new ilCheckboxOption($this->lng->txt("evaluation_access_off"), ilObjSurvey::EVALUATION_ACCESS_OFF, ''));
897  $evaluation_access->addOption(new ilCheckboxOption($this->lng->txt("evaluation_access_all"), ilObjSurvey::EVALUATION_ACCESS_ALL, ''));
898  $evaluation_access->addOption(new ilCheckboxOption($this->lng->txt("evaluation_access_participants"), ilObjSurvey::EVALUATION_ACCESS_PARTICIPANTS, ''));
899  $evaluation_access->setValue($this->object->getEvaluationAccess());
900  $form->addItem($evaluation_access);
901  }
902  // 360°
903  else
904  {
905  $ts_results = new ilRadioGroupInputGUI($this->lng->txt("survey_360_results"), "ts_res");
906  $ts_results->setValue($this->object->get360Results());
907  $ts_results->addOption(new ilRadioOption($this->lng->txt("survey_360_results_none"), ilObjSurvey::RESULTS_360_NONE));
908  $ts_results->addOption(new ilRadioOption($this->lng->txt("survey_360_results_own"), ilObjSurvey::RESULTS_360_OWN));
909  $ts_results->addOption(new ilRadioOption($this->lng->txt("survey_360_results_all"), ilObjSurvey::RESULTS_360_ALL));
910  $form->addItem($ts_results);
911  }
912 
913  // mail notification
914  $mailnotification = new ilCheckboxInputGUI($this->lng->txt("mailnotification"), "mailnotification");
915  // $mailnotification->setOptionTitle($this->lng->txt("activate"));
916  $mailnotification->setInfo($this->lng->txt("svy_result_mail_notification_info")); // #11762
917  $mailnotification->setValue(1);
918  $mailnotification->setChecked($this->object->getMailNotification());
919 
920  // addresses
921  $mailaddresses = new ilTextInputGUI($this->lng->txt("mailaddresses"), "mailaddresses");
922  $mailaddresses->setValue($this->object->getMailAddresses());
923  $mailaddresses->setSize(80);
924  $mailaddresses->setInfo($this->lng->txt('mailaddresses_info'));
925  $mailaddresses->setRequired(true);
926 
927  // participant data
928  $participantdata = new ilTextAreaInputGUI($this->lng->txt("mailparticipantdata"), "mailparticipantdata");
929  $participantdata->setValue($this->object->getMailParticipantData());
930  $participantdata->setRows(6);
931  $participantdata->setCols(80);
932  $participantdata->setUseRte(false);
933  $participantdata->setInfo($this->lng->txt('mailparticipantdata_info'));
934 
935  // #12755 - because of privacy concerns we restrict user data to a minimum
936  $placeholders = array(
937  "FIRST_NAME" => "firstname",
938  "LAST_NAME" => "lastname",
939  "LOGIN" => "login"
940  );
941  $txt = array();
942  foreach($placeholders as $placeholder => $caption)
943  {
944  $txt[] = "[".strtoupper($placeholder)."]: ".$this->lng->txt($caption);
945  }
946  $txt = implode("<br />", $txt);
947  $participantdatainfo = new ilNonEditableValueGUI($this->lng->txt("mailparticipantdata_placeholder"), "", true);
948  $participantdatainfo->setValue($txt);
949 
950  $mailnotification->addSubItem($mailaddresses);
951  $mailnotification->addSubItem($participantdata);
952  $mailnotification->addSubItem($participantdatainfo);
953  $form->addItem($mailnotification);
954 
955  // reminder/notification - currently not available for 360°
956  if(!$this->object->get360Mode())
957  {
958  // parent course?
959  global $tree;
960  $has_parent = $tree->checkForParentType($this->object->getRefId(), "grp");
961  if(!$has_parent)
962  {
963  $has_parent = $tree->checkForParentType($this->object->getRefId(), "crs");
964  }
965  $num_inv = sizeof($this->object->getInvitedUsers());
966 
967  $ntf = new ilFormSectionHeaderGUI();
968  $ntf->setTitle($this->lng->txt("survey_notification_settings"));
969  $form->addItem($ntf);
970 
971  // reminder
972  $rmd = new ilCheckboxInputGUI($this->lng->txt("survey_reminder_setting"), "rmd");
973  $rmd->setChecked($this->object->getReminderStatus());
974  $form->addItem($rmd);
975 
976  $rmd_start = new ilDateTimeInputGUI($this->lng->txt("survey_reminder_start"), "rmd_start");
977  $rmd_start->setRequired(true);
978  $start = $this->object->getReminderStart();
979  if($start)
980  {
981  $rmd_start->setDate($start);
982  }
983  $rmd->addSubItem($rmd_start);
984 
985  $end = $this->object->getReminderEnd();
986  $rmd_end = new ilDateTimeInputGUI($this->lng->txt("survey_reminder_end"), "rmd_end");
987  $rmd_end->enableDateActivation("", "rmd_end_tgl", (bool)$end);
988  if($end)
989  {
990  $rmd_end->setDate($end);
991  }
992  $rmd->addSubItem($rmd_end);
993 
994  $rmd_freq = new ilNumberInputGUI($this->lng->txt("survey_reminder_frequency"), "rmd_freq");
995  $rmd_freq->setRequired(true);
996  $rmd_freq->setSize(3);
997  $rmd_freq->setSuffix($this->lng->txt("survey_reminder_frequency_days"));
998  $rmd_freq->setValue($this->object->getReminderFrequency());
999  $rmd_freq->setMinValue(1);
1000  $rmd->addSubItem($rmd_freq);
1001 
1002  $rmd_grp = new ilRadioGroupInputGUI($this->lng->txt("survey_notification_target_group"), "rmd_grp");
1003  $rmd_grp->setRequired(true);
1004  $rmd_grp->setValue($this->object->getReminderTarget());
1005  $rmd->addSubItem($rmd_grp);
1006 
1007  $rmd_grp_crs = new ilRadioOption($this->lng->txt("survey_notification_target_group_parent_course"),
1009  if(!$has_parent)
1010  {
1011  $rmd_grp_crs->setInfo($this->lng->txt("survey_notification_target_group_parent_course_inactive"));
1012  }
1013  $rmd_grp->addOption($rmd_grp_crs);
1014 
1015  $rmd_grp_inv = new ilRadioOption($this->lng->txt("survey_notification_target_group_invited"),
1017  $rmd_grp_inv->setInfo(sprintf($this->lng->txt("survey_notification_target_group_invited_info"), $num_inv));
1018  $rmd_grp->addOption($rmd_grp_inv);
1019 
1020 
1021  // notification
1022  $tut = new ilCheckboxInputGUI($this->lng->txt("survey_notification_tutor_setting"), "tut");
1023  $tut->setChecked($this->object->getTutorNotificationStatus());
1024  $form->addItem($tut);
1025 
1026  $tut_logins = array();
1027  $tuts = $this->object->getTutorNotificationRecipients();
1028  if($tuts)
1029  {
1030  foreach($tuts as $tut_id)
1031  {
1032  $tmp = ilObjUser::_lookupName($tut_id);
1033  if($tmp["login"])
1034  {
1035  $tut_logins[] = $tmp["login"];
1036  }
1037  }
1038  }
1039  $tut_ids = new ilTextInputGUI($this->lng->txt("survey_notification_tutor_recipients"), "tut_ids");
1040  $tut_ids->setDataSource($this->ctrl->getLinkTarget($this, "doAutoComplete", "", true));
1041  $tut_ids->setRequired(true);
1042  $tut_ids->setMulti(true);
1043  $tut_ids->setMultiValues($tut_logins);
1044  $tut_ids->setValue(array_shift($tut_logins));
1045  $tut->addSubItem($tut_ids);
1046 
1047  $tut_grp = new ilRadioGroupInputGUI($this->lng->txt("survey_notification_target_group"), "tut_grp");
1048  $tut_grp->setRequired(true);
1049  $tut_grp->setValue($this->object->getTutorNotificationTarget());
1050  $tut->addSubItem($tut_grp);
1051 
1052  $tut_grp_crs = new ilRadioOption($this->lng->txt("survey_notification_target_group_parent_course"),
1054  if(!$has_parent)
1055  {
1056  $tut_grp_crs->setInfo($this->lng->txt("survey_notification_target_group_parent_course_inactive"));
1057  }
1058  $tut_grp->addOption($tut_grp_crs);
1059 
1060  $tut_grp_inv = new ilRadioOption($this->lng->txt("survey_notification_target_group_invited"),
1062  $tut_grp_inv->setInfo(sprintf($this->lng->txt("survey_notification_target_group_invited_info"), $num_inv));
1063  $tut_grp->addOption($tut_grp_inv);
1064  }
1065 
1066  // competence service activation for 360 mode
1067  include_once("./Services/Skill/classes/class.ilSkillManagementSettings.php");
1068  $skmg_set = new ilSkillManagementSettings();
1069  if($this->object->get360Mode() && $skmg_set->isActivated())
1070  {
1071  $other = new ilFormSectionHeaderGUI();
1072  $other->setTitle($this->lng->txt("other"));
1073  $form->addItem($other);
1074 
1075  $skill_service = new ilCheckboxInputGUI($this->lng->txt("survey_activate_skill_service"), "skill_service");
1076  $skill_service->setChecked($this->object->get360SkillService());
1077  $form->addItem($skill_service);
1078  }
1079 
1080  $form->addCommandButton("saveProperties", $this->lng->txt("save"));
1081 
1082  // remove items when using template
1083  if($template_settings)
1084  {
1085  foreach($template_settings as $id => $item)
1086  {
1087  if($item["hide"])
1088  {
1089  $form->removeItemByPostVar($id);
1090  }
1091  }
1092  }
1093 
1094  return $form;
1095  }
static _lookupName($a_user_id)
lookup user name
This class represents an option in a radio group.
setDataSource($href, $a_delimiter=null)
set datasource link for js autocomplete
This class represents an option in a checkbox group.
const EVALUATION_ACCESS_OFF
This class represents a property form user interface.
const EVALUATION_ACCESS_PARTICIPANTS
This class represents a section header in a property form.
setValue($a_value)
Set Value.
This class represents a checkbox property in a property form.
const IL_CAL_UNIX
setInfo($a_info)
Set Info.
static _getAllReferences($a_id)
get all reference ids of object
This class represents a date/time property in a property form.
setInfo($a_info)
Set Information Text.
$section
Definition: Utf8Test.php:84
setChecked($a_checked)
Set Checked.
input GUI for a time span (start and end date)
This class represents a property in a property form.
Class for single dates.
const NOTIFICATION_PARENT_COURSE
This class represents a number property in a property form.
setValue($a_value)
Set Value.
This class represents a text property in a property form.
& getGeneral()
Definition: class.ilMD.php:55
Date and time handling
$results
setShowTime($a_showtime)
Set Show Time Information.
const NOTIFICATION_INVITED_USERS
const EVALUATION_ACCESS_ALL
enableDateActivation($a_title, $a_postvar, $a_checked=true)
Enable date activation.
This class represents a non editable value in a property form.
& _getUsedHTMLTags($a_module="")
Returns an array of all allowed HTML tags for text editing.
This class represents a text area property in a property form.
const IL_CAL_TIMESTAMP
setValue($a_value)
Set Value.
setDisabled($a_disabled)
Set Disabled.
Settings template application class.
setRequired($a_required)
Set Required.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ propertiesObject()

ilObjSurveyGUI::propertiesObject ( ilPropertyFormGUI  $a_form = null)

Display and fill the properties form of the test.

public

Definition at line 1102 of file class.ilObjSurveyGUI.php.

References handleWriteAccess(), initPropertiesForm(), and ilSettingsTemplate\lookupTitle().

Referenced by savePropertiesObject().

1103  {
1104  global $ilAccess, $ilTabs, $ilHelp;
1105 
1106  $this->handleWriteAccess();
1107 
1108  $ilTabs->activateTab("settings");
1109 
1110 
1111  if ($this->object->get360Mode())
1112  {
1113  $ilHelp->setScreenId("settings_360");
1114  }
1115 
1116  if(!$a_form)
1117  {
1118  $a_form = $this->initPropertiesForm();
1119  }
1120 
1121  // using template?
1122  $message = "";
1123  if($this->object->getTemplate())
1124  {
1125  $link = $this->ctrl->getLinkTarget($this, "confirmResetTemplate");
1126  $link = "<a href=\"".$link."\">".$this->lng->txt("survey_using_template_link")."</a>";
1127  $message = "<div style=\"margin-top:10px\">".
1128  $this->tpl->getMessageHTML(sprintf($this->lng->txt("survey_using_template"),
1129  ilSettingsTemplate::lookupTitle($this->object->getTemplate()), $link), "info"). // #10651
1130  "</div>";
1131  }
1132 
1133  $this->tpl->setContent($a_form->getHTML().$message);
1134  }
handleWriteAccess()
Checks for write access and returns to the parent object.
static lookupTitle($a_id)
Lookup title.
initPropertiesForm()
Init survey settings form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetTemplateObject()

ilObjSurveyGUI::resetTemplateObject ( )

Enable all settings - remove template.

Definition at line 1166 of file class.ilObjSurveyGUI.php.

References ilUtil\sendSuccess().

1167  {
1168  $this->object->setTemplate(null);
1169  $this->object->saveToDB();
1170 
1171  ilUtil::sendSuccess($this->lng->txt("survey_template_reset"), true);
1172  $this->ctrl->redirect($this, "properties");
1173  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
+ Here is the call graph for this function:

◆ savePropertiesObject()

ilObjSurveyGUI::savePropertiesObject ( )

Save the survey properties.

Save the survey properties

private

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

References $_POST, $_SESSION, $valid, ilObjUser\_lookupId(), ilObjSurvey\ANONYMIZE_CODE_ALL, ilObjSurvey\ANONYMIZE_FREEACCESS, ilObjSurvey\ANONYMIZE_OFF, ilObjSurvey\ANONYMIZE_ON, ilMD\getGeneral(), IL_CAL_DATE, IL_CAL_UNIX, initPropertiesForm(), propertiesObject(), ilUtil\sendFailure(), ilUtil\sendSuccess(), ilUtil\stripSlashes(), and ilMDBase\update().

433  {
434  global $rbacsystem;
435 
436  $form = $this->initPropertiesForm();
437  if ($form->checkInput())
438  {
439  $valid = true;
440 
441  if(!$this->object->get360Mode())
442  {
443  if($form->getInput("tut"))
444  {
445  // check if given "tutors" have write permission
446  $tut_ids =array();
447  $tut_logins = $form->getInput("tut_ids");
448  foreach($tut_logins as $tut_login)
449  {
450  $tut_id = ilObjUser::_lookupId($tut_login);
451  if($tut_id && $rbacsystem->checkAccessOfUser($tut_id, "write", $this->object->getRefId()))
452  {
453  $tut_ids[] = $tut_id;
454  }
455  }
456  if(!$tut_ids)
457  {
458  $tut_ids = $form->getItemByPostVar("tut_ids");
459  $tut_ids->setAlert($this->lng->txt("survey_notification_tutor_recipients_invalid"));
460  $valid = false;
461  }
462  }
463  }
464 
465  if($valid)
466  {
467  if(!$this->object->get360Mode())
468  {
469  if($form->getInput("rmd"))
470  {
471  $rmd_start = $form->getInput("rmd_start");
472  $rmd_start = $rmd_start["date"];
473  $rmd_end = null;
474  if($form->getInput("rmd_end_tgl"))
475  {
476  $rmd_end = $form->getInput("rmd_end");
477  $rmd_end = $rmd_end["date"];
478  if($rmd_start > $rmd_end)
479  {
480  $tmp = $rmd_start;
481  $rmd_start = $rmd_end;
482  $rmd_end = $tmp;
483  }
484  $rmd_end = new ilDate($rmd_end, IL_CAL_DATE);
485  }
486  $rmd_start = new ilDate($rmd_start, IL_CAL_DATE);
487 
488  $this->object->setReminderStatus(true);
489  $this->object->setReminderStart($rmd_start);
490  $this->object->setReminderEnd($rmd_end);
491  $this->object->setReminderFrequency($form->getInput("rmd_freq"));
492  $this->object->setReminderTarget($form->getInput("rmd_grp"));
493  }
494  else
495  {
496  $this->object->setReminderStatus(false);
497  }
498 
499  if($form->getInput("tut"))
500  {
501  $this->object->setTutorNotificationStatus(true);
502  $this->object->setTutorNotificationRecipients($tut_ids); // see above
503  $this->object->setTutorNotificationTarget($form->getInput("tut_grp"));
504  }
505  else
506  {
507  $this->object->setTutorNotificationStatus(false);
508  }
509  }
510 
511  // #10055
512  if ($_POST['online'] && count($this->object->questions) == 0)
513  {
514  $_POST['online'] = null;
515  ilUtil::sendFailure($this->lng->txt("cannot_switch_to_online_no_questions"), true);
516  }
517 
518  $template_settings = null;
519  $template = $this->object->getTemplate();
520  if($template)
521  {
522  include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
523  $template = new ilSettingsTemplate($template);
524  $template_settings = $template->getSettings();
525  }
526 
527  include_once 'Services/MetaData/classes/class.ilMD.php';
528  $md_obj =& new ilMD($this->object->getId(), 0, "svy");
529  $md_section = $md_obj->getGeneral();
530 
531  // title
532  $md_section->setTitle(ilUtil::stripSlashes($_POST['title']));
533  $md_section->update();
534 
535  // Description
536  $md_desc_ids = $md_section->getDescriptionIds();
537  if($md_desc_ids)
538  {
539  $md_desc = $md_section->getDescription(array_pop($md_desc_ids));
540  $md_desc->setDescription(ilUtil::stripSlashes($_POST['description']));
541  $md_desc->update();
542  }
543 
544  // both are saved in object, too
545  $this->object->setTitle(ilUtil::stripSlashes($_POST['title']));
546  $this->object->setDescription(ilUtil::stripSlashes($_POST['description']));
547  $this->object->update();
548 
549  $this->object->setStatus($_POST['online']);
550 
551  // activation
552  if($_POST["access_type"])
553  {
554  $this->object->setActivationLimited(true);
555  $this->object->setActivationVisibility($_POST["access_visiblity"]);
556 
557  $period = $form->getItemByPostVar("access_period");
558  $this->object->setActivationStartDate($period->getStart()->get(IL_CAL_UNIX));
559  $this->object->setActivationEndDate($period->getEnd()->get(IL_CAL_UNIX));
560  }
561  else
562  {
563  $this->object->setActivationLimited(false);
564  }
565 
566 
567  if(!$template_settings["enabled_start_date"]["hide"])
568  {
569  if ($_POST["enabled_start_date"])
570  {
571  $this->object->setStartDateAndTime($_POST["start_date"]['date'], $_POST["start_date"]['time']);
572  }
573  else
574  {
575  $this->object->setStartDate(null);
576  }
577  }
578 
579  if(!$template_settings["enabled_end_date"]["hide"])
580  {
581  if ($_POST["enabled_end_date"])
582  {
583  $this->object->setEndDateAndTime($_POST["end_date"]['date'], $_POST["end_date"]['time']);
584  }
585  else
586  {
587  $this->object->setEndDate(null);
588  }
589  }
590 
591 
592  include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
593  $introduction = $_POST["introduction"];
594  $this->object->setIntroduction($introduction);
595  $outro = $_POST["outro"];
596  $this->object->setOutro($outro);
597 
598  if(!$template_settings["show_question_titles"]["hide"])
599  {
600  $this->object->setShowQuestionTitles($_POST["show_question_titles"]);
601  }
602 
603  if(!$template_settings["use_pool"]["hide"])
604  {
605  $this->object->setPoolUsage($_POST["use_pool"]);
606  }
607 
608  $this->object->setMailNotification($_POST['mailnotification']);
609  $this->object->setMailAddresses($_POST['mailaddresses']);
610  $this->object->setMailParticipantData($_POST['mailparticipantdata']);
611 
612  // 360°
613  if($this->object->get360Mode())
614  {
615  $this->object->set360SelfEvaluation((bool)$_POST["self_eval"]);
616  $this->object->set360SelfAppraisee((bool)$_POST["self_appr"]);
617  $this->object->set360SelfRaters((bool)$_POST["self_rate"]);
618  $this->object->set360Results((int)$_POST["ts_res"]);;
619  $this->object->set360SkillService((int)$_POST["skill_service"]);
620  }
621  else
622  {
623  $this->object->setEvaluationAccess($_POST["evaluation_access"]);
624 
625  $hasDatasets = $this->object->_hasDatasets($this->object->getSurveyId());
626  if (!$hasDatasets)
627  {
628  $anon_map = array('personalized' => ilObjSurvey::ANONYMIZE_OFF,
629  'anonymize_with_code' => ilObjSurvey::ANONYMIZE_ON,
630  'anonymize_without_code' => ilObjSurvey::ANONYMIZE_FREEACCESS);
631  if(array_key_exists($_POST["anonymization_options"], $anon_map))
632  {
633  $this->object->setAnonymize($anon_map[$_POST["anonymization_options"]]);
634  if (strcmp($_POST['anonymization_options'], 'anonymize_with_code') == 0) $anonymize = ilObjSurvey::ANONYMIZE_ON;
635  if (strcmp($_POST['anonymization_options'], 'anonymize_with_code_all') == 0) $anonymize = ilObjSurvey::ANONYMIZE_CODE_ALL;
636  }
637  }
638  }
639 
640  $this->object->saveToDb();
641 
642  if (strcmp($_SESSION["info"], "") != 0)
643  {
644  ilUtil::sendSuccess($_SESSION["info"] . "<br />" . $this->lng->txt("settings_saved"), true);
645  }
646  else
647  {
648  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
649  }
650  $this->ctrl->redirect($this, "properties");
651  }
652  }
653 
654  $form->setValuesByPost();
655  $this->propertiesObject($form);
656  }
< 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
$valid
static _lookupId($a_user_str)
lookup id by login
const IL_CAL_UNIX
Class for single dates.
const ANONYMIZE_FREEACCESS
& getGeneral()
Definition: class.ilMD.php:55
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
const IL_CAL_DATE
propertiesObject(ilPropertyFormGUI $a_form=null)
Display and fill the properties form of the test.
const ANONYMIZE_CODE_ALL
Settings template application class.
initPropertiesForm()
Init survey settings form.
+ Here is the call graph for this function:

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