4include_once 
"./Services/Object/classes/class.ilObjectGUI.php";
 
   29                $lng->loadLanguageModule(
"survey");
 
   31                $this->ctrl->saveParameter($this, 
"ref_id");
 
   33                parent::__construct(
"", (
int)
$_GET[
"ref_id"], 
true, 
false);
 
   38                global $ilAccess, $ilNavigationHistory, 
$ilErr, $ilTabs;
 
   40                $this->external_rater_360 = 
false;
 
   41                if(!$this->creation_mode &&
 
   42                        $this->object->get360Mode() &&
 
   43                        $_SESSION[
"anonymous_id"][$this->object->getId()] && 
 
   45                                $_SESSION[
"anonymous_id"][$this->object->getId()]))
 
   47                        $this->external_rater_360 = 
true;
 
   50                if(!$this->external_rater_360)
 
   52                        if (!$ilAccess->checkAccess(
"read", 
"", $this->ref_id) && 
 
   53                                !$ilAccess->checkAccess(
"visible", 
"", $this->ref_id))
 
   55                                $ilErr->raiseError($this->lng->txt(
"permission_denied"), 
$ilErr->MESSAGE);
 
   60                                $ilAccess->checkAccess(
"read", 
"", $this->ref_id))
 
   62                                $this->ctrl->setParameterByClass(
"ilobjsurveygui", 
"ref_id", $this->ref_id);
 
   63                                $link = $this->ctrl->getLinkTargetByClass(
"ilobjsurveygui", 
"");
 
   64                                $ilNavigationHistory->addItem($this->ref_id, $link, 
"svy");
 
   68                $cmd = $this->ctrl->getCmd(
"properties");                                               
 
   71                if (
$cmd == 
"saveTags")
 
   73                        $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
   77                if(!$this->ctrl->getCmdClass() && 
$cmd == 
"questionsrepo")
 
   80                        $this->ctrl->setCmd(
"questions");
 
   81                        $this->ctrl->setCmdClass(
"ilsurveyeditorgui");
 
   84                $next_class = $this->ctrl->getNextClass($this);
 
   85                $this->ctrl->setReturn($this, 
"properties");
 
   91                        case "ilinfoscreengui":
 
   92                                if(!in_array($this->ctrl->getCmdClass(),
 
   93                                        array(
'ilpublicuserprofilegui', 
'ilobjportfoliogui')))
 
  101                                        $ilTabs->clearTargets();
 
  102                                        include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
  104                                        $this->ctrl->forwardCommand($info);
 
  108                        case 'ilmdeditorgui':
 
  110                                $ilTabs->activateTab(
"meta_data");
 
  112                                include_once 
'Services/MetaData/classes/class.ilMDEditorGUI.php';
 
  113                                $md_gui =& 
new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType());
 
  114                                $md_gui->addObserver($this->
object,
'MDUpdateListener',
'General');
 
  116                                $this->ctrl->forwardCommand($md_gui);
 
  119                        case "ilsurveyevaluationgui":
 
  120                                $ilTabs->activateTab(
"svy_results");
 
  122                                include_once(
"./Modules/Survey/classes/class.ilSurveyEvaluationGUI.php");
 
  124                                $this->ctrl->forwardCommand($eval_gui);
 
  127                        case "ilsurveyexecutiongui":
 
  128                                $ilTabs->clearTargets();
 
  129                                include_once(
"./Modules/Survey/classes/class.ilSurveyExecutionGUI.php");
 
  131                                $this->ctrl->forwardCommand($exec_gui);
 
  134                        case 'ilpermissiongui':
 
  135                                $ilTabs->activateTab(
"perm_settings");
 
  137                                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
  139                                $this->ctrl->forwardCommand($perm_gui);
 
  142                        case 'ilobjectcopygui':
 
  143                                include_once 
'./Services/Object/classes/class.ilObjectCopyGUI.php';
 
  146                                $this->ctrl->forwardCommand($cp);
 
  149                        case "ilcommonactiondispatchergui":
 
  150                                include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
 
  152                                $this->ctrl->forwardCommand($gui);
 
  156                        case 'ilsurveyskillgui':
 
  157                                $ilTabs->activateTab(
"survey_competences");
 
  158                                include_once(
"./Modules/Survey/classes/class.ilSurveySkillGUI.php");
 
  160                                $this->ctrl->forwardCommand($gui);
 
  163                        case 'ilsurveyskilldeterminationgui':
 
  164                                $ilTabs->activateTab(
"maintenance");
 
  165                                include_once(
"./Modules/Survey/classes/class.ilSurveySkillDeterminationGUI.php");
 
  167                                $this->ctrl->forwardCommand($gui);
 
  170                        case 'ilsurveyeditorgui':
 
  172                                $ilTabs->activateTab(
"survey_questions");
 
  173                                include_once(
"./Modules/Survey/classes/class.ilSurveyEditorGUI.php");
 
  175                                $this->ctrl->forwardCommand($gui);
 
  178                        case 'ilsurveyconstraintsgui':
 
  180                                $ilTabs->activateTab(
"constraints");
 
  181                                include_once(
"./Modules/Survey/classes/class.ilSurveyConstraintsGUI.php");
 
  183                                $this->ctrl->forwardCommand($gui);
 
  186                        case 'ilsurveyparticipantsgui':         
 
  187                                if(!$this->object->get360Mode())
 
  189                                        $ilTabs->activateTab(
"maintenance");                            
 
  193                                        $ilTabs->activateTab(
"survey_360_appraisees");
 
  195                                include_once(
"./Modules/Survey/classes/class.ilSurveyParticipantsGUI.php");
 
  197                                $this->ctrl->forwardCommand($gui);
 
  207                if (strtolower(
$_GET[
"baseClass"]) != 
"iladministrationgui" &&
 
  223                include_once(
"./Modules/Survey/classes/class.ilSurveyEvaluationGUI.php");
 
  225                $this->ctrl->setCmdClass(get_class($eval_gui));
 
  226                $this->ctrl->redirect($eval_gui, 
"evaluation");
 
  231                include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  235                        foreach($templates as $item)
 
  237                                $a_options[
"svytpl_".$item[
"id"]] = array($item[
"title"],
 
  238                                        nl2br(trim($item[
"description"])));
 
  243                $a_options[
"svy360_1"] = array($this->lng->txt(
"survey_360_mode"),
 
  244                        $this->lng->txt(
"survey_360_mode_info"));
 
  254                $a_new_object->loadFromDb();
 
  259                        $a_new_object->applySettingsTemplate(
$tpl);
 
  263                if($a_new_object->get360Mode())
 
  269                $a_new_object->saveToDB();
 
  274                        $a_new_object->
getRefId().
"&cmd=properties");
 
  284                global $ilAccess, 
$ilUser, $ilHelp;
 
  291                $ilHelp->setScreenIdComponent(
"svy");
 
  293                $hidden_tabs = array();
 
  294                $template = $this->
object->getTemplate();
 
  297                        include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  299                        $hidden_tabs = $template->getHiddenTabs();
 
  302                if ($ilAccess->checkAccess(
"write", 
"", $this->ref_id))
 
  304                        $tabs_gui->addTab(
"survey_questions",
 
  305                                $this->lng->txt(
"survey_questions"),
 
  306                                $this->ctrl->getLinkTargetByClass(array(
"ilsurveyeditorgui", 
"ilsurveypagegui"), 
"renderPage"));
 
  309                if ($ilAccess->checkAccess(
"visible", 
"", $this->ref_id))
 
  311                        $tabs_gui->addTab(
"info_short",
 
  312                                $this->lng->txt(
"info_short"),
 
  313                                $this->ctrl->getLinkTarget($this,
'infoScreen'));
 
  317                if ($ilAccess->checkAccess(
"write", 
"", $this->ref_id))
 
  319                        $tabs_gui->addTab(
"settings",
 
  320                                $this->lng->txt(
"settings"),
 
  321                                $this->ctrl->getLinkTarget($this,
'properties'));
 
  323                else if ($ilAccess->checkAccess(
"read", 
"", $this->ref_id))
 
  325                        if($this->object->get360Mode() && 
 
  326                                $this->object->get360SelfRaters() &&
 
  327                                $this->object->isAppraisee(
$ilUser->getId()) &&
 
  328                                !$this->object->isAppraiseeClosed(
$ilUser->getId()))
 
  330                                $tabs_gui->addTab(
"survey_360_edit_raters",
 
  331                                        $this->lng->txt(
"survey_360_edit_raters"),
 
  332                                        $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui',
'editRaters'));     
 
  339                if ($ilAccess->checkAccess(
"write", 
"", $this->ref_id) &&
 
  340                        !in_array(
"constraints", $hidden_tabs) &&
 
  341                        !$this->object->get360Mode())
 
  344                        $tabs_gui->addTab(
"constraints",
 
  345                                $this->lng->txt(
"constraints"),
 
  346                                 $this->ctrl->getLinkTargetByClass(
"ilsurveyconstraintsgui", 
"constraints"));
 
  349                if ($ilAccess->checkAccess(
"write", 
"", $this->ref_id))
 
  352                        if($this->object->get360Mode())
 
  355                                include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
 
  357                                if ($this->object->get360SkillService() && $skmg_set->isActivated())
 
  359                                        $tabs_gui->addTab(
"survey_competences",
 
  360                                                $this->lng->txt(
"survey_competences"),
 
  361                                                $this->ctrl->getLinkTargetByClass(
"ilsurveyskillgui", 
"listQuestionAssignment"));
 
  364                                $tabs_gui->addTab(
"survey_360_appraisees",
 
  365                                        $this->lng->txt(
"survey_360_appraisees"),
 
  366                                        $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui', 
'listAppraisees'));                                                
 
  371                                $tabs_gui->addTab(
"maintenance",
 
  372                                        $this->lng->txt(
"maintenance"),
 
  373                                        $this->ctrl->getLinkTargetByClass(
'ilsurveyparticipantsgui', 
'maintenance'));
 
  377                include_once 
"./Modules/Survey/classes/class.ilObjSurveyAccess.php";
 
  378                if ($ilAccess->checkAccess(
"write", 
"", $this->ref_id) || 
 
  382                        $tabs_gui->addTab(
"svy_results",
 
  383                                $this->lng->txt(
"svy_results"),
 
  384                                $this->ctrl->getLinkTargetByClass(
"ilsurveyevaluationgui", 
"evaluation"));
 
  387                if ($ilAccess->checkAccess(
"write", 
"", $this->ref_id))
 
  389                        if(!in_array(
"meta_data", $hidden_tabs))
 
  392                                $tabs_gui->addTab(
"meta_data",
 
  393                                        $this->lng->txt(
"meta_data"),
 
  394                                        $this->ctrl->getLinkTargetByClass(
'ilmdeditorgui',
'listSection'));
 
  397                        if(!in_array(
"export", $hidden_tabs))
 
  400                                $tabs_gui->addTab(
"export",
 
  401                                        $this->lng->txt(
"export"),
 
  402                                        $this->ctrl->getLinkTarget($this,
'export'));
 
  406                if ($ilAccess->checkAccess(
"edit_permission", 
"", $this->ref_id))
 
  409                        $tabs_gui->addTab(
"perm_settings",
 
  410                                $this->lng->txt(
"perm_settings"),
 
  411                                $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm"));
 
  425                if (!$ilAccess->checkAccess(
"write", 
"", $this->ref_id)) 
 
  429                        $this->ctrl->redirect($this, 
"infoScreen");
 
  450                if ($form->checkInput())
 
  454                        if(!$this->object->get360Mode())
 
  456                                if($form->getInput(
"tut"))
 
  460                                        $tut_logins = $form->getInput(
"tut_ids");
 
  461                                        foreach($tut_logins as $tut_login)
 
  464                                                if($tut_id && $rbacsystem->checkAccessOfUser($tut_id, 
"write", $this->object->getRefId()))
 
  466                                                        $tut_ids[] = $tut_id;
 
  471                                                $tut_ids = $form->getItemByPostVar(
"tut_ids");
 
  472                                                $tut_ids->setAlert($this->lng->txt(
"survey_notification_tutor_recipients_invalid"));                                    
 
  480                                if(!$this->object->get360Mode())
 
  482                                        if($form->getInput(
"rmd"))
 
  484                                                $rmd_start = $form->getInput(
"rmd_start");
 
  485                                                $rmd_start = $rmd_start[
"date"];
 
  487                                                if($form->getInput(
"rmd_end_tgl"))
 
  489                                                        $rmd_end = $form->getInput(
"rmd_end");
 
  490                                                        $rmd_end = $rmd_end[
"date"];
 
  491                                                        if($rmd_start > $rmd_end)
 
  494                                                                $rmd_start = $rmd_end;
 
  501                                                $this->
object->setReminderStatus(
true);
 
  502                                                $this->
object->setReminderStart($rmd_start);
 
  503                                                $this->
object->setReminderEnd($rmd_end);
 
  504                                                $this->
object->setReminderFrequency($form->getInput(
"rmd_freq"));
 
  505                                                $this->
object->setReminderTarget($form->getInput(
"rmd_grp"));
 
  509                                                $this->
object->setReminderStatus(
false);
 
  512                                        if($form->getInput(
"tut"))
 
  514                                                $this->
object->setTutorNotificationStatus(
true);                
 
  515                                                $this->
object->setTutorNotificationRecipients($tut_ids); 
 
  516                                                $this->
object->setTutorNotificationTarget($form->getInput(
"tut_grp"));
 
  520                                                $this->
object->setTutorNotificationStatus(
false);
 
  525                                if (
$_POST[
'online'] && count($this->object->questions) == 0)
 
  531                                $template_settings = 
null;
 
  532                                $template = $this->
object->getTemplate();
 
  535                                        include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  537                                        $template_settings = $template->getSettings();
 
  540                                include_once 
'Services/MetaData/classes/class.ilMD.php';
 
  541                                $md_obj =& 
new ilMD($this->object->getId(), 0, 
"svy");
 
  542                                $md_section = $md_obj->getGeneral();
 
  546                                $md_section->update();
 
  549                                $md_desc_ids = $md_section->getDescriptionIds();
 
  552                                        $md_desc = $md_section->getDescription(array_pop($md_desc_ids));
 
  557                                $this->
object->setViewOwnResults(
$_POST[
"view_own"]);
 
  558                                $this->
object->setMailOwnResults(
$_POST[
"mail_own"]);
 
  563                                $this->
object->update();
 
  565                                $this->
object->setStatus(
$_POST[
'online']);
 
  570                                        $this->
object->setActivationLimited(
true);                                                                                      
 
  571                                        $this->
object->setActivationVisibility(
$_POST[
"access_visiblity"]);     
 
  573                                        $period = $form->getItemByPostVar(
"access_period");                                                                             
 
  574                                        $this->
object->setActivationStartDate($period->getStart()->get(
IL_CAL_UNIX));
 
  575                                        $this->
object->setActivationEndDate($period->getEnd()->get(
IL_CAL_UNIX));                                                       
 
  579                                        $this->
object->setActivationLimited(
false);
 
  583                                if(!$template_settings[
"enabled_start_date"][
"hide"])
 
  585                                        if (
$_POST[
"enabled_start_date"])
 
  587                                                $this->
object->setStartDateAndTime(
$_POST[
"start_date"][
'date'], 
$_POST[
"start_date"][
'time']);
 
  591                                                $this->
object->setStartDate(
null);
 
  595                                if(!$template_settings[
"enabled_end_date"][
"hide"])
 
  597                                        if (
$_POST[
"enabled_end_date"])
 
  599                                                $this->
object->setEndDateAndTime(
$_POST[
"end_date"][
'date'], 
$_POST[
"end_date"][
'time']);
 
  603                                                $this->
object->setEndDate(
null);
 
  608                                include_once 
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
 
  609                                $introduction = 
$_POST[
"introduction"];
 
  610                                $this->
object->setIntroduction($introduction);
 
  612                                $this->
object->setOutro($outro);
 
  614                                if(!$template_settings[
"show_question_titles"][
"hide"])
 
  616                                        $this->
object->setShowQuestionTitles(
$_POST[
"show_question_titles"]);
 
  619                                if(!$template_settings[
"use_pool"][
"hide"])
 
  621                                        $this->
object->setPoolUsage(
$_POST[
"use_pool"]);
 
  624                                $this->
object->setMailNotification(
$_POST[
'mailnotification']);
 
  625                                $this->
object->setMailAddresses(
$_POST[
'mailaddresses']);
 
  626                                $this->
object->setMailParticipantData(
$_POST[
'mailparticipantdata']);
 
  629                                if($this->object->get360Mode())
 
  631                                        $this->
object->set360SelfEvaluation((
bool)
$_POST[
"self_eval"]);
 
  632                                        $this->
object->set360SelfAppraisee((
bool)$_POST[
"self_appr"]);
 
  633                                        $this->
object->set360SelfRaters((
bool)$_POST[
"self_rate"]);
 
  634                                        $this->
object->set360Results((
int)$_POST[
"ts_res"]);;
 
  635                                        $this->
object->set360SkillService((
int)$_POST[
"skill_service"]);
 
  639                                        $this->
object->setEvaluationAccess(
$_POST[
"evaluation_access"]);
 
  641                                        $hasDatasets = $this->
object->_hasDatasets($this->object->getSurveyId());
 
  644                                                $codes = (bool)
$_POST[
"acc_codes"];
 
  645                                                $anon = ((string)
$_POST[
"anonymization_options"] == 
"statanon");                                                
 
  670                                                unset(
$_SESSION[
"anonymous_id"][$this->object->getId()]);
 
  674                                $this->
object->saveToDb();
 
  684                                $this->ctrl->redirect($this, 
"properties");
 
  688                $form->setValuesByPost();
 
  699                $template_settings = $hide_rte_switch = 
null;
 
  700                $template = $this->
object->getTemplate();
 
  703                        include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  706                        $template_settings = $template->getSettings();
 
  707                        $hide_rte_switch = $template_settings[
"rte_switch"][
"hide"];
 
  710                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  712                $form->setFormAction($this->ctrl->getFormAction($this));
 
  713                $form->setTableWidth(
"100%");
 
  714                $form->setId(
"survey_properties");
 
  718                $header->setTitle($this->lng->txt(
"settings"));
 
  719                $form->addItem($header);
 
  724                include_once 
'Services/MetaData/classes/class.ilMD.php';
 
  725                $md_obj = 
new ilMD($this->object->getId(), 0, 
"svy");
 
  726                $md_section = $md_obj->getGeneral();
 
  729                $title->setRequired(
true);
 
  730                $title->setValue($md_section->getTitle());
 
  731                $form->addItem($title);
 
  733                $ids = $md_section->getDescriptionIds();
 
  736                        $desc_obj = $md_section->getDescription(array_pop($ids));
 
  741                        $desc->setValue($desc_obj->getDescription());
 
  742                        $form->addItem($desc);
 
  746                $pool_usage = 
new ilRadioGroupInputGUI($this->lng->txt(
"survey_question_pool_usage"), 
"use_pool");              
 
  747                $opt = 
new ilRadioOption($this->lng->txt(
"survey_question_pool_usage_active"), 1);
 
  748                $opt->setInfo($this->lng->txt(
"survey_question_pool_usage_active_info"));
 
  749                $pool_usage->addOption($opt);
 
  750                $opt = 
new ilRadioOption($this->lng->txt(
"survey_question_pool_usage_inactive"), 0);
 
  751                $opt->setInfo($this->lng->txt(
"survey_question_pool_usage_inactive_info"));
 
  752                $pool_usage->addOption($opt);
 
  753                $pool_usage->setValue($this->object->getPoolUsage());
 
  754                $form->addItem($pool_usage);
 
  757                if($this->object->get360Mode())
 
  759                        $self_eval = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_360_self_evaluation"), 
"self_eval");
 
  760                        $self_eval->setInfo($this->lng->txt(
"survey_360_self_evaluation_info"));
 
  761                        $self_eval->setChecked($this->object->get360SelfEvaluation());
 
  762                        $form->addItem($self_eval);
 
  764                        $self_rate = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_360_self_raters"), 
"self_rate");
 
  765                        $self_rate->setInfo($this->lng->txt(
"survey_360_self_raters_info"));
 
  766                        $self_rate->setChecked($this->object->get360SelfRaters());
 
  767                        $form->addItem($self_rate);
 
  769                        $self_appr = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_360_self_appraisee"), 
"self_appr");
 
  770                        $self_appr->setInfo($this->lng->txt(
"survey_360_self_appraisee_info"));
 
  771                        $self_appr->setChecked($this->object->get360SelfAppraisee());
 
  772                        $form->addItem($self_appr);
 
  778                include_once 
"Services/Object/classes/class.ilObjectActivation.php";
 
  779                $this->lng->loadLanguageModule(
'rep');
 
  782                $section->setTitle($this->lng->txt(
'rep_activation_availability'));
 
  786                $act_obj_info = $act_ref_info = 
"";
 
  789                        $act_obj_info = 
' '.$this->lng->txt(
'rep_activation_online_object_info');
 
  790                        $act_ref_info = $this->lng->txt(
'rep_activation_access_ref_info');
 
  794                $online->setInfo($this->lng->txt(
'svy_activation_online_info').$act_obj_info);
 
  795                $online->setChecked($this->object->isOnline());
 
  796                $form->addItem($online);                                
 
  798                $act_type = 
new ilCheckboxInputGUI($this->lng->txt(
'rep_visibility_until'),
'access_type');
 
  800                $act_type->setChecked($this->object->isActivationLimited());            
 
  802                        $this->tpl->addJavaScript(
'./Services/Form/js/date_duration.js');
 
  803                        include_once 
"Services/Form/classes/class.ilDateDurationInputGUI.php";
 
  805                        $dur->setShowTime(
true);                                                
 
  806                        $date = $this->
object->getActivationStartDate();                                
 
  808                        $dur->setStartText($this->lng->txt(
'rep_activation_limited_start'));                            
 
  809                        $date = $this->
object->getActivationEndDate();
 
  811                        $dur->setEndText($this->lng->txt(
'rep_activation_limited_end'));                                
 
  812                        $act_type->addSubItem($dur);
 
  814                        $visible = 
new ilCheckboxInputGUI($this->lng->txt(
'rep_activation_limited_visibility'), 
'access_visiblity');
 
  815                        $visible->setInfo($this->lng->txt(
'svy_activation_limited_visibility_info'));
 
  816                        $visible->setChecked($this->object->getActivationVisibility());
 
  817                        $act_type->addSubItem($visible);
 
  819                $form->addItem($act_type);                                                                      
 
  825                $section->setTitle($this->lng->txt(
'svy_settings_section_before_start'));
 
  830                $intro->setValue($this->object->prepareTextareaOutput($this->object->getIntroduction()));
 
  833                $intro->setUseRte(TRUE);
 
  834                $intro->setInfo($this->lng->txt(
"survey_introduction_info"));
 
  835                include_once 
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
 
  837                $intro->addPlugin(
"latex");
 
  838                $intro->addButton(
"latex");
 
  839            $intro->addButton(
"pastelatex");
 
  840                $intro->setRTESupport($this->object->getId(), 
"svy", 
"survey", 
null, $hide_rte_switch);
 
  841                $form->addItem($intro);
 
  847                $section->setTitle($this->lng->txt(
'svy_settings_section_access'));
 
  851                $start = $this->
object->getStartDate();
 
  852                $enablestartingtime = 
new ilCheckboxInputGUI($this->lng->txt(
"start_date"), 
"enabled_start_date");
 
  853                $enablestartingtime->setValue(1);
 
  855                $enablestartingtime->setChecked($start);
 
  858                $startingtime->setShowTime(
true);                               
 
  863                $enablestartingtime->addSubItem($startingtime);
 
  864                $form->addItem($enablestartingtime);
 
  867                $end = $this->
object->getEndDate();
 
  868                $enableendingtime = 
new ilCheckboxInputGUI($this->lng->txt(
"end_date"), 
"enabled_end_date");
 
  869                $enableendingtime->setValue(1);
 
  871                $enableendingtime->setChecked($end);
 
  874                $endingtime->setShowTime(
true);         
 
  879                $enableendingtime->addSubItem($endingtime);
 
  880                $form->addItem($enableendingtime);
 
  883                if(!$this->object->get360Mode())
 
  886                        $codes->setInfo($this->lng->txt(
"survey_access_codes_info"));
 
  887                        $codes->setChecked(!$this->object->isAccessibleWithoutCode());
 
  888                        $form->addItem($codes);
 
  890                        if ($this->object->_hasDatasets($this->object->getSurveyId()))
 
  892                                $codes->setDisabled(
true);                              
 
  900                $section->setTitle($this->lng->txt(
'svy_settings_section_question_behaviour'));
 
  904                $show_question_titles = 
new ilCheckboxInputGUI($this->lng->txt(
"svy_show_questiontitles"), 
"show_question_titles");
 
  905                $show_question_titles->setValue(1);
 
  906                $show_question_titles->setChecked($this->object->getShowQuestionTitles());
 
  907                $form->addItem($show_question_titles);
 
  913                $info->setTitle($this->lng->txt(
"svy_settings_section_finishing"));
 
  914                $form->addItem($info);
 
  916                $view_own = 
new ilCheckboxInputGUI($this->lng->txt(
"svy_results_view_own"), 
"view_own");
 
  917                $view_own->setInfo($this->lng->txt(
"svy_results_view_own_info"));
 
  918                $view_own->setChecked($this->object->hasViewOwnResults());
 
  919                $form->addItem($view_own);
 
  921                $mail_own = 
new ilCheckboxInputGUI($this->lng->txt(
"svy_results_mail_own"), 
"mail_own");
 
  922                $mail_own->setInfo($this->lng->txt(
"svy_results_mail_own_info"));
 
  923                $mail_own->setChecked($this->object->hasMailOwnResults());
 
  924                $form->addItem($mail_own);                              
 
  928                $finalstatement->setValue($this->object->prepareTextareaOutput($this->object->getOutro()));
 
  929                $finalstatement->setRows(10);
 
  930                $finalstatement->setCols(80);
 
  931                $finalstatement->setUseRte(TRUE);
 
  933                $finalstatement->addPlugin(
"latex");
 
  934                $finalstatement->addButton(
"latex");
 
  935                $finalstatement->addButton(
"pastelatex");
 
  936                $finalstatement->setRTESupport($this->object->getId(), 
"svy", 
"survey", 
null, $hide_rte_switch);
 
  937                $form->addItem($finalstatement);
 
  940                $mailnotification = 
new ilCheckboxInputGUI($this->lng->txt(
"mailnotification"), 
"mailnotification");
 
  942                $mailnotification->setInfo($this->lng->txt(
"svy_result_mail_notification_info")); 
 
  943                $mailnotification->setValue(1);
 
  944                $mailnotification->setChecked($this->object->getMailNotification());
 
  947                $mailaddresses = 
new ilTextInputGUI($this->lng->txt(
"mailaddresses"), 
"mailaddresses");
 
  948                $mailaddresses->setValue($this->object->getMailAddresses());
 
  949                $mailaddresses->setSize(80);
 
  950                $mailaddresses->setInfo($this->lng->txt(
'mailaddresses_info'));
 
  951                $mailaddresses->setRequired(
true);
 
  954                $participantdata = 
new ilTextAreaInputGUI($this->lng->txt(
"mailparticipantdata"), 
"mailparticipantdata");
 
  955                $participantdata->setValue($this->object->getMailParticipantData());
 
  956                $participantdata->setRows(6);
 
  957                $participantdata->setCols(80);
 
  958                $participantdata->setUseRte(
false);
 
  959                $participantdata->setInfo($this->lng->txt(
"mailparticipantdata_info"));
 
  962                $placeholders = array(
 
  963                        "FIRST_NAME" => 
"firstname",
 
  964                        "LAST_NAME" => 
"lastname",                      
 
  968                foreach($placeholders as $placeholder => $caption)
 
  970                        $txt[] = 
"[".strtoupper($placeholder).
"]: ".$this->lng->txt($caption);
 
  973                $participantdatainfo = 
new ilNonEditableValueGUI($this->lng->txt(
"mailparticipantdata_placeholder"), 
"", 
true);
 
  974                $participantdatainfo->setValue(
$txt);
 
  976                $mailnotification->addSubItem($mailaddresses);
 
  977                $mailnotification->addSubItem($participantdata);
 
  978                $mailnotification->addSubItem($participantdatainfo);
 
  979                $form->addItem($mailnotification);
 
  982                if(!$this->object->get360Mode())
 
  986                        $has_parent = 
$tree->checkForParentType($this->object->getRefId(), 
"grp");
 
  989                                $has_parent = 
$tree->checkForParentType($this->object->getRefId(), 
"crs");
 
  991                        $num_inv = 
sizeof($this->
object->getInvitedUsers());
 
  994                        $tut = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_notification_tutor_setting"), 
"tut");
 
  995                        $tut->setChecked($this->object->getTutorNotificationStatus());
 
  996                        $form->addItem($tut);
 
  998                        $tut_logins = array();
 
  999                        $tuts = $this->
object->getTutorNotificationRecipients();
 
 1002                                foreach($tuts as $tut_id)
 
 1007                                                $tut_logins[] = $tmp[
"login"];
 
 1011                        $tut_ids = 
new ilTextInputGUI($this->lng->txt(
"survey_notification_tutor_recipients"), 
"tut_ids");
 
 1012                        $tut_ids->setDataSource($this->ctrl->getLinkTarget($this, 
"doAutoComplete", 
"", 
true));
 
 1013                        $tut_ids->setRequired(
true);
 
 1014                        $tut_ids->setMulti(
true);               
 
 1015                        $tut_ids->setMultiValues($tut_logins);
 
 1016                        $tut_ids->setValue(array_shift($tut_logins));           
 
 1017                        $tut->addSubItem($tut_ids);
 
 1019                        $tut_grp = 
new ilRadioGroupInputGUI($this->lng->txt(
"survey_notification_target_group"), 
"tut_grp");
 
 1020                        $tut_grp->setRequired(
true);
 
 1021                        $tut_grp->setValue($this->object->getTutorNotificationTarget());
 
 1022                        $tut->addSubItem($tut_grp);
 
 1024                        $tut_grp_crs = 
new ilRadioOption($this->lng->txt(
"survey_notification_target_group_parent_course"), 
 
 1028                                $tut_grp_crs->setInfo($this->lng->txt(
"survey_notification_target_group_parent_course_inactive"));
 
 1030                        $tut_grp->addOption($tut_grp_crs);
 
 1032                        $tut_grp_inv = 
new ilRadioOption($this->lng->txt(
"survey_notification_target_group_invited"), 
 
 1034                        $tut_grp_inv->setInfo(sprintf($this->lng->txt(
"survey_notification_target_group_invited_info"), $num_inv));
 
 1035                        $tut_grp->addOption($tut_grp_inv);
 
 1042                if(!$this->object->get360Mode())
 
 1045                        $info->setTitle($this->lng->txt(
"svy_settings_section_reminders"));
 
 1046                        $form->addItem($info);          
 
 1049                        $rmd->setChecked($this->object->getReminderStatus());
 
 1050                        $form->addItem($rmd);
 
 1052                        $rmd_start = 
new ilDateTimeInputGUI($this->lng->txt(
"survey_reminder_start"), 
"rmd_start");
 
 1053                        $rmd_start->setRequired(
true);
 
 1054                        $start = $this->
object->getReminderStart();
 
 1057                                $rmd_start->setDate($start);
 
 1059                        $rmd->addSubItem($rmd_start);
 
 1061                        $end = $this->
object->getReminderEnd();
 
 1062                        $rmd_end = 
new ilDateTimeInputGUI($this->lng->txt(
"survey_reminder_end"), 
"rmd_end");
 
 1063                        $rmd_end->enableDateActivation(
"", 
"rmd_end_tgl", (
bool)$end);
 
 1066                                $rmd_end->setDate($end);
 
 1068                        $rmd->addSubItem($rmd_end);
 
 1070                        $rmd_freq = 
new ilNumberInputGUI($this->lng->txt(
"survey_reminder_frequency"), 
"rmd_freq");
 
 1071                        $rmd_freq->setRequired(
true);
 
 1072                        $rmd_freq->setSize(3);          
 
 1073                        $rmd_freq->setSuffix($this->lng->txt(
"survey_reminder_frequency_days"));
 
 1074                        $rmd_freq->setValue($this->object->getReminderFrequency());
 
 1075                        $rmd_freq->setMinValue(1);
 
 1076                        $rmd->addSubItem($rmd_freq);
 
 1078                        $rmd_grp = 
new ilRadioGroupInputGUI($this->lng->txt(
"survey_notification_target_group"), 
"rmd_grp");
 
 1079                        $rmd_grp->setRequired(
true);
 
 1080                        $rmd_grp->setValue($this->object->getReminderTarget());
 
 1081                        $rmd->addSubItem($rmd_grp);
 
 1083                        $rmd_grp_crs = 
new ilRadioOption($this->lng->txt(
"survey_notification_target_group_parent_course"), 
 
 1087                                $rmd_grp_crs->setInfo($this->lng->txt(
"survey_notification_target_group_parent_course_inactive"));
 
 1089                        $rmd_grp->addOption($rmd_grp_crs);
 
 1091                        $rmd_grp_inv = 
new ilRadioOption($this->lng->txt(
"survey_notification_target_group_invited"), 
 
 1093                        $rmd_grp_inv->setInfo(sprintf($this->lng->txt(
"survey_notification_target_group_invited_info"), $num_inv));
 
 1094                        $rmd_grp->addOption($rmd_grp_inv);
 
 1101                $results->setTitle($this->lng->txt(
"results"));
 
 1105                if(!$this->object->get360Mode())
 
 1107                        $evaluation_access = 
new ilRadioGroupInputGUI($this->lng->txt(
'evaluation_access'), 
"evaluation_access");
 
 1110                        $option->setInfo($this->lng->txt(
"svy_evaluation_access_off_info"));
 
 1111                        $evaluation_access->addOption($option);
 
 1114                        $option->setInfo($this->lng->txt(
"svy_evaluation_access_all_info"));
 
 1115                        $evaluation_access->addOption($option);
 
 1118                        $option->setInfo($this->lng->txt(
"svy_evaluation_access_participants_info"));
 
 1119                        $evaluation_access->addOption($option);
 
 1121                        $evaluation_access->setValue($this->object->getEvaluationAccess());
 
 1122                        $form->addItem($evaluation_access);
 
 1125                        $anonymization_options = 
new ilRadioGroupInputGUI($this->lng->txt(
"survey_results_anonymization"), 
"anonymization_options");    
 
 1127                        $option = 
new ilCheckboxOption($this->lng->txt(
"survey_results_personalized"), 
"statpers");
 
 1128                        $option->setInfo($this->lng->txt(
"survey_results_personalized_info"));                  
 
 1129                        $anonymization_options->addOption($option);
 
 1131                        $option = 
new ilCheckboxOption($this->lng->txt(
"survey_results_anonymized"), 
"statanon");
 
 1132                        $option->setInfo($this->lng->txt(
"survey_results_anonymized_info"));                    
 
 1133                        $anonymization_options->addOption($option);                                     
 
 1134                        $anonymization_options->setValue($this->object->hasAnonymizedResults()
 
 1137                        $form->addItem($anonymization_options);
 
 1139                        if ($this->object->_hasDatasets($this->object->getSurveyId()))
 
 1141                                $anonymization_options->setDisabled(
true);
 
 1148                        $ts_results->setValue($this->object->get360Results());
 
 1151                        $option->setInfo($this->lng->txt(
"survey_360_results_none_info"));
 
 1152                        $ts_results->addOption($option);
 
 1155                        $option->setInfo($this->lng->txt(
"survey_360_results_own_info"));
 
 1156                        $ts_results->addOption($option);
 
 1159                        $option->setInfo($this->lng->txt(
"survey_360_results_all_info"));
 
 1160                        $ts_results->addOption($option);
 
 1161                        $form->addItem($ts_results);            
 
 1167                include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
 
 1169                if($this->object->get360Mode() && $skmg_set->isActivated())
 
 1172                        $other->setTitle($this->lng->txt(
"other"));
 
 1173                        $form->addItem($other);
 
 1175                        $skill_service = 
new ilCheckboxInputGUI($this->lng->txt(
"survey_activate_skill_service"), 
"skill_service");
 
 1176                        $skill_service->setInfo($this->lng->txt(
"survey_activate_skill_service_info"));
 
 1177                        $skill_service->setChecked($this->object->get360SkillService());
 
 1178                        $form->addItem($skill_service);
 
 1182                $form->addCommandButton(
"saveProperties", $this->lng->txt(
"save"));
 
 1185                if($template_settings)
 
 1187                        foreach($template_settings as $id => $item)
 
 1191                                        $form->removeItemByPostVar($id);
 
 1206                global $ilTabs, $ilHelp;
 
 1210                $ilTabs->activateTab(
"settings");
 
 1213                if ($this->object->get360Mode())
 
 1215                        $ilHelp->setScreenId(
"settings_360");
 
 1225                if($this->object->getTemplate())
 
 1227                        $link = $this->ctrl->getLinkTarget($this, 
"confirmResetTemplate");
 
 1228                        $link = 
"<a href=\"".$link.
"\">".$this->lng->txt(
"survey_using_template_link").
"</a>";
 
 1229                        $message = 
"<div style=\"margin-top:10px\">".
 
 1230                                $this->tpl->getMessageHTML(sprintf($this->lng->txt(
"survey_using_template"), 
 
 1235                $this->tpl->setContent($a_form->getHTML().$message);
 
 1240                $fields = array(
'login',
'firstname',
'lastname',
'email');
 
 1242                include_once 
'./Services/User/classes/class.ilUserAutoComplete.php';
 
 1244                $auto->setSearchFields($fields);
 
 1245                $auto->setResultField(
'login');
 
 1246                $auto->enableFieldSearchableCheck(
true);
 
 1247                $auto->setMoreLinkAvailable(
true);
 
 1264                $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.il_svy_svy_confirm_resettemplate.html", 
"Modules/Survey");
 
 1265                $this->tpl->setCurrentBlock(
"adm_content");
 
 1266                $this->tpl->setVariable(
"BTN_CONFIRM_REMOVE", $this->lng->txt(
"confirm"));
 
 1267                $this->tpl->setVariable(
"BTN_CANCEL_REMOVE", $this->lng->txt(
"cancel"));
 
 1268                $this->tpl->setVariable(
"FORM_ACTION", $this->ctrl->getFormAction($this, 
"resetTemplateObject"));
 
 1269                $this->tpl->parseCurrentBlock();
 
 1277                $this->
object->setTemplate(
null);
 
 1278                $this->
object->saveToDB();
 
 1281                $this->ctrl->redirect($this, 
"properties");
 
 1292                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1294                $form->setTarget(
"_top");
 
 1295                $form->setFormAction($this->ctrl->getFormAction($this));
 
 1296                $form->setTitle($this->lng->txt(
"import_svy"));
 
 1298                include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
 
 1299                $fi = 
new ilFileInputGUI($this->lng->txt(
"import_file"), 
"importfile");
 
 1300                $fi->setSuffixes(array(
"zip"));
 
 1301                $fi->setRequired(
true);
 
 1302                $form->addItem($fi);
 
 1304                include_once(
"./Modules/Survey/classes/class.ilObjSurvey.php");
 
 1306                $questionspools = $svy->getAvailableQuestionpools(
true, 
true, 
true);
 
 1308                $pools = 
new ilSelectInputGUI($this->lng->txt(
"select_questionpool_short"), 
"spl");
 
 1309                $pools->setOptions(array(
""=>$this->lng->txt(
"dont_use_questionpool")) + $questionspools);
 
 1310                $pools->setRequired(
false);
 
 1311                $form->addItem($pools);
 
 1313                $form->addCommandButton(
"importFile", $this->lng->txt(
"import"));
 
 1314                $form->addCommandButton(
"cancel", $this->lng->txt(
"cancel"));
 
 1326                $parent_id = 
$_GET[
"ref_id"];
 
 1332                        $ilErr->raiseError($this->lng->txt(
"no_create_permission"));
 
 1335                $this->lng->loadLanguageModule($new_type);
 
 1336                $this->ctrl->setParameter($this, 
"new_type", $new_type);
 
 1339                if ($form->checkInput())
 
 1341                        include_once(
"./Modules/Survey/classes/class.ilObjSurvey.php");
 
 1343                        $newObj->setType($new_type);
 
 1344                        $newObj->setTitle(
"dummy");
 
 1345                        $newObj->setDescription(
"dummy");
 
 1346                        $newObj->create(
true);
 
 1350                        $error = $newObj->importObject($_FILES[
"importfile"], $form->getInput(
"spl"));
 
 1354                                $this->
ilias->raiseError($error, $this->
ilias->error_obj->MESSAGE);
 
 1360                                "&baseClass=ilObjSurveyGUI");
 
 1363                        include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
 1368                                $tpl->addJavaScript(
"./Modules/Scorm2004/scripts/questions/jquery.js");
 
 1371                                $this->tpl->setCurrentBlock(
"template_option");
 
 1372                                $this->tpl->setVariable(
"VAL_TEMPLATE_OPTION", 
"");
 
 1373                                $this->tpl->setVariable(
"TXT_TEMPLATE_OPTION", $this->lng->txt(
"none"));
 
 1374                                $this->tpl->parseCurrentBlock();
 
 1376                                foreach($templates as $item)
 
 1378                                        $this->tpl->setCurrentBlock(
"template_option");
 
 1379                                        $this->tpl->setVariable(
"VAL_TEMPLATE_OPTION", $item[
"id"]);
 
 1380                                        $this->tpl->setVariable(
"TXT_TEMPLATE_OPTION", $item[
"title"]);
 
 1381                                        $this->tpl->parseCurrentBlock();
 
 1383                                        $desc = str_replace(
"\n", 
"", nl2br($item[
"description"]));
 
 1384                                        $desc = str_replace(
"\r", 
"", $desc);
 
 1386                                        $this->tpl->setCurrentBlock(
"js_data");
 
 1387                                        $this->tpl->setVariable(
"JS_DATA_ID", $item[
"id"]);
 
 1388                                        $this->tpl->setVariable(
"JS_DATA_TEXT", $desc);
 
 1389                                        $this->tpl->parseCurrentBlock();
 
 1392                                $this->tpl->setCurrentBlock(
"templates");
 
 1393                                $this->tpl->setVariable(
"TXT_TEMPLATE", $this->lng->txt(
"svy_settings_template"));
 
 1394                                $this->tpl->parseCurrentBlock();
 
 1399                $form->setValuesByPost();
 
 1400                $tpl->setContent($form->getHtml());
 
 1408                global $ilTabs, $ilToolbar;
 
 1411                $ilTabs->activateTab(
"export");
 
 1413                include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
 1415                $button->setCaption(
"svy_create_export_file");                                                          
 
 1416                $button->setUrl($this->ctrl->getLinkTarget($this, 
"createExportFile"));                                                                         
 
 1417                $ilToolbar->addButtonInstance($button);         
 
 1419                $export_dir = $this->
object->getExportDirectory();
 
 1420                $export_files = $this->
object->getExportFiles($export_dir);
 
 1422                if(count($export_files) > 0)
 
 1424                        foreach($export_files as $exp_file)
 
 1426                                $file_arr = explode(
"__", $exp_file);
 
 1428                                array_push(
$data, array(
 
 1429                                        'file' => $exp_file,
 
 1430                                        'size' => filesize($export_dir.
"/".$exp_file),
 
 1436                include_once 
"./Modules/Survey/classes/tables/class.ilSurveyExportTableGUI.php";
 
 1438                $table_gui->setData(
$data);
 
 1439                $this->tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());  
 
 1448                include_once(
"./Modules/Survey/classes/class.ilSurveyExport.php");
 
 1450                $survey_exp->buildExportFile();
 
 1451                $this->ctrl->redirect($this, 
"export");
 
 1459                if(!isset(
$_POST[
"file"]))
 
 1462                        $this->ctrl->redirect($this, 
"export");
 
 1465                if (count(
$_POST[
"file"]) > 1)
 
 1468                        $this->ctrl->redirect($this, 
"export");
 
 1473                $export_dir = $this->
object->getExportDirectory();
 
 1474                include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
 1486                $ilTabs->activateTab(
"export");
 
 1488                if (!isset(
$_POST[
"file"]))
 
 1491                        $this->ctrl->redirect($this, 
"export");
 
 1496                $export_dir = $this->
object->getExportDirectory();
 
 1497                $export_files = $this->
object->getExportFiles($export_dir);
 
 1499                if (count(
$_POST[
"file"]) > 0)
 
 1501                        foreach (
$_POST[
"file"] as $exp_file)
 
 1503                                $file_arr = explode(
"__", $exp_file);
 
 1505                                array_push(
$data, array(
 
 1506                                        'file' => $exp_file,
 
 1507                                        'size' => filesize($export_dir.
"/".$exp_file),
 
 1513                include_once 
"./Modules/Survey/classes/tables/class.ilSurveyExportTableGUI.php";
 
 1515                $table_gui->setData(
$data);
 
 1516                $this->tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());  
 
 1526                $this->ctrl->redirect($this, 
"export");
 
 1535                $export_dir = $this->
object->getExportDirectory();
 
 1540                        $exp_file = $export_dir.
"/".
$file;
 
 1541                        $exp_dir = $export_dir.
"/".substr(
$file, 0, strlen(
$file) - 4);
 
 1542                        if (@is_file($exp_file))
 
 1546                        if (@is_dir($exp_dir))
 
 1548                                include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
 1553                $this->ctrl->redirect($this, 
"export");
 
 1568                $this->ctrl->setCmd(
"showSummary");
 
 1569                $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
 1578                global $ilAccess, $ilTabs, 
$ilUser, $ilToolbar;
 
 1580                if (!$this->external_rater_360 &&
 
 1581                        !$ilAccess->checkAccess(
"visible", 
"", $this->ref_id))
 
 1583                        $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
 
 1586                $ilTabs->activateTab(
"info_short");
 
 1588                include_once 
"./Modules/Survey/classes/class.ilSurveyExecutionGUI.php";
 
 1591                include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
 1593                $info->enablePrivateNotes();
 
 1596                $canStart = $this->
object->canStartSurvey(
null, $this->external_rater_360);
 
 1598                $showButtons = $canStart[
"result"];
 
 1601                        if($canStart[
"edit_settings"] &&
 
 1602                                $ilAccess->checkAccess(
"write", 
"", $this->ref_id))
 
 1604                                $canStart[
"messages"][] = 
"<a href=\"".$this->ctrl->getLinkTarget($this, 
"properties").
"\">» ".
 
 1605                                        $this->lng->txt(
"survey_edit_settings").
"</a>";
 
 1610                $big_button = 
false;
 
 1614                        $is_appraisee = 
false; 
 
 1615                        if($this->object->get360Mode() && 
 
 1616                                $this->object->isAppraisee(
$ilUser->getId()))
 
 1618                                $info->addSection($this->lng->txt(
"survey_360_appraisee_info"));
 
 1620                                $appr_data = $this->
object->getAppraiseesData();
 
 1621                                $appr_data = $appr_data[
$ilUser->getId()];
 
 1622                                $info->addProperty($this->lng->txt(
"survey_360_raters_status_info"), $appr_data[
"finished"]);           
 
 1624                                if(!$appr_data[
"closed"])
 
 1626                                        include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
 1628                                        $button->setCaption(
"survey_360_appraisee_close_action");
 
 1629                                        $button->setUrl($this->ctrl->getLinkTargetByClass(
"ilsurveyparticipantsgui", 
"confirmappraiseeclose"));
 
 1630                                        $close_button_360 = 
'<div>'.$button->render().
'</div>';
 
 1632                                        $txt = 
"survey_360_appraisee_close_action_info";
 
 1633                                        if($this->object->get360SkillService())
 
 1637                                        $info->addProperty($this->lng->txt(
"status"), 
 
 1638                                                $close_button_360.$this->lng->txt(
$txt));                                                                       
 
 1645                                        $info->addProperty($this->lng->txt(
"status"), 
 
 1646                                                sprintf($this->lng->txt(
"survey_360_appraisee_close_action_status"),
 
 1650                                $is_appraisee = 
true;
 
 1657                        $code_input = 
false;
 
 1658                        $anonymous_code = 
$_POST[
"anonymous_id"];       
 
 1659                        if ($anonymous_code)
 
 1663                                if(!$this->object->checkSurveyCode($anonymous_code)) 
 
 1665                                        $anonymous_code = 
null;
 
 1670                                        $this->
object->bindSurveyCodeToUser($ilUser->getId(), $anonymous_code);
 
 1673                        if ($anonymous_code)
 
 1675                                $_SESSION[
"anonymous_id"][$this->
object->getId()] = $anonymous_code;                    
 
 1679                                $anonymous_code = 
$_SESSION[
"anonymous_id"][$this->
object->getId()];                                                                                    
 
 1687                        if($this->object->getAnonymize() && !$anonymous_code)
 
 1689                                $anonymous_code = $this->
object->findCodeForUser($ilUser->getId());                                             
 
 1693                        $participant_status = $this->
object->getUserSurveyExecutionStatus($anonymous_code);
 
 1694                        if($participant_status)
 
 1696                                $anonymous_code = $participant_status[
"code"];                          
 
 1697                                $participant_status = $participant_status[
"runs"];
 
 1701                        if(!$this->object->isAccessibleWithoutCode() && 
 
 1704                                (!$anonymous_code || !$this->object->isAnonymousKey($anonymous_code)))
 
 1706                                 $anonymous_code = 
null;
 
 1711                        $_SESSION[
"anonymous_id"][$this->
object->getId()] = $anonymous_code;
 
 1714                        if(!$is_appraisee &&
 
 1716                                !$this->object->isAccessibleWithoutCode())
 
 1718                                $info->setFormAction($this->ctrl->getFormAction($this, 
"infoScreen"));
 
 1719                                $info->addSection($this->lng->txt(
"anonymization"));
 
 1720                                $info->addProperty(
"", $this->lng->txt(
"anonymize_anonymous_introduction"));
 
 1721                                $info->addPropertyTextinput($this->lng->txt(
"enter_anonymous_id"), 
"anonymous_id", 
"", 8, 
"infoScreen", $this->lng->txt(
"submit"), 
true);
 
 1726                                if(!$this->object->get360Mode())
 
 1730                                                $info->addHiddenElement(
"anonymous_id", $anonymous_code);
 
 1733                                        $survey_started = $this->
object->isSurveyStarted($ilUser->getId(), $anonymous_code);                            
 
 1734                                        if ($survey_started === 1)
 
 1736                                                if(
$ilUser->getId() != ANONYMOUS_USER_ID)
 
 1738                                                        if($this->object->hasViewOwnResults())
 
 1740                                                                include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
 1742                                                                $button->setCaption(
"svy_view_own_results");                                                            
 
 1743                                                                $button->setUrl($this->ctrl->getLinkTarget($this, 
"viewUserResults"));                                                                          
 
 1744                                                                $ilToolbar->addButtonInstance($button);         
 
 1747                                                        if($this->object->hasMailOwnResults())
 
 1749                                                                if($this->object->hasViewOwnResults())
 
 1751                                                                        $ilToolbar->addSeparator();
 
 1754                                                                require_once 
"Services/Form/classes/class.ilTextInputGUI.php";                                                          
 
 1757                                                                $mail->setValue(
$ilUser->getEmail());                                                                                                                   
 
 1758                                                                $ilToolbar->addInputItem($mail, 
true);                                                  
 
 1760                                                                $ilToolbar->setFormAction($this->ctrl->getFormAction($this, 
"mailUserResults"));
 
 1762                                                                include_once 
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
 
 1764                                                                $button->setCaption(
"svy_mail_own_results");
 
 1765                                                                $button->setCommand(
"mailUserResults");
 
 1766                                                                $ilToolbar->addButtonInstance($button);                                                                                                                                                         
 
 1772                                        elseif ($survey_started === 0)
 
 1774                                                $big_button = array(
"resume", $this->lng->txt(
"resume_survey"));
 
 1776                                        elseif ($survey_started === FALSE)
 
 1778                                                $big_button = array(
"start", $this->lng->txt(
"start_survey"));
 
 1784                                        $appr_ids = array();
 
 1789                                                $anonymous_id = $this->
object->getAnonymousIdByCode($anonymous_code);           
 
 1792                                                        $appr_ids = $this->
object->getAppraiseesToRate(0, $anonymous_id);
 
 1798                                        if(!$appr_ids && 
$ilUser->getId() != ANONYMOUS_USER_ID)
 
 1800                                                $appr_ids = $this->
object->getAppraiseesToRate($ilUser->getId());                                               
 
 1803                                        if(
sizeof($appr_ids))
 
 1806                                                $active_appraisees = array();
 
 1807                                                if($participant_status)
 
 1809                                                        foreach($participant_status as $item)
 
 1811                                                                $active_appraisees[$item[
"appr_id"]] = $item[
"finished"];
 
 1817                                                foreach($appr_ids as $appr_id)
 
 1819                                                        if($this->object->isAppraiseeClosed($appr_id))
 
 1822                                                                $list[$appr_id] = $this->lng->txt(
"survey_360_appraisee_is_closed");
 
 1824                                                        else if(array_key_exists($appr_id, $active_appraisees))
 
 1827                                                                if($active_appraisees[$appr_id])
 
 1829                                                                        $list[$appr_id] = $this->lng->txt(
"already_completed_survey");
 
 1834                                                                        $list[$appr_id] = array(
"resume", $this->lng->txt(
"resume_survey"));
 
 1840                                                                $list[$appr_id] = array(
"start", $this->lng->txt(
"start_survey"));
 
 1844                                                $info->addSection($this->lng->txt(
"survey_360_rate_other_appraisees"));
 
 1846                                                include_once 
"Services/User/classes/class.ilUserUtil.php";
 
 1847                                                foreach($list as $appr_id => $item)
 
 1851                                                        if(!is_array($item))
 
 1853                                                                $info->addProperty($appr_name, $item);                                                  
 
 1857                                                                $this->ctrl->setParameter($output_gui, 
"appr_id", $appr_id);
 
 1858                                                                $href = $this->ctrl->getLinkTarget($output_gui, $item[0]);
 
 1859                                                                $this->ctrl->setParameter($output_gui, 
"appr_id", 
"");
 
 1861                                                                include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
 1863                                                                $button->setCaption($item[1], 
false);
 
 1864                                                                $button->setUrl($href);                                                         
 
 1865                                                                $big_button_360 = 
'<div>'.$button->render().
'</div>';
 
 1867                                                                $info->addProperty($appr_name, $big_button_360);                                                        
 
 1871                                        else if(!$is_appraisee)
 
 1878                        if($this->object->get360Mode() &&
 
 1879                                $this->object->get360SelfAppraisee() && 
 
 1880                                !$this->object->isAppraisee(
$ilUser->getId()) &&
 
 1881                                $ilUser->getId() != ANONYMOUS_USER_ID) 
 
 1883                                $link = $this->ctrl->getLinkTargetByClass(
"ilsurveyparticipantsgui", 
"addSelfAppraisee");
 
 1884                                $link = 
'<a href="'.$link.
'">'.$this->lng->txt(
"survey_360_add_self_appraisee").
'</a>';                                         
 
 1885                                $info->addProperty(
" ", $link);                                                            
 
 1891                        $ilToolbar->setFormAction($this->ctrl->getFormAction($output_gui, 
"infoScreen"));
 
 1893                        include_once 
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
 
 1895                        $button->setCaption($big_button[1], 
false);
 
 1896                        $button->setCommand($big_button[0]);
 
 1897                        $button->setPrimary(
true);
 
 1898                        $ilToolbar->addButtonInstance($button);         
 
 1900                        $ilToolbar->setCloseFormTag(
false);
 
 1901                        $info->setOpenFormTag(
false);
 
 1910                if (strlen($this->object->getIntroduction()))
 
 1912                        $introduction = $this->
object->getIntroduction();
 
 1913                        $info->addSection($this->lng->txt(
"introduction"));
 
 1914                        $info->addProperty(
"", $this->object->prepareTextareaOutput($introduction).
 
 1915                                "<br />".$info->getHiddenToggleButton());
 
 1919                        $info->addSection(
"");
 
 1920                        $info->addProperty(
"", $info->getHiddenToggleButton());
 
 1923                $info->hideFurtherSections(
false);
 
 1925                if(!$this->object->get360Mode())
 
 1927                        $info->addSection($this->lng->txt(
"svy_general_properties"));
 
 1929                        $info->addProperty($this->lng->txt(
"survey_results_anonymization"), 
 
 1930                                !$this->object->hasAnonymizedResults()
 
 1931                                        ? $this->lng->txt(
"survey_results_personalized_info")
 
 1932                                        : $this->lng->txt(
"survey_results_anonymized_info"));
 
 1934                        include_once 
"./Modules/Survey/classes/class.ilObjSurveyAccess.php";
 
 1935                        if ($ilAccess->checkAccess(
"write", 
"", $this->ref_id) || 
 
 1938                                $info->addProperty($this->lng->txt(
"evaluation_access"), $this->lng->txt(
"evaluation_access_info"));
 
 1942                $info->addMetaDataSections($this->object->getId(),0, $this->object->getType());
 
 1944                $this->ctrl->forwardCommand($info);
 
 1950                switch ($this->ctrl->getCmd())
 
 1956                        case "redirectQuestion":
 
 1957                                $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, 
"infoScreen"), 
"", 
$_GET[
"ref_id"]);
 
 1960                        case "checkEvaluationAccess":
 
 1961                        case "evaluationdetails":
 
 1962                        case "evaluationuser":
 
 1963                                $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTargetByClass(
"ilsurveyevaluationgui", 
"evaluation"), 
"", 
$_GET[
"ref_id"]);
 
 1972                                $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, 
"infoScreen"), 
"", 
$_GET[
"ref_id"]);
 
 1975                                $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, 
""), 
"", 
$_GET[
"ref_id"]);
 
 1982                                        $q_id = (int)
$_GET[
"q_id"];
 
 1983                                        include_once 
"./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
 
 1985                                        $this->ctrl->setParameterByClass($q_type, 
"q_id", $q_id);
 
 1987                                                $this->ctrl->getLinkTargetByClass(array(
"ilSurveyEditorGUI", $q_type), 
"editQuestion"));                                                                                                                                                        
 
 2000        public static function _goto($a_target, $a_access_code = 
"")
 
 2005                include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
 2006                if (strlen($a_access_code))
 
 2009                        $_GET[
"baseClass"] = 
"ilObjSurveyGUI";
 
 2010                        $_GET[
"cmd"] = 
"infoScreen";
 
 2011                        $_GET[
"ref_id"] = $a_target;
 
 2012                        include(
"ilias.php");
 
 2016                if ($ilAccess->checkAccess(
"read", 
"", $a_target))
 
 2018                        $_GET[
"baseClass"] = 
"ilObjSurveyGUI";
 
 2019                        $_GET[
"cmd"] = 
"infoScreen";
 
 2020                        $_GET[
"ref_id"] = $a_target;
 
 2021                        include(
"ilias.php");
 
 2024                else if ($ilAccess->checkAccess(
"read", 
"", ROOT_FOLDER_ID))
 
 2036                $rtpl = 
new ilTemplate(
"tpl.svy_view_user_results.html", 
true, 
true, 
"Modules/Survey");
 
 2038                $show_titles = (bool)$this->object->getShowQuestionTitles();
 
 2040                foreach($this->object->getSurveyPages() as $page)
 
 2042                        if(count($page) > 0)
 
 2045                                if(count($page) > 1)
 
 2047                                        if((
bool)$page[0][
"questionblock_show_blocktitle"])
 
 2049                                                $rtpl->setVariable(
"BLOCK_TITLE", trim($page[0][
"questionblock_title"]));
 
 2054                                foreach($page as $question)
 
 2056                                        $question_gui = $this->
object->getQuestionGUI($question[
"type_tag"], $question[
"question_id"]);
 
 2057                                        if(is_object($question_gui))
 
 2059                                                $rtpl->setCurrentBlock(
"question_bl");
 
 2062                                                if(strlen($question[
"heading"]))
 
 2064                                                        $rtpl->setVariable(
"HEADING", trim($question[
"heading"]));
 
 2067                                                $rtpl->setVariable(
"QUESTION_DATA", 
 
 2068                                                        $question_gui->getPrintView(
 
 2070                                                                (
bool)$question[
"questionblock_show_questiontext"], 
 
 2071                                                                $this->object->getId(),
 
 2072                                                                $this->object->loadWorkingData($question[
"question_id"], $a_active_id)
 
 2076                                                $rtpl->parseCurrentBlock();                                             
 
 2080                                $rtpl->setCurrentBlock(
"block_bl");
 
 2081                                $rtpl->parseCurrentBlock();
 
 2085                return $rtpl->get();            
 
 2092                $anonymous_code = 
$_SESSION[
"anonymous_id"][$this->
object->getId()];
 
 2093                $active_id = $this->
object->getActiveID($ilUser->getId(), $anonymous_code, 0);
 
 2094                if($this->object->isSurveyStarted(
$ilUser->getId(), $anonymous_code) !== 1 ||
 
 2097                        $this->ctrl->redirect($this, 
"infoScreen");
 
 2100                $ilTabs->clearTargets();
 
 2101                $ilTabs->setBackTarget($this->lng->txt(
"btn_back"), 
 
 2102                        $this->ctrl->getLinkTarget($this, 
"infoScreen"));
 
 2105                $tpl->setContent($html);                                                                        
 
 2112                $show_titles = (bool)$this->object->getShowQuestionTitles();
 
 2114                foreach($this->object->getSurveyPages() as $page)
 
 2116                        if(count($page) > 0)
 
 2118                                $res[] = 
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
 
 2121                                if(count($page) > 1)
 
 2123                                        if((
bool)$page[0][
"questionblock_show_blocktitle"])
 
 2125                                                $res[$this->lng->txt(
"questionblock")] = trim($page[0][
"questionblock_title"]).
"\n";
 
 2131                                $page_res = array();
 
 2133                                foreach($page as $question)
 
 2135                                        $question_gui = $this->
object->getQuestionGUI($question[
"type_tag"], $question[
"question_id"]);
 
 2136                                        if(is_object($question_gui))
 
 2138                                                $question_parts = array();                                                                              
 
 2141                                                if(strlen($question[
"heading"]))
 
 2143                                                        $question_parts[$this->lng->txt(
"heading")] = trim($question[
"heading"]);
 
 2148                                                        $question_parts[$this->lng->txt(
"title")] = trim($question[
"title"]);
 
 2151                                                if((
bool)$question[
"questionblock_show_questiontext"])
 
 2153                                                        $question_parts[$this->lng->txt(
"question")] = trim(strip_tags($question_gui->object->getQuestionText()));
 
 2156                                                $answers = $question_gui->getParsedAnswers(
 
 2157                                                        $this->object->loadWorkingData($question[
"question_id"], $a_active_id),
 
 2161                                                if(
sizeof($answers))
 
 2164                                                        if(
sizeof($answers) > 1 || 
 
 2165                                                                get_class($question_gui) == 
"SurveyTextQuestionGUI")
 
 2171                                                        foreach($answers as $answer)
 
 2174                                                                if($answer[
"textanswer"])
 
 2176                                                                        $text = 
' ("'.$answer[
"textanswer"].
'")';
 
 2178                                                                if(!isset($answer[
"cols"]))
 
 2180                                                                        if(isset($answer[
"title"]))
 
 2182                                                                                $parts[] = $answer[
"title"].$text;
 
 2184                                                                        else if(isset($answer[
"value"]))
 
 2186                                                                                $parts[] = $answer[
"value"];
 
 2190                                                                                $parts[] = substr($text, 2, -1);
 
 2197                                                                        foreach($answer[
"cols"] as $col)
 
 2199                                                                                $tmp[] = $col[
"title"];
 
 2201                                                                        $parts[] = $answer[
"title"].
": ".implode(
", ", $tmp).$text;
 
 2205                                                        $question_parts[$this->lng->txt(
"answer")] = 
 
 2206                                                                ($multiline ? 
"\n" : 
"").implode(
"\n", $parts);
 
 2210                                                foreach($question_parts as $type => $value)
 
 2212                                                        $tmp[] = $type.
": ".$value;
 
 2214                                                $page_res[] = implode(
"\n", $tmp);
 
 2218                                $res[] = implode(
"\n\n-------------------------------\n\n", $page_res);
 
 2222                $res[] = 
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
 
 2224                return implode(
"\n", 
$res);
 
 2231                $finished = $this->
object->getSurveyParticipants(array($a_active_id));
 
 2232                $finished = array_pop($finished);
 
 2235                require_once 
"Services/Mail/classes/class.ilMail.php";  
 
 2236                require_once 
"Services/Link/classes/class.ilLink.php";
 
 2239                $body .= $this->lng->txt(
"svy_mail_own_results_body").
"\n";             
 
 2240                $body .= 
"\n".$this->lng->txt(
"obj_svy").
": ".$this->
object->getTitle().
"\n";                                   
 
 2242                $body .= 
"\n".$this->lng->txt(
"survey_results_finished").
": ".$finished.
"\n\n";
 
 2249                require_once 
"Services/Mail/classes/class.ilMail.php";
 
 2250                $mail = 
new ilMail(ANONYMOUS_USER_ID);
 
 2251                $mail->sendMimeMail(
 
 2255                        sprintf($this->lng->txt(
"svy_mail_own_results_subject"), $this->object->getTitle()),
 
 2266                $anonymous_code = 
$_SESSION[
"anonymous_id"][$this->
object->getId()];
 
 2267                $active_id = $this->
object->getActiveID($ilUser->getId(), $anonymous_code, 0);
 
 2268                if($this->object->isSurveyStarted(
$ilUser->getId(), $anonymous_code) !== 1 ||
 
 2271                        $this->ctrl->redirect($this, 
"infoScreen");
 
 2274                $recipient = 
$_POST[
"mail"];    
 
 2277                        $this->ctrl->redirect($this, 
"infoScreen");
 
 2283                $this->ctrl->redirect($this, 
"infoScreen");
 
_getQuestionType($question_id)
Returns the question type of a question with a given id.
_getTitle($question_id)
Returns the question title of a question with a given id.
This class represents an option in a checkbox group.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static setUseRelativeDates($a_status)
set use relative dates
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
Class Mail this class handles base functions for mail handling.
static getSalutation($a_usr_id, $a_language=null)
Get salutation.
static _getInstallationSignature()
Static getter for the installation signature.
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.
_hasEvaluationAccess($a_obj_id, $user_id)
propertiesObject(ilPropertyFormGUI $a_form=null)
Display and fill the properties form of the test.
deleteExportFileObject()
delete export files
afterSave(ilObject $a_new_object)
save object @access public
initPropertiesForm()
Init survey settings form.
createExportFileObject()
create export file
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
getTabs(&$tabs_gui)
adds tabs to tab gui object
static _goto($a_target, $a_access_code="")
redirect script
sendUserResultsMail($a_active_id, $a_recipient)
initImportForm($a_new_type)
Init object import form.
savePropertiesObject()
Save the survey properties.
getUserResultsPlain($a_active_id)
addDidacticTemplateOptions(array &$a_options)
Add custom templates.
cancelDeleteExportFileObject()
cancel deletion of export files
downloadExportFileObject()
download export file
executeCommand()
execute command
infoScreen()
show information screen
evaluationObject()
Redirects the evaluation object call to the ilSurveyEvaluationGUI class.
resetTemplateObject()
Enable all settings - remove template.
importFileObject()
form for new survey object import
addLocatorItems()
should be overwritten to add object specific items (repository items are preloaded)
handleWriteAccess()
Checks for write access and returns to the parent object.
confirmDeleteExportFileObject()
confirmation screen for export file deletion
confirmResetTemplateObject()
Enable all settings - Confirmation.
getUserResultsTable($a_active_id)
const EVALUATION_ACCESS_PARTICIPANTS
const NOTIFICATION_INVITED_USERS
const NOTIFICATION_PARENT_COURSE
const EVALUATION_ACCESS_ALL
const ANONYMIZE_FREEACCESS
const EVALUATION_ACCESS_OFF
static validateExternalRaterCode($a_ref_id, $a_code)
static _lookupId($a_user_str)
lookup id by login
static _lookupName($a_user_id)
lookup user name
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
getDidacticTemplateVar($a_type)
Get didactic template setting from creation screen.
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
prepareOutput()
prepare output
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
addHeaderAction()
Add header action menu.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
getRefId()
get reference id @access public
static _getAllReferences($a_id)
get all reference ids of object
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents an option in a radio group.
Settings template application class.
static getAllSettingsTemplates($a_type, $a_include_auto_generated=false)
Get all settings templates of type.
static lookupTitle($a_id)
Lookup title.
Skill management settings.
Class ilSurveyConstraintsGUI.
Survey evaluation graphical output.
Survey execution graphical output.
Export class for surveys.
Class ilSurveyParticipantsGUI.
Survey skill determination GUI class.
Survey skill service GUI class.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
Auto completion class for user lists.
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 is_email($a_email)
This preg-based function checks whether an e-mail address is formally valid.
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
redirection script todo: (a better solution should control the processing via a xml file)
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']