25                $this->parent_gui = $a_parent_gui;
 
   26                $this->
object = $this->parent_gui->object;
 
   27                $this->ref_id = $this->
object->getRefId();
 
   28                $this->has_write = (bool)$a_has_write_access;
 
   39                        include_once 
"Modules/Survey/exceptions/class.ilSurveyException.php";
 
   49                $next_class = $this->ctrl->getNextClass($this);
 
   53                        case 'ilrepositorysearchgui':
 
   54                                include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
 
   57                                if(!$_REQUEST[
"appr360"] && !$_REQUEST[
"rate360"])
 
   59                                        $ilTabs->clearTargets();
 
   60                                        $ilTabs->setBackTarget($this->lng->txt(
"btn_back"), 
 
   61                                                $this->ctrl->getLinkTarget($this, 
"invite"));   
 
   63                                        $rep_search->setCallback($this,
 
   64                                                'inviteUserGroupObject',
 
   70                                        $this->ctrl->setReturn($this, 
'invite');
 
   71                                        $this->ctrl->forwardCommand($rep_search);
 
   72                                        $ilTabs->setTabActive(
'invitation');
 
   74                                else if($_REQUEST[
"rate360"])
 
   76                                        $ilTabs->clearTargets();
 
   77                                        $ilTabs->setBackTarget($this->lng->txt(
"btn_back"), 
 
   78                                                $this->ctrl->getLinkTarget($this, 
"listAppraisees"));           
 
   80                                        $this->ctrl->setParameter($this, 
"rate360", 1);
 
   81                                        $this->ctrl->saveParameter($this, 
"appr_id");
 
   83                                        $rep_search->setCallback($this,
 
   90                                        $this->ctrl->setReturn($this, 
'editRaters');
 
   91                                        $this->ctrl->forwardCommand($rep_search);
 
   95                                        $ilTabs->activateTab(
"survey_360_appraisees");
 
   96                                        $this->ctrl->setParameter($this, 
"appr360", 1);
 
   98                                        $rep_search->setCallback($this,
 
  105                                        $this->ctrl->setReturn($this, 
'listAppraisees');
 
  106                                        $this->ctrl->forwardCommand($rep_search);                               
 
  124                if($this->object->get360Mode())
 
  132                $ilToolbar->addButton($this->lng->txt(
'svy_delete_all_user_data'),
 
  133                        $this->ctrl->getLinkTarget($this, 
'deleteAllUserData'));
 
  135                include_once 
"./Modules/Survey/classes/tables/class.ilSurveyMaintenanceTableGUI.php";
 
  137                $total =& $this->
object->getSurveyParticipants();
 
  139                foreach (
$total as $user_data)
 
  142                        if((
bool)$user_data[
"finished"])
 
  144                                $finished = $user_data[
"finished_tstamp"];
 
  146                        $wt = $this->
object->getWorkingtimeForParticipant($user_data[
"active_id"]);
 
  147                        $last_access = $this->
object->getLastAccess($user_data[
"active_id"]);
 
  148                        array_push(
$data, array(
 
  149                                'id' => $user_data[
"active_id"],
 
  150                                'name' => $user_data[
"sortname"],
 
  151                                'login' => $user_data[
"login"],
 
  152                                'last_access' => $last_access,
 
  153                                'workingtime' => $wt,
 
  154                                'finished' => $finished
 
  157                $table_gui->setData(
$data);
 
  158                $this->tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());  
 
  163                $surveySetting = 
new ilSetting(
"survey");
 
  164                if($surveySetting->get(
"anonymous_participants", 
false))
 
  166                        if($this->object->hasAnonymizedResults() &&
 
  167                                $this->object->hasAnonymousUserList())
 
  169                                $end = $this->
object->getEndDate();
 
  170                                if($end && $end < 
date(
"YmdHis"))
 
  172                                        $min = $surveySetting->get(
"anonymous_participants_min", 0);
 
  173                                        $total = $this->
object->getSurveyParticipants();
 
  174                                        if(!$min || 
sizeof(
$total) >= $min)
 
  196                $ilTabs->addSubTabTarget(
"results",
 
  197                         $this->ctrl->getLinkTarget($this,
'maintenance'),
 
  198                         array(
"maintenance", 
"deleteAllUserData"),                                      
 
  203                        $ilTabs->addSubTabTarget(
"svy_anonymous_participants_svy",
 
  204                         $this->ctrl->getLinkTarget($this,
'listParticipants'),
 
  205                         array(
"listParticipants"),                                      
 
  209                if(!$this->object->isAccessibleWithoutCode())
 
  211                        $ilTabs->addSubTabTarget(
"codes", 
 
  212                                $this->ctrl->getLinkTarget($this,
'codes'),
 
  213                                array(
"codes", 
"editCodes", 
"createSurveyCodes", 
"setCodeLanguage", 
"deleteCodes", 
"exportCodes",
 
  214                                        "importExternalMailRecipientsFromFileForm", 
"importExternalMailRecipientsFromTextForm"),
 
  219                $hidden_tabs = array();
 
  220                $template = $this->
object->getTemplate();
 
  223                        include_once 
"Services/Administration/classes/class.ilSettingsTemplate.php";
 
  225                        $hidden_tabs = $template->getHiddenTabs();
 
  229                if(!in_array(
"invitation", $hidden_tabs))
 
  231                        $ilTabs->addSubTabTarget(
"invitation",
 
  232                                 $this->ctrl->getLinkTarget($this, 
'invite'),
 
  233                                 array(
"invite", 
"saveInvitationStatus",
 
  234                                 "inviteUserGroup", 
"disinviteUserGroup"),
 
  238                $data = $this->
object->getExternalCodeRecipients();
 
  241                        $ilTabs->addSubTabTarget
 
  244                                $this->ctrl->getLinkTarget($this, 
"mailCodes"), 
 
  245                                array(
"mailCodes", 
"sendCodesMail", 
"insertSavedMessage", 
"deleteSavedMessage"),        
 
  257                if (is_array(
$_POST[
"user_select"]))
 
  259                        foreach (
$_POST[
"user_select"] as $user_id)
 
  261                                $this->
object->disinviteUser($user_id);
 
  265                $this->ctrl->redirect($this, 
"invite");
 
  275                if (is_array($a_user_ids))
 
  277                        foreach ($a_user_ids as $user_id)
 
  279                                $this->
object->inviteUser($user_id);
 
  293                $this->ctrl->redirect($this, 
"invite");
 
  301                $mode = 
$_POST[
'invitation'];
 
  314                $this->
object->saveToDb();
 
  316                $this->ctrl->redirect($this, 
"invite");
 
  332                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  334                $form->setFormAction($this->ctrl->getFormAction($this));
 
  335                $form->setTableWidth(
"500");
 
  336                $form->setId(
"invite");
 
  340                $header->setTitle($this->lng->txt(
"invitation"));
 
  345                $invitation->setInfo($this->lng->txt(
'invitation_mode_desc'));
 
  346                $invitation->addOption(
new ilRadioOption($this->lng->txt(
"invitation_off"), 0, 
''));
 
  347                $surveySetting = 
new ilSetting(
"survey");
 
  348                if ($surveySetting->get(
"unlimited_invitation"))
 
  350                        $invitation->addOption(
new ilRadioOption($this->lng->txt(
"unlimited_users"), 1, 
''));
 
  352                $invitation->addOption(
new ilRadioOption($this->lng->txt(
"predefined_users"), 2, 
''));
 
  354                if ($this->object->getInvitation())
 
  356                        $inv = $this->
object->getInvitationMode() + 1;
 
  358                $invitation->setValue($inv);
 
  359                $form->addItem($invitation);
 
  361                $form->addCommandButton(
"saveInvitationStatus", $this->lng->txt(
"save"));
 
  363                $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.il_svy_svy_invite.html", 
"Modules/Survey");
 
  364                $this->tpl->setVariable(
"INVITATION_TABLE", $form->getHTML());
 
  366                if ($this->object->getInvitation() && $this->object->getInvitationMode() == 1)
 
  369                        include_once 
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
 
  374                                        'auto_complete_name'    => 
$lng->txt(
'user'),
 
  375                                        'submit_name'                   => 
$lng->txt(
'svy_invite_action')
 
  379                        $ilToolbar->addSpacer();
 
  381                        $ilToolbar->addButton($this->lng->txt(
"svy_search_users"),
 
  382                                $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
''));
 
  384                        $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
 
  386                        $invited_users = $this->
object->getUserData($this->object->getInvitedUsers());
 
  387                        include_once 
"./Modules/Survey/classes/tables/class.ilSurveyInvitedUsersTableGUI.php";
 
  389                        $table_gui->setData($invited_users);
 
  390                        $this->tpl->setVariable(
'TBL_INVITED_USERS', $table_gui->getHTML());    
 
  399                include_once 
"Services/Utilities/classes/class.ilConfirmationGUI.php";
 
  401                $cgui->setHeaderText($this->lng->txt(
"confirm_delete_all_user_data"));
 
  402                $cgui->setFormAction($this->ctrl->getFormAction($this, 
"deleteAllUserData"));
 
  403                $cgui->setCancel($this->lng->txt(
"cancel"), 
"cancelDeleteAllUserData");
 
  404                $cgui->setConfirm($this->lng->txt(
"confirm"), 
"confirmDeleteAllUserData");              
 
  405                $this->tpl->setContent($cgui->getHTML());                               
 
  413                $this->
object->deleteAllUserData();
 
  416                if($this->object->get360Mode())
 
  418                        $this->
object->openAllAppraisees();                     
 
  422                $this->ctrl->redirect($this, 
"maintenance");
 
  430                $this->ctrl->redirect($this, 
"maintenance");
 
  438                $this->
object->removeSelectedSurveyResults(
$_POST[
"chbUser"]);
 
  440                $this->ctrl->redirect($this, 
"maintenance");
 
  449                $this->ctrl->redirect($this, 
"maintenance");
 
  459                if (count(
$_POST[
"chbUser"]) == 0)
 
  462                        $this->ctrl->redirect($this, 
"maintenance");
 
  466                include_once 
"./Modules/Survey/classes/tables/class.ilSurveyMaintenanceTableGUI.php";
 
  468                $total =& $this->
object->getSurveyParticipants();
 
  470                foreach (
$total as $user_data)
 
  472                        if (in_array($user_data[
'active_id'], 
$_POST[
'chbUser']))
 
  474                                $last_access = $this->
object->getLastAccess($user_data[
"active_id"]);
 
  475                                array_push(
$data, array(
 
  476                                        'id' => $user_data[
"active_id"],
 
  477                                        'name' => $user_data[
"sortname"],
 
  478                                        'login' => $user_data[
"login"],
 
  479                                        'last_access' => $last_access
 
  483                $table_gui->setData(
$data);
 
  484                $this->tpl->setVariable(
'ADM_CONTENT', $table_gui->getHTML());  
 
  492                if (strcmp(
$_POST[
"lang"], 
"-1") != 0)
 
  498                $this->ctrl->redirect($this, 
'codes');
 
  511                if ($this->object->isAccessibleWithoutCode())
 
  516                $default_lang = 
$ilUser->getPref(
"survey_code_language");
 
  519                $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
 
  521                include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
 
  525                $ilToolbar->addInputItem(
$si, 
true);
 
  527                include_once 
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
 
  530                $button->setCaption(
"create");
 
  531                $button->setCommand(
"createSurveyCodes");
 
  532                $ilToolbar->addButtonInstance($button);
 
  534                $ilToolbar->addSeparator();
 
  537                $button->setCaption(
"import_from_file");
 
  538                $button->setCommand(
"importExternalMailRecipientsFromFileForm");
 
  539                $ilToolbar->addButtonInstance($button);
 
  542                $button->setCaption(
"import_from_text");
 
  543                $button->setCommand(
"importExternalMailRecipientsFromTextForm");
 
  544                $ilToolbar->addButtonInstance($button);
 
  546                $ilToolbar->addSeparator();
 
  549                $button->setCaption(
"svy_import_codes");
 
  550                $button->setCommand(
"importAccessCodes");
 
  551                $ilToolbar->addButtonInstance($button);
 
  553                $ilToolbar->addSeparator();
 
  555                $languages = $this->lng->getInstalledLanguages();
 
  557                $this->lng->loadLanguageModule(
"meta");
 
  562                include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
 
  565                $si->setValue($default_lang);
 
  566                $ilToolbar->addInputItem(
$si, 
true);
 
  569                $button->setCaption(
"set");
 
  570                $button->setCommand(
"setCodeLanguage");
 
  571                $ilToolbar->addButtonInstance($button);
 
  573                include_once 
"./Modules/Survey/classes/tables/class.ilSurveyCodesTableGUI.php";
 
  575                $survey_codes = $this->
object->getSurveyCodesTableData(
null, $default_lang);
 
  576                $table_gui->setData($survey_codes);             
 
  577                $this->tpl->setContent($table_gui->getHTML());  
 
  582                if(isset(
$_GET[
"new_ids"]))
 
  584                        $ids = explode(
";", 
$_GET[
"new_ids"]);
 
  588                        $ids = (array)
$_POST[
"chb_code"];
 
  593                        $this->ctrl->redirect($this, 
'codes');
 
  599                include_once 
"./Modules/Survey/classes/tables/class.ilSurveyCodesEditTableGUI.php";
 
  601                $table_gui->setData($this->object->getSurveyCodesTableData($ids));              
 
  602                $this->tpl->setContent($table_gui->getHTML());  
 
  607                if(!is_array(
$_POST[
"chb_code"]))
 
  609                        $this->ctrl->redirect($this, 
'codes');
 
  614                foreach(
$_POST[
"chb_code"] as $id)
 
  616                        if(!$this->object->updateCode($id,
 
  639                $this->ctrl->redirect($this, 
'codes');
 
  644                if (is_array(
$_POST[
"chb_code"]) && (count(
$_POST[
"chb_code"]) > 0))
 
  646                        include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  648                        $cgui->setHeaderText($this->lng->txt(
"survey_code_delete_sure"));
 
  650                        $cgui->setFormAction($this->ctrl->getFormAction($this));
 
  651                        $cgui->setCancel($this->lng->txt(
"cancel"), 
"codes");
 
  652                        $cgui->setConfirm($this->lng->txt(
"confirm"), 
"deleteCodes");
 
  654                        $data = $this->
object->getSurveyCodesTableData(
$_POST[
"chb_code"]);             
 
  656                        foreach (
$data as $item)
 
  663                                $title = array($item[
"code"]);                          
 
  664                                $item[
"email"] ? 
$title[] = $item[
"email"] : 
null;
 
  665                                $item[
"last_name"] ? 
$title[] = $item[
"last_name"] : 
null;
 
  666                                $item[
"first_name"] ? 
$title[] = $item[
"first_name"] : 
null;
 
  669                                $cgui->addItem(
"chb_code[]", $item[
"code"], 
$title);                            
 
  672                        $this->tpl->setContent($cgui->getHTML());                                               
 
  677                        $this->ctrl->redirect($this, 
'codes');
 
  686                if (is_array(
$_POST[
"chb_code"]) && (count(
$_POST[
"chb_code"]) > 0))
 
  688                        foreach (
$_POST[
"chb_code"] as $survey_code)
 
  690                                $this->
object->deleteSurveyCode($survey_code);
 
  698                $this->ctrl->redirect($this, 
'codes');
 
  706                if (is_array(
$_POST[
"chb_code"]) && (count(
$_POST[
"chb_code"]) > 0))
 
  708                        $export = $this->
object->getSurveyCodesForExport(
null, 
$_POST[
"chb_code"]);
 
  714                        $this->ctrl->redirect($this, 
'codes');
 
  723                $export = $this->
object->getSurveyCodesForExport();
 
  735                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  737                $form_import_file->setFormAction($this->ctrl->getFormAction($this));
 
  738                $form_import_file->setTableWidth(
"100%");
 
  739                $form_import_file->setId(
"codes_import_file");
 
  742                $headerfile->setTitle($this->lng->txt(
"svy_import_codes"));
 
  743                $form_import_file->addItem($headerfile);
 
  745                $export_file = 
new ilFileInputGUI($this->lng->txt(
"codes"), 
"codes");
 
  746                $export_file->setInfo(
sprintf($this->lng->txt(
'svy_import_codes_info'),
 
  747                        $this->lng->txt(
"export_all_survey_codes")));
 
  748                $export_file->setSuffixes(array(
"csv"));
 
  749                $export_file->setRequired(
true);
 
  750                $form_import_file->addItem($export_file);
 
  752                $form_import_file->addCommandButton(
"importAccessCodesAction", $this->lng->txt(
"import"));
 
  753                $form_import_file->addCommandButton(
"codes", $this->lng->txt(
"cancel"));
 
  755                $this->tpl->setContent($form_import_file->getHTML());
 
  763                if(trim($_FILES[
'codes'][
'tmp_name']))
 
  766                        foreach($this->object->getSurveyCodesTableData() as $item)
 
  768                                $existing[$item[
"code"]] = $item[
"id"];
 
  771                        include_once 
"./Services/Utilities/classes/class.ilCSVReader.php";
 
  773                        $reader->open($_FILES[
'codes'][
'tmp_name']);                    
 
  774                        foreach(
$reader->getDataArrayFromCSVFile() as 
$row)
 
  776                                if(
sizeof(
$row) == 8)
 
  779                                        list(
$code, $email, $last_name, $first_name, $created, $used, $sent, 
$url) = 
$row;
 
  782                                        if(!array_key_exists(
$code, $existing))
 
  785                                                if(strlen($created) == 10)
 
  797                                                        ,
"lastname" => $last_name
 
  798                                                        ,
"firstname" => $first_name
 
  800                                                $this->
object->importSurveyCode(
$code, $created, $user_data);                                           
 
  808                $this->ctrl->redirect($this, 
'codes');
 
  816                if (is_numeric(
$_POST[
"nrOfCodes"]))
 
  818                        $ids = $this->
object->createSurveyCodes(
$_POST[
"nrOfCodes"]);                   
 
  820                        $this->ctrl->setParameter($this, 
"new_ids", implode(
";", $ids));
 
  821                        $this->ctrl->redirect($this, 
'editCodes');
 
  826                        $this->ctrl->redirect($this, 
'codes');
 
  835                include_once(
"./Modules/Survey/classes/forms/FormMailCodesGUI.php");
 
  837                $form_gui->setValuesByPost();
 
  840                        if ($form_gui->getSavedMessages()->getValue() > 0)
 
  843                                $settings = $this->
object->getUserSettings($ilUser->getId(), 
'savemessage');
 
  844                                $form_gui->getMailMessage()->setValue($settings[$form_gui->getSavedMessages()->getValue()][
'value']);
 
  855                        $ilLog->write(
'Error: ' + $e->getMessage());
 
  857                $this->tpl->setVariable(
"ADM_CONTENT", $form_gui->getHTML());
 
  865                include_once(
"./Modules/Survey/classes/forms/FormMailCodesGUI.php");
 
  867                $form_gui->setValuesByPost();
 
  870                        if ($form_gui->getSavedMessages()->getValue() > 0)
 
  872                                $this->
object->deleteUserSettings($form_gui->getSavedMessages()->getValue());
 
  874                                $form_gui->setValuesByPost();
 
  885                        $ilLog->write(
'Error: ' + $e->getMessage());
 
  887                $this->tpl->setVariable(
"ADM_CONTENT", $form_gui->getHTML());
 
  895                $mailData[
'm_subject'] = (array_key_exists(
'm_subject', 
$_POST)) ? 
$_POST[
'm_subject'] : 
sprintf($this->lng->txt(
'default_codes_mail_subject'), $this->
object->getTitle());
 
  896                $mailData[
'm_message'] = (array_key_exists(
'm_message', 
$_POST)) ? 
$_POST[
'm_message'] : $this->lng->txt(
'default_codes_mail_message');
 
  897                $mailData[
'm_notsent'] = (array_key_exists(
'm_notsent', 
$_POST)) ? 
$_POST[
'm_notsent'] : 
'1';
 
  899                include_once(
"./Modules/Survey/classes/forms/FormMailCodesGUI.php");
 
  901                $form_gui->setValuesByArray($mailData);
 
  902                $this->tpl->setVariable(
"ADM_CONTENT", $form_gui->getHTML());
 
  912                include_once(
"./Modules/Survey/classes/forms/FormMailCodesGUI.php");
 
  914                if ($form_gui->checkInput())
 
  916                        $url_exists = strpos(
$_POST[
'm_message'], 
'[url]') !== FALSE;
 
  920                                $form_gui->setValuesByPost();
 
  924                                if (
$_POST[
'savemessage'] == 1)
 
  927                                        $title = (strlen(
$_POST[
'savemessagetitle'])) ? 
$_POST[
'savemessagetitle'] : ilStr::substr(
$_POST[
'm_message'], 0, 40) . 
'...';
 
  928                                        $this->
object->saveUserSettings($ilUser->getId(), 
'savemessage', 
$title, 
$_POST[
'm_message']);
 
  934                                        $lang = $this->lng->getDefaultLanguage();
 
  938                                $this->ctrl->redirect($this, 
'mailCodes');
 
  943                        $form_gui->setValuesByPost();
 
  945                $this->tpl->setVariable(
"ADM_CONTENT", $form_gui->getHTML());
 
  950                if (trim(
$_POST[
'externaltext']))
 
  952                        $data = preg_split(
"/[\n\r]/", 
$_POST[
'externaltext']);
 
  953                        $fields = preg_split(
"/;/", array_shift(
$data));
 
  954                        if (!in_array(
'email', $fields))
 
  958                                $this->ctrl->redirect($this, 
'importExternalMailRecipientsFromTextForm');
 
  960                        $existingdata = $this->
object->getExternalCodeRecipients();
 
  961                        $existingcolumns = array();
 
  962                        if (count($existingdata))
 
  964                                $first = array_shift($existingdata);
 
  965                                foreach ($first as $key => $value)
 
  967                                        array_push($existingcolumns, $key);
 
  970                        $founddata = array();
 
  971                        foreach (
$data as $datarow)
 
  973                                $row = preg_split(
"/;/", $datarow);
 
  974                                if (count(
$row) == count($fields))
 
  977                                        foreach ($fields as $idx => $fieldname)
 
  979                                                if (count($existingcolumns))
 
  981                                                        if (array_key_exists($idx, $existingcolumns))
 
  983                                                                $dataset[$fieldname] = 
$row[$idx];
 
  988                                                        $dataset[$fieldname] = 
$row[$idx];
 
  991                                        if (strlen($dataset[
'email']))
 
  993                                                array_push($founddata, $dataset);
 
  997                        $this->
object->createSurveyCodesForExternalData($founddata);
 
  999                        $this->ctrl->redirect($this, 
'codes');
 
 1002                $this->ctrl->redirect($this, 
'importExternalMailRecipientsFromTextForm');
 
 1008                if(extension_loaded(
"mbstring"))
 
 1010                        if(!$a_from_charset)
 
 1012                                mb_detect_order(
"UTF-8, ISO-8859-1, Windows-1252, ASCII");
 
 1013                                $a_from_charset = mb_detect_encoding($a_string);
 
 1015                        if(strtoupper($a_from_charset) != $a_to_charset)
 
 1017                                return @mb_convert_encoding($a_string, $a_to_charset, $a_from_charset);
 
 1025                $bom = pack(
'H*',
'EFBBBF');
 
 1026                return preg_replace(
'/^'.$bom.
'/', 
'', $a_text);
 
 1031                if (trim($_FILES[
'externalmails'][
'tmp_name']))
 
 1033                        include_once 
"./Services/Utilities/classes/class.ilCSVReader.php";
 
 1035                        $reader->open($_FILES[
'externalmails'][
'tmp_name']);
 
 1037                        $fields = array_shift(
$data);
 
 1038                        foreach($fields as $idx => $field)
 
 1042                        if (!in_array(
'email', $fields))
 
 1046                                $this->ctrl->redirect($this, 
'codes');
 
 1048                        $existingdata = $this->
object->getExternalCodeRecipients();
 
 1049                        $existingcolumns = array();
 
 1050                        if (count($existingdata))
 
 1052                                $first = array_shift($existingdata);
 
 1053                                foreach ($first as $key => $value)
 
 1055                                        array_push($existingcolumns, $key);
 
 1059                        include_once 
"Services/Utilities/classes/class.ilStr.php";
 
 1061                        $founddata = array();
 
 1064                                if (count(
$row) == count($fields))
 
 1067                                        foreach ($fields as $idx => $fieldname)
 
 1072                                                if (count($existingcolumns))
 
 1074                                                        if (array_key_exists($idx, $existingcolumns))
 
 1076                                                                $dataset[$fieldname] = 
$row[$idx];
 
 1081                                                        $dataset[$fieldname] = 
$row[$idx];
 
 1084                                        if (strlen($dataset[
'email']))
 
 1086                                                array_push($founddata, $dataset);
 
 1092                        if(
sizeof($founddata))
 
 1094                                $this->
object->createSurveyCodesForExternalData($founddata);
 
 1099                $this->ctrl->redirect($this, 
'codes');
 
 1109                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1111                $form_import_file->setFormAction($this->ctrl->getFormAction($this));
 
 1112                $form_import_file->setTableWidth(
"100%");
 
 1113                $form_import_file->setId(
"codes_import_file");
 
 1116                $headerfile->setTitle($this->lng->txt(
"import_from_file"));
 
 1117                $form_import_file->addItem($headerfile);
 
 1119                $externalmails = 
new ilFileInputGUI($this->lng->txt(
"externalmails"), 
"externalmails");
 
 1120                $externalmails->setInfo($this->lng->txt(
'externalmails_info'));
 
 1121                $externalmails->setRequired(
true);
 
 1122                $form_import_file->addItem($externalmails);
 
 1123                if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"])) $form_import_file->addCommandButton(
"importExternalRecipientsFromFile", $this->lng->txt(
"import"));
 
 1124                if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"])) $form_import_file->addCommandButton(
"codes", $this->lng->txt(
"cancel"));
 
 1126                $this->tpl->setContent($form_import_file->getHTML());
 
 1136                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");            
 
 1138                $form_import_text->setFormAction($this->ctrl->getFormAction($this));
 
 1139                $form_import_text->setTableWidth(
"100%");
 
 1140                $form_import_text->setId(
"codes_import_text");
 
 1143                $headertext->setTitle($this->lng->txt(
"import_from_text"));
 
 1144                $form_import_text->addItem($headertext);
 
 1147                if (array_key_exists(
'externaltext', 
$_SESSION) && strlen(
$_SESSION[
'externaltext']))
 
 1149                        $inp->setValue(
$_SESSION[
'externaltext']);
 
 1154                        $inp->setValue(
"email;firstname;lastname\n" . $this->lng->txt(
'mail_import_example2') . 
"\n" . $this->lng->txt(
'mail_import_example3') . 
"\n");
 
 1156                $inp->setRequired(
true);
 
 1159                $inp->setInfo($this->lng->txt(
'externaltext_info'));
 
 1160                $form_import_text->addItem($inp);
 
 1163                if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"])) $form_import_text->addCommandButton(
"importExternalRecipientsFromText", $this->lng->txt(
"import"));
 
 1164                if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"])) $form_import_text->addCommandButton(
"codes", $this->lng->txt(
"cancel"));
 
 1166                $this->tpl->setContent($form_import_text->getHTML());
 
 1191                $this->ctrl->setParameter($this, 
"appr360", 1);
 
 1193                include_once 
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
 
 1198                                'auto_complete_name'    => $this->lng->txt(
'user'),                             
 
 1199                                'submit_name'                   => $this->lng->txt(
'add'),
 
 1200                                'add_search'                    => 
true,
 
 1201                                'add_from_container'    => $this->ref_id                
 
 1206                include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
 
 1208                if ($this->object->get360SkillService() && $skmg_set->isActivated())
 
 1210                        $ilToolbar->addSeparator();
 
 1211                        $ilToolbar->addButton(
$lng->txt(
"survey_calc_skills"),
 
 1212                                $ilCtrl->getLinkTargetByClass(
"ilsurveyskilldeterminationgui"), 
"");
 
 1215                $ilToolbar->addSeparator();
 
 1216                $ilToolbar->addButton($this->lng->txt(
'svy_delete_all_user_data'),
 
 1217                        $this->ctrl->getLinkTarget($this, 
'deleteAllUserData'));                
 
 1219                $this->ctrl->setParameter($this, 
"appr360", 
"");
 
 1221                include_once 
"Modules/Survey/classes/tables/class.ilSurveyAppraiseesTableGUI.php";
 
 1223                $tbl->setData($this->object->getAppraiseesData());
 
 1224                $this->tpl->setContent(
$tbl->getHTML());                                
 
 1229                if(
sizeof($a_user_ids))
 
 1232                        foreach(array_unique($a_user_ids) as $user_id)
 
 1234                                $this->
object->addAppraisee($user_id);
 
 1239                $this->ctrl->redirect($this, 
"listAppraisees");
 
 1246                if(!
sizeof(
$_POST[
"appr_id"]))
 
 1249                        $this->ctrl->redirect($this, 
"listAppraisees");
 
 1252                $ilTabs->clearTargets();
 
 1253                $ilTabs->setBackTarget($this->lng->txt(
"btn_back"), 
 
 1254                        $this->ctrl->getLinkTarget($this, 
"listAppraisees"));
 
 1256                include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 1258                $cgui->setHeaderText($this->lng->txt(
"survey_360_sure_delete_appraises"));
 
 1260                $cgui->setFormAction($this->ctrl->getFormAction($this, 
"deleteAppraisees"));
 
 1261                $cgui->setCancel($this->lng->txt(
"cancel"), 
"listAppraisees");
 
 1262                $cgui->setConfirm($this->lng->txt(
"confirm"), 
"deleteAppraisees");
 
 1264                $data = $this->
object->getAppraiseesData();
 
 1267                include_once 
"Services/User/classes/class.ilUserUtil.php";
 
 1268                foreach (
$_POST[
"appr_id"] as $id)
 
 1270                        if(isset(
$data[$id]) && !
$data[$id][
"closed"])
 
 1280                        $this->ctrl->redirect($this, 
"listAppraisees");                 
 
 1283                $this->tpl->setContent($cgui->getHTML());               
 
 1288                if(
sizeof(
$_POST[
"appr_id"]))
 
 1290                        $data = $this->
object->getAppraiseesData();
 
 1292                        foreach (
$_POST[
"appr_id"] as $id)
 
 1295                                if(isset(
$data[$id]) && !
$data[$id][
"closed"])
 
 1297                                        $this->
object->deleteAppraisee($id);
 
 1304                $this->ctrl->redirect($this, 
"listAppraisees");         
 
 1311                if ($ilAccess->checkAccess(
"write", 
"", $this->ref_id)) 
 
 1313                        $appr_id = $_REQUEST[
"appr_id"];
 
 1316                                $this->ctrl->redirect($this, 
"listAppraisees");
 
 1320                else if($this->object->get360Mode() && 
 
 1321                        $this->object->get360SelfRaters() &&
 
 1322                        $this->object->isAppraisee(
$ilUser->getId()) &&
 
 1323                        !$this->object->isAppraiseeClosed(
$ilUser->getId()))
 
 1327                $this->ctrl->redirect($this->parent_gui, 
"infoScreen");
 
 1332                global $ilTabs, $ilToolbar, $ilAccess;
 
 1336                $has_write = $ilAccess->checkAccess(
"write", 
"", $this->ref_id);                                        
 
 1339                        $ilTabs->clearTargets();
 
 1340                        $ilTabs->setBackTarget($this->lng->txt(
"btn_back"), 
 
 1341                                $this->ctrl->getLinkTarget($this, 
"listAppraisees"));           
 
 1344                $this->ctrl->setParameter($this, 
"appr_id", $appr_id);          
 
 1345                $this->ctrl->setParameter($this, 
"rate360", 1);
 
 1347                include_once 
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
 
 1352                                'auto_complete_name'    => $this->lng->txt(
'user'),                             
 
 1353                                'submit_name'                   => $this->lng->txt(
'add'),
 
 1354                                'add_search'                    => 
true,
 
 1355                                'add_from_container'    => $this->ref_id                
 
 1359                $this->ctrl->setParameter($this, 
"rate360", 
"");
 
 1361                $ilToolbar->addSeparator();
 
 1363                $ilToolbar->addButton($this->lng->txt(
"survey_360_add_external_rater"), 
 
 1364                        $this->ctrl->getLinkTarget($this, 
"addExternalRaterForm"));             
 
 1367                require_once 
"Services/Link/classes/class.ilLink.php";
 
 1370                include_once 
"Modules/Survey/classes/tables/class.ilSurveyAppraiseesTableGUI.php";
 
 1372                $tbl->setData($this->object->getRatersData($appr_id));
 
 1373                $this->tpl->setContent(
$tbl->getHTML());                                
 
 1378                global $ilTabs, $ilAccess;
 
 1381                $this->ctrl->setParameter($this, 
"appr_id", $appr_id);
 
 1383                $has_write = $ilAccess->checkAccess(
"write", 
"", $this->ref_id);                                        
 
 1386                        $ilTabs->clearTargets();
 
 1387                        $ilTabs->setBackTarget($this->lng->txt(
"btn_back"), 
 
 1388                                $this->ctrl->getLinkTarget($this, 
"editRaters"));
 
 1396                $this->tpl->setContent($a_form->getHTML());
 
 1401                include_once 
"Services/User/classes/class.ilUserUtil.php";
 
 1402                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1404                $form->setFormAction($this->ctrl->getFormAction($this, 
"addExternalRater"));
 
 1405                $form->setTitle($this->lng->txt(
"survey_360_add_external_rater").
 
 1406                        ": ".ilUserUtil::getNamePresentation($appr_id));
 
 1408                $email = 
new ilEmailInputGUI($this->lng->txt(
"email"), 
"email");
 
 1409                $email->setRequired(
true);
 
 1410                $form->addItem($email);
 
 1412                $lname = 
new ilTextInputGUI($this->lng->txt(
"lastname"), 
"lname");
 
 1413                $lname->setSize(30);
 
 1414                $form->addItem($lname);
 
 1416                $fname = 
new ilTextInputGUI($this->lng->txt(
"firstname"), 
"fname");
 
 1417                $fname->setSize(30);
 
 1418                $form->addItem($fname);                 
 
 1420                $form->addCommandButton(
"addExternalRater", $this->lng->txt(
"save"));
 
 1421                $form->addCommandButton(
"editRaters", $this->lng->txt(
"cancel"));
 
 1428                $appr_id = $_REQUEST[
"appr_id"];
 
 1431                        $this->ctrl->redirect($this, 
"listAppraisees");
 
 1434                $this->ctrl->setParameter($this, 
"appr_id", $appr_id);
 
 1437                if($form->checkInput())
 
 1440                                "email" => $form->getInput(
"email"),
 
 1441                                "lastname" => $form->getInput(
"lname"),
 
 1442                                "firstname" => $form->getInput(
"fname")
 
 1444                        $anonymous_id = $this->
object->createSurveyCodesForExternalData(array(
$data));
 
 1445                        $anonymous_id = array_pop($anonymous_id);
 
 1447                        $this->
object->addRater($appr_id, 0, $anonymous_id);
 
 1450                        $this->ctrl->setParameter($this, 
"appr_id", $appr_id);
 
 1451                        $this->ctrl->redirect($this, 
"editRaters");
 
 1454                $form->setValuesByPost();
 
 1464                if(
sizeof($a_user_ids))
 
 1467                        foreach(array_unique($a_user_ids) as $user_id)
 
 1469                                if($ilAccess->checkAccess(
"write", 
"", $this->ref_id) ||
 
 1470                                        $this->object->get360SelfEvaluation() ||
 
 1473                                        if ($appr_id != $user_id)
 
 1475                                                $this->
object->addRater($appr_id, $user_id);
 
 1486                $this->ctrl->setParameter($this, 
"appr_id", $appr_id);
 
 1487                $this->ctrl->redirect($this, 
"editRaters");             
 
 1495                $this->ctrl->setParameter($this, 
"appr_id", $appr_id);
 
 1496                if(!
sizeof(
$_POST[
"rtr_id"]))
 
 1499                        $this->ctrl->redirect($this, 
"editRaters");
 
 1502                $ilTabs->clearTargets();
 
 1503                $ilTabs->setBackTarget($this->lng->txt(
"btn_back"), 
 
 1504                        $this->ctrl->getLinkTarget($this, 
"editRaters"));
 
 1506                include_once 
"Services/User/classes/class.ilUserUtil.php";
 
 1507                include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 1509                $cgui->setHeaderText(
sprintf($this->lng->txt(
"survey_360_sure_delete_raters"), 
 
 1512                $cgui->setFormAction($this->ctrl->getFormAction($this, 
"deleteRaters"));
 
 1513                $cgui->setCancel($this->lng->txt(
"cancel"), 
"editRaters");
 
 1514                $cgui->setConfirm($this->lng->txt(
"confirm"), 
"deleteRaters");
 
 1516                $data = $this->
object->getRatersData($appr_id);
 
 1518                foreach (
$_POST[
"rtr_id"] as $id)
 
 1520                        if(isset(
$data[$id]))
 
 1522                                $cgui->addItem(
"rtr_id[]", $id, 
$data[$id][
"lastname"].
", ".
 
 1523                                        $data[$id][
"firstname"].
" (".
$data[$id][
"email"].
")");                                                  
 
 1527                $this->tpl->setContent($cgui->getHTML());               
 
 1533                $this->ctrl->setParameter($this, 
"appr_id", $appr_id);
 
 1535                if(
sizeof(
$_POST[
"rtr_id"]))
 
 1537                        $data = $this->
object->getRatersData($appr_id);
 
 1539                        foreach (
$_POST[
"rtr_id"] as $id)
 
 1541                                if(isset(
$data[$id]))
 
 1543                                        if(substr($id, 0, 1) == 
"u")
 
 1545                                                 $this->
object->deleteRater($appr_id, substr($id, 1));
 
 1549                                                $this->
object->deleteRater($appr_id, 0, substr($id, 1));
 
 1557                $this->ctrl->redirect($this, 
"editRaters");             
 
 1564                if($this->object->get360SelfAppraisee() && 
 
 1565                        !$this->object->isAppraisee(
$ilUser->getId()))
 
 1567                        $this->
object->addAppraisee($ilUser->getId());                                          
 
 1570                $this->ctrl->redirect($this->parent_gui, 
"infoScreen");
 
 1575                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1577                $form->setFormAction($this->ctrl->getFormAction($this, 
"mailRatersAction"));
 
 1578                $form->setTitle($this->lng->txt(
'compose'));
 
 1580                $all_data = $this->
object->getRatersData($appr_id);
 
 1581                $rec_data = array();
 
 1582                foreach($rec_ids as $rec_id)
 
 1584                        if(isset($all_data[$rec_id]))
 
 1586                                $rec_data[] = $all_data[$rec_id][
"lastname"].
", ".
 
 1587                                        $all_data[$rec_id][
"firstname"].
 
 1588                                        " (".$all_data[$rec_id][
"email"].
")";
 
 1593                $rec->setHTML(implode(
"<br />", $rec_data));
 
 1594                $form->addItem($rec);
 
 1596                $subject = 
new ilTextInputGUI($this->lng->txt(
'subject'), 
'subject');
 
 1597                $subject->setSize(50);
 
 1598                $subject->setRequired(
true);
 
 1599                $form->addItem($subject);
 
 1601                $existingdata = $this->
object->getExternalCodeRecipients();
 
 1602                $existingcolumns = array();
 
 1603                if (count($existingdata))
 
 1605                        $first = array_shift($existingdata);
 
 1606                        foreach ($first as $key => $value)
 
 1608                                if (strcmp($key, 
'code') != 0 && strcmp($key, 
'email') != 0 && strcmp($key, 
'sent') != 0) array_push($existingcolumns, 
'[' . $key . 
']');
 
 1612                $mailmessage_u = 
new ilTextAreaInputGUI($this->lng->txt(
'survey_360_rater_message_content_registered'), 
'message_u');
 
 1613                $mailmessage_u->setRequired(
true);
 
 1614                $mailmessage_u->setCols(80);
 
 1615                $mailmessage_u->setRows(10);
 
 1616                $form->addItem($mailmessage_u);
 
 1618                $mailmessage_a = 
new ilTextAreaInputGUI($this->lng->txt(
'survey_360_rater_message_content_anonymous'), 
'message_a');
 
 1619                $mailmessage_a->setRequired(
true);
 
 1620                $mailmessage_a->setCols(80);
 
 1621                $mailmessage_a->setRows(10);
 
 1622                $mailmessage_a->setInfo(
sprintf($this->lng->txt(
'message_content_info'), join($existingcolumns, 
', ')));
 
 1623                $form->addItem($mailmessage_a);
 
 1626                $recf->setValue(implode(
";", $rec_ids));
 
 1627                $form->addItem($recf);
 
 1629                $form->addCommandButton(
"mailRatersAction", $this->lng->txt(
"send"));
 
 1630                $form->addCommandButton(
"editRaters", $this->lng->txt(
"cancel"));               
 
 1632                $subject->setValue(
sprintf($this->lng->txt(
'survey_360_rater_subject_default'), $this->object->getTitle()));
 
 1633                $mailmessage_u->setValue($this->lng->txt(
'survey_360_rater_message_content_registered_default'));
 
 1634                $mailmessage_a->setValue($this->lng->txt(
'survey_360_rater_message_content_anonymous_default'));
 
 1646                        $this->ctrl->setParameter($this, 
"appr_id", $appr_id);
 
 1648                        if(!
sizeof(
$_POST[
"rtr_id"]))
 
 1651                                $this->ctrl->redirect($this, 
"editRaters");
 
 1657                $ilTabs->clearTargets();
 
 1658                $ilTabs->setBackTarget($this->lng->txt(
"btn_back"), 
 
 1659                        $this->ctrl->getLinkTarget($this, 
"editRaters"));               
 
 1661                $this->tpl->setContent($a_form->getHTML());
 
 1669                $this->ctrl->setParameter($this, 
"appr_id", $appr_id);
 
 1671                $rec_ids = explode(
";", 
$_POST[
"rtr_id"]);              
 
 1672                if(!
sizeof($rec_ids))
 
 1674                        $this->ctrl->redirect($this, 
"editRaters");
 
 1678                if($form->checkInput())
 
 1680                        $txt_u = $form->getInput(
"message_u");
 
 1681                        $txt_a = $form->getInput(
"message_a");
 
 1682                        $subj = $form->getInput(
"subject");
 
 1685                        $sender_id = (trim(
$ilUser->getEmail())) 
 
 1687                                : ANONYMOUS_USER_ID;
 
 1689                        include_once 
"./Services/Mail/classes/class.ilMail.php";
 
 1691                        $all_data = $this->
object->getRatersData($appr_id);                     
 
 1692                        foreach($rec_ids as $rec_id)
 
 1694                                if(isset($all_data[$rec_id]))
 
 1697                                        $user = $all_data[$rec_id];
 
 1700                                        if(substr($rec_id, 0, 1) == 
"a")
 
 1703                                                $url = $user[
"href"];   
 
 1704                                                $rcp = $user[
"email"];
 
 1710                                                $user[
"code"] = $this->lng->txt(
"survey_code_mail_on_demand");
 
 1712                                                $rcp = $user[
"login"]; 
 
 1715                                        $mytxt = str_replace(
"[lastname]", $user[
"lastname"], $mytxt); 
 
 1716                                        $mytxt = str_replace(
"[firstname]", $user[
"firstname"], $mytxt); 
 
 1717                                        $mytxt = str_replace(
"[url]", 
$url, $mytxt); 
 
 1718                                        $mytxt = str_replace(
"[code]", $user[
"code"], $mytxt);          
 
 1720                                        $mail = 
new ilMail($sender_id);                                 
 
 1731                                        $this->
object->set360RaterSent($appr_id,
 
 1732                                                (substr($rec_id, 0, 1) == 
"a") ? 0 : (
int)substr($rec_id, 1), 
 
 1733                                                (substr($rec_id, 0, 1) == 
"u") ? 0 : (
int)substr($rec_id, 1));
 
 1738                        $this->ctrl->redirect($this, 
"editRaters");
 
 1741                $form->setValuesByPost();
 
 1749                $ilTabs->clearTargets();
 
 1750                $ilTabs->setBackTarget($this->lng->txt(
"menuback"),
 
 1751                        $this->ctrl->getLinkTarget($this->parent_gui, 
"infoScreen"));
 
 1753                if(!$this->object->isAppraisee(
$ilUser->getId()))
 
 1755                         $this->ctrl->redirect($this->parent_gui, 
"infoScreen");                                   
 
 1758                include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 1760                $cgui->setHeaderText($this->lng->txt(
"survey_360_sure_appraisee_close"));
 
 1762                $cgui->setFormAction($this->ctrl->getFormAction($this, 
"appraiseeClose"));
 
 1763                $cgui->setCancel($this->lng->txt(
"cancel"), 
"confirmAppraiseeCloseCancel");
 
 1764                $cgui->setConfirm($this->lng->txt(
"confirm"), 
"appraiseeClose");        
 
 1766                $tpl->setContent($cgui->getHTML());
 
 1771           $this->ctrl->redirect($this->parent_gui, 
"infoScreen");
 
 1778                if(!$this->object->isAppraisee(
$ilUser->getId()))
 
 1780                         $this->ctrl->redirect($this->parent_gui, 
"infoScreen");                                   
 
 1783                $this->
object->closeAppraisee($ilUser->getId());
 
 1785                $this->ctrl->redirect($this->parent_gui, 
"infoScreen");
 
 1794                $appr_ids = 
$_POST[
"appr_id"];
 
 1796                if(!
sizeof($appr_ids))
 
 1799                        $this->ctrl->redirect($this, 
"listAppraisees");
 
 1802                include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 1804                $cgui->setHeaderText($this->lng->txt(
"survey_360_sure_appraisee_close_admin"));
 
 1806                $cgui->setFormAction($this->ctrl->getFormAction($this, 
"adminAppraiseesClose"));
 
 1807                $cgui->setCancel($this->lng->txt(
"cancel"), 
"listAppraisees");
 
 1808                $cgui->setConfirm($this->lng->txt(
"confirm"), 
"adminAppraiseesClose");  
 
 1810                include_once 
"Services/User/classes/class.ilUserUtil.php";
 
 1811                foreach($appr_ids as $appr_id)
 
 1816                $tpl->setContent($cgui->getHTML());
 
 1823                $appr_ids = 
$_POST[
"appr_id"];
 
 1825                if(!
sizeof($appr_ids))
 
 1828                        $this->ctrl->redirect($this, 
"listAppraisees");
 
 1831                $appr_data = $this->
object->getAppraiseesData();
 
 1832                foreach($appr_ids as $appr_id)
 
 1834                        if(isset($appr_data[$appr_id]) && !$appr_data[$appr_id][
"closed"])
 
 1836                                $this->
object->closeAppraisee($appr_id);
 
 1840                ilUtil::sendSuccess($this->lng->txt(
"survey_360_appraisee_close_action_success_admin"), 
true);
 
 1841                $this->ctrl->redirect($this, 
"listAppraisees");
 
 1850                   $this->ctrl->redirect($this, 
"maintenance");
 
 1856                include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
 1858                $button->setCaption(
"print");                                                           
 
 1859                $button->setOnClick(
"window.print(); return false;");                           
 
 1860                $button->setOmitPreventDoubleSubmission(
true);
 
 1861                $ilToolbar->addButtonInstance($button);         
 
 1863                include_once 
"Modules/Survey/classes/tables/class.ilSurveyParticipantsTableGUI.php";
 
 1865                $this->tpl->setContent(
$tbl->getHTML());
 
sprintf('%.4f', $callTime)
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
An exception for terminatinating execution or to throw for unit testing.
Confirmation screen class.
@classDescription Date and time handling
static _getStaticLink($a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
This class handles base functions for mail handling.
const MODE_PREDEFINED_USERS
This class represents an option in a radio group.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
Settings template application class.
Skill management settings.
Class ilSurveyParticipantsGUI.
exportCodesObject()
Exports a list of survey codes.
cancelDeleteAllUserDataObject()
Cancels delete of all user data in maintenance.
mailRatersObject(ilPropertyFormGUI $a_form=null)
importExternalRecipientsFromFileObject()
saveInvitationStatusObject()
Saves the status of the invitation tab.
deleteSavedMessageObject()
deleteCodesConfirmObject()
confirmAppraiseeCloseObject()
deleteAllUserDataObject()
Creates a confirmation form for delete all user data.
addAppraisee($a_user_ids)
setCodesSubtabs()
Set the tabs for the access codes section.
maintenanceObject()
Participants maintenance.
importExternalMailRecipientsFromFileFormObject()
addExternalRaterFormObject(ilPropertyFormGUI $a_form=null)
importExternalMailRecipientsFromTextFormObject()
__construct(ilObjSurveyGUI $a_parent_gui, $a_has_write_access)
confirmAppraiseeCloseCancelObject()
inviteObject()
Creates the output for user/group invitation to a survey.
insertSavedMessageObject()
importAccessCodesActionObject()
Import codes from export codes file.
codesObject()
Display the survey access codes tab.
confirmDeleteAllUserDataObject()
Deletes all user data of the survey after confirmation.
createSurveyCodesObject()
Create access codes for the survey.
_convertCharset($a_string, $a_from_charset="", $a_to_charset="UTF-8")
exportAllCodesObject()
Exports all survey codes.
initMailRatersForm($appr_id, array $rec_ids)
deleteCodesObject()
Delete a list of survey codes.
confirmDeleteAppraiseesObject()
disinviteUserGroupObject()
Disinvite users or groups from a survey.
deleteSingleUserResultsObject()
Asks for a confirmation to delete selected user data of the test object.
setCodeLanguageObject()
Change survey language for direct access URL's.
importAccessCodesObject()
Import codes from export codes file (upload form)
confirmAdminAppraiseesCloseObject()
adminAppraiseesCloseObject()
cancelDeleteSelectedUserDataObject()
Cancels the deletion of all user data for the test object.
initExternalRaterForm($appr_id)
confirmDeleteRatersObject()
inviteUserGroupObject($a_user_ids=array())
Invite users or groups to a survey.
confirmDeleteSelectedUserDataObject()
Deletes all user data for the test object.
importExternalRecipientsFromTextObject()
This class represents a text area property in a property form.
This class represents a text property in a property form.
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, $a_return_data_array=false)
Default behaviour is:
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
if(!is_array($argv)) $options