4 require_once 
"./classes/class.ilObjectGUI.php";
 
   31                 define(
'USER_FOLDER_ID',7);
 
   34                 $this->
ilObjectGUI($a_data,$a_id,$a_call_by_reference,
false);
 
   36                 $this->lng->loadLanguageModule(
'search');
 
   37                 $this->lng->loadLanguageModule(
"user");
 
   39                 $ilCtrl->saveParameter($this, 
"letter");
 
   44                 $this->user_owner_id = $a_id;
 
   48                 return $this->user_owner_id ? $this->user_owner_id : 
USER_FOLDER_ID;
 
   53                 $next_class = $this->ctrl->getNextClass($this);
 
   54                 $cmd = $this->ctrl->getCmd();
 
   59                         case 'ilusertablegui':
 
   60                                 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
 
   62                                 $u_table->initFilter();
 
   63                                 $this->ctrl->setReturn($this,
'view');
 
   64                                 $this->ctrl->forwardCommand($u_table);
 
   67                         case 'ilpermissiongui':
 
   68                                 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
   70                                 $ret =& $this->ctrl->forwardCommand($perm_gui);
 
   73                         case 'iladminusersearchgui':
 
   74                                 include_once(
'./Services/Search/classes/class.ilAdminUserSearchGUI.php');
 
   76                                 $user_search->setCallbackClass($this);
 
   78                                 $this->tabs_gui->setTabActive(
'search_user_extended');
 
   79                                 $this->ctrl->setReturn($this,
'view');
 
   80                                 $ret =& $this->ctrl->forwardCommand($user_search);
 
  101                 if (!$rbacsystem->checkAccess(
"read",$this->object->getRefId()))
 
  103                         $ilErr->raiseError($this->lng->txt(
"permission_denied"),$ilErr->MESSAGE);
 
  106                 include_once 
'./Services/Excel/classes/class.ilExcelWriterAdapter.php';
 
  115                 $workbook =& $pewa->getWorkbook();
 
  121                 include_once 
'Services/Excel/classes/class.ilExcelUtils.php';
 
  123                 $workbook =& $pewa->getWorkbook();
 
  124                 $worksheet =& $workbook->addWorksheet($this->lng->txt(
'objs_usr'));
 
  127                 $worksheet->mergeCells(0,0,0,4);
 
  128                 $worksheet->setColumn(1,0,32);
 
  129                 $worksheet->setColumn(1,1,32);
 
  130                 $worksheet->setColumn(1,2,32);
 
  131                 $worksheet->setColumn(1,3,32);
 
  132                 $worksheet->setColumn(1,4,32);
 
  134                 $title = $this->lng->txt(
'learning_progress');
 
  135                 $title .= 
' '.$this->lng->txt(
'as_of').
': ';
 
  136                 $title .= strftime(
'%Y-%m-%d %R',time());
 
  152                 foreach($usr_data as 
$user)
 
  154                         $worksheet->writeString($counter,0,$user[
'login']);
 
  155                         $worksheet->writeString($counter,1,$user[
'lastname']);
 
  156                         $worksheet->writeString($counter,2,$user[
'firstname']);
 
  158                                                                         $pewa->getFormatDayTime());
 
  159                         $worksheet->writeString($counter,4,$user[
'last_login'],
 
  160                                                                         $pewa->getFormatDate());
 
  169                 include_once 
'Services/Tracking/classes/class.ilOnlineTracking.php';
 
  170                 include_once 
'Services/Tracking/classes/class.ilObjUserTracking.php';
 
  174                 global $ilUser,$rbacsystem;
 
  176                 $this->max_count = $ilUser->getPref(
'hits_per_page');
 
  178                 if (!$rbacsystem->checkAccess(
"read",$this->object->getRefId()))
 
  180                         $this->ilias->raiseError($this->lng->txt(
"permission_denied"),$this->ilias->error_obj->MESSAGE);
 
  191                 $this->tpl->addBlockfile(
"BUTTONS", 
"buttons", 
"tpl.buttons.html");
 
  194                 $this->lng->loadLanguageModule(
'payment');
 
  195                 $this->tpl->setCurrentBlock(
"btn_cell");
 
  196                 $this->tpl->setVariable(
"BTN_LINK",
 
  197                                                                 $this->ctrl->getLinkTarget($this, 
"learningProgressExcelExport"));
 
  198                 $this->tpl->setVariable(
"BTN_TXT",$this->lng->txt(
"excel_export"));
 
  199                 $this->tpl->parseCurrentBlock();
 
  202                 $data[
"cols"] = array(
"login", 
"firstname", 
"lastname", 
"online_time",
'last_login');
 
  205                 $num_users = count($usr_data) - 1;
 
  207                 $sort_numeric = 
false;
 
  208                 if(in_array(
$_SESSION[
"usrf_sort_by"], array(
"last_login", 
"online_time")))
 
  210                         $sort_numeric = 
true;
 
  215                 foreach ($usr_data as $idx => $val)
 
  217                         if ($val[
"usr_id"] == ANONYMOUS_USER_ID)
 
  219                                 unset($usr_data[$idx]);
 
  223                 $usr_data = array_slice($usr_data,
$_GET[
"offset"],$this->max_count);
 
  224                 foreach ($usr_data as $val)
 
  226                         $data[
"data"][
"$val[usr_id]"] = array(
 
  227                                 "login"                 => $val[
"login"],
 
  228                                 "firstname"             => $val[
"firstname"],
 
  229                                 "lastname"              => $val[
"lastname"],
 
  235                 $this->tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.usr_list.html");
 
  239                 include_once 
"./Services/Table/classes/class.ilTableGUI.php";
 
  240                 $this->tpl->addBlockfile(
"USR_TABLE", 
"user_table", 
"tpl.table.html");
 
  241                 $this->tpl->addBlockfile(
"TBL_CONTENT", 
"tbl_content", 
"tpl.usr_tbl_row.html");
 
  243                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
  249                 $tbl->setTitle($this->object->getTitle(),
"icon_usr.gif",
 
  250                                            $this->lng->txt(
"obj_".$this->object->getType()));
 
  252                 foreach (
$data[
"cols"] as $val)
 
  254                         $header_names[] = $this->lng->txt($val);
 
  257                 $tbl->setHeaderNames($header_names);
 
  259                 $header_params = $this->ctrl->getParameterArray($this, 
"learningProgress");
 
  260                 $tbl->setHeaderVars(
$data[
"cols"],$header_params);
 
  261                 $tbl->setColumnWidth(array(
"20%",
"20%",
"20%",
"20%"));
 
  266                 $tbl->setOrderColumn(
$_GET[
"sort_by"]);
 
  267                 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
 
  268                 $tbl->setLimit($this->max_count);
 
  269                 $tbl->setOffset(
$_GET[
"offset"]);
 
  270                 $tbl->setMaxCount($num_users);
 
  273                 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
 
  285                         $this->tpl->setVariable(
"CSS_ROW", $css_row);
 
  287                         foreach ($fields as $key => $val)
 
  292                                 $this->ids[] = 
$ctrl[
"obj_id"];
 
  294                                 if ($key == 
"login" and $lp_active)
 
  296                                         $this->ctrl->setParameterByClass(
"illearningprogressgui", 
"ref_id",$this->object->getRefId());
 
  297                                         $this->ctrl->setParameterByClass(
"illearningprogressgui", 
"obj_id", 
$usr_id);
 
  298                                         $link = $this->ctrl->getLinkTargetByClass(array(
"ilobjusergui",
'illearningprogressgui'), 
"");
 
  300                                         $this->tpl->setCurrentBlock(
"begin_link");
 
  301                                         $this->tpl->setVariable(
"LINK_TARGET", $link);
 
  302                                         $this->tpl->parseCurrentBlock();
 
  303                                         $this->tpl->touchBlock(
"end_link");
 
  306                                 $this->tpl->setCurrentBlock(
"text");
 
  307                                 $this->tpl->setVariable(
"TEXT_CONTENT", $val);
 
  308                                 $this->tpl->parseCurrentBlock();
 
  309                                 $this->tpl->setCurrentBlock(
"table_cell");
 
  310                                 $this->tpl->parseCurrentBlock();
 
  313                         $this->tpl->setCurrentBlock(
"tbl_content");
 
  314                         $this->tpl->setVariable(
"CSS_ROW", $css_row);
 
  315                         $this->tpl->parseCurrentBlock();
 
  325                 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
 
  327                 $utab->resetOffset();
 
  328                 $utab->resetFilter();
 
  341                 $ilCtrl->setParameterByClass(
"ilobjusergui", 
"new_type", 
"usr");
 
  342                 $ilCtrl->redirectByClass(array(
"iladministrationgui", 
"ilobjusergui"), 
"create");
 
  353                 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
 
  355                 $utab->resetOffset();
 
  356                 $utab->writeFilterToSession();
 
  358                 $ilTabs->activateTab(
"obj_usrf");
 
  371                 $ilToolbar->addButton($this->lng->txt(
"usr_add"),
 
  372                         $this->ctrl->getLinkTarget($this, 
"addUser"));
 
  373                 $ilToolbar->addButton($this->lng->txt(
"import_users"),
 
  374                         $this->ctrl->getLinkTarget($this, 
"importUserForm"));
 
  377                 include_once 
'./Services/User/classes/class.ilUserAccountSettings.php';
 
  379                 if ((
int) $ilSetting->get(
'user_adm_alpha_nav'))
 
  381                         $ilToolbar->addSeparator();
 
  384                         include_once(
"./Services/Form/classes/class.ilAlphabetInputGUI.php");
 
  386                         include_once(
"./Services/User/classes/class.ilObjUser.php");
 
  392                         $ai->setParentCommand($this, 
"chooseLetter");
 
  393                         $ai->setHighlighted(
$_GET[
"letter"]);
 
  394                         $ilToolbar->addInputItem($ai, 
true);
 
  398                 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
 
  400                 $tpl->setContent($utab->getHTML());
 
  413                 $ilCtrl->redirect($this, 
"view");
 
  427                 $operations = array();
 
  429                 if ($this->actions == 
"")
 
  432                                 "delete" => array(
"name" => 
"delete", 
"lng" => 
"delete"),
 
  433                                 "activate" => array(
"name" => 
"activate", 
"lng" => 
"activate"),
 
  434                                 "deactivate" => array(
"name" => 
"deactivate", 
"lng" => 
"deactivate"),
 
  435                                 "accessRestrict" => array(
"name" => 
"accessRestrict", 
"lng" => 
"accessRestrict"),
 
  436                                 "accessFree" => array(
"name" => 
"accessFree", 
"lng" => 
"accessFree"),
 
  437                                 "export" => array(
"name" => 
"export", 
"lng" => 
"export")
 
  446                         if ($rbacsystem->checkAccess($row[
"name"],$this->object->getRefId()))
 
  448                                 $operations[] = 
$row;
 
  452                 if (count($operations) > 0)
 
  454                         $select = 
"<select name=\"selectedAction\">\n";
 
  455                         foreach ($operations as $val)
 
  457                                 $select .= 
"<option value=\"" . $val[
"name"] . 
"\"";
 
  458                                 if (strcmp(
$_POST[
"selectedAction"], $val[
"name"]) == 0)
 
  460                                         $select .= 
" selected=\"selected\"";
 
  463                                 $select .= $this->lng->txt($val[
"lng"]);
 
  464                                 $select .= 
"</option>";
 
  466                         $select .= 
"</select>";
 
  467                         $this->tpl->setCurrentBlock(
"tbl_action_select");
 
  468                         $this->tpl->setVariable(
"SELECT_ACTION", $select);
 
  469                         $this->tpl->setVariable(
"BTN_NAME", 
"userAction");
 
  470                         $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"submit"));
 
  471                         $this->tpl->parseCurrentBlock();
 
  474                 if ($with_subobjects === 
true)
 
  479                 if ((count($operations) > 0) or $subobjs === 
true)
 
  481                         $this->tpl->setCurrentBlock(
"tbl_action_row");
 
  482                         $this->tpl->setVariable(
"COLUMN_COUNTS",count($this->data[
"cols"]));
 
  484                         $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
 
  485                         $this->tpl->parseCurrentBlock();
 
  499                 $d = $this->objDefinition->getCreatableSubObjects($this->object->getType());
 
  501                 if (!$rbacsystem->checkAccess(
'create_usr',$this->object->getRefId()))
 
  514                                         for ($i=0; $i<count($this->data[
"ctrl"]); $i++)
 
  516                                                 if ($this->data[
"ctrl"][$i][
"type"] == $row[
"name"])
 
  522                                 if ($row[
"max"] == 
"" || $count < $row[
"max"])
 
  524                                         $subobj[] = $row[
"name"];
 
  529                 if (is_array($subobj))
 
  533                         $this->tpl->setCurrentBlock(
"add_object");
 
  534                         $this->tpl->setVariable(
"SELECT_OBJTYPE", $opts);
 
  535                         $this->tpl->setVariable(
"BTN_NAME", 
"create");
 
  536                         $this->tpl->setVariable(
"TXT_ADD", $this->lng->txt(
"add"));
 
  537                         $this->tpl->parseCurrentBlock();
 
  547                 session_unregister(
"saved_post");
 
  548                 $this->ctrl->returnToParent($this);
 
  568                 global $rbacsystem, $ilUser;
 
  571                 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
 
  573                         $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->WARNING);
 
  582                         $obj =& $this->ilias->obj_factory->getInstanceByObjId($id);
 
  583                         $obj->setActive(TRUE, $ilUser->getId());
 
  589                 if (
$_SESSION[
'user_activate_search'] == 
true)
 
  591                         session_unregister(
"user_activate_search");
 
  592                         $script = $this->ctrl->getLinkTargetByClass(
'ilAdminUserSearchGUI',
'show',
'',
false,
false);
 
  597                         $this->ctrl->redirect($this, 
"view");
 
  618                 global $rbacsystem, $ilUser;
 
  621                 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
 
  623                         $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->WARNING);
 
  632                         $obj =& $this->ilias->obj_factory->getInstanceByObjId($id);
 
  633                         $obj->setActive(FALSE, $ilUser->getId());
 
  640                 if (
$_SESSION[
'user_deactivate_search'] == 
true)
 
  642                         session_unregister(
"user_deactivate_search");
 
  643                         $script = $this->ctrl->getLinkTargetByClass(
'ilAdminUserSearchGUI',
'show',
'',
false,
false);
 
  648                         $this->ctrl->redirect($this, 
"view");
 
  659                 global $rbacsystem, $ilUser;
 
  662                 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
 
  664                         $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->WARNING);
 
  673                         $obj =& $this->ilias->obj_factory->getInstanceByObjId($id);
 
  674                         $obj->setTimeLimitOwner($ilUser->getId());
 
  675                         $obj->setTimeLimitUnlimited(1);
 
  676                         $obj->setTimeLimitFrom(
"");
 
  677                         $obj->setTimeLimitUntil(
"");
 
  678                         $obj->setTimeLimitMessage(0);
 
  685                 if (
$_SESSION[
'user_accessFree_search'] == 
true)
 
  687                         session_unregister(
"user_accessFree_search");
 
  688                         $script = $this->ctrl->getLinkTargetByClass(
'ilAdminUserSearchGUI',
'show',
'',
false,
false);
 
  693                         $this->ctrl->redirect($this, 
"view");
 
  699                 $this->tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.confirm.html");
 
  700                 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
  701                 $this->tpl->setVariable(
"TXT_CONFIRM", $this->lng->txt(
"time_limit_add_time_limit_for_selected"));
 
  702                 include_once 
"./classes/class.ilTemplate.php";
 
  703                 $tsTemplate = 
new ilTemplate(
"tpl.time.limit.html", TRUE, TRUE);
 
  704                 $from = (array_key_exists(
"from", 
$_GET)) ? 
$_GET[
"from"] : time();
 
  705                 $until = (array_key_exists(
"until", 
$_GET)) ? 
$_GET[
"until"] : time();
 
  706                 $fromA = getdate($from);
 
  707                 $untilA = getdate($until);
 
  712                 $tsTemplate->setVariable(
"TEXT_FROM", $this->lng->txt(
"access_from") . 
": ");
 
  713                 $tsTemplate->setVariable(
"TEXT_UNTIL", $this->lng->txt(
"access_until") . 
": ");
 
  714                 $tsTemplate->setVariable(
"DATE_FROM", $fromDate);
 
  715                 $tsTemplate->setVariable(
"TIME_FROM", $fromTime);
 
  716                 $tsTemplate->setVariable(
"DATE_UNTIL", $untilDate);
 
  717                 $tsTemplate->setVariable(
"TIME_UNTIL", $untilTime);
 
  718                 $this->tpl->setVariable(
"TXT_CONTENT", $tsTemplate->get());
 
  719                 $this->tpl->setVariable(
"CMD_CANCEL", 
"cancelaccessRestrict");
 
  720                 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
 
  721                 $this->tpl->setVariable(
"CMD_OK", 
"confirmaccessRestrict");
 
  722                 $this->tpl->setVariable(
"TXT_OK", $this->lng->txt(
"confirm"));
 
  733                 $timefrom = mktime(
$_POST[
"fromTime"][
"h"], 
$_POST[
"fromTime"][
"m"], 0, 
$_POST[
"fromDate"][
"m"], 
$_POST[
"fromDate"][
"d"], 
$_POST[
"fromDate"][
"y"]);
 
  734                 $timeuntil = mktime(
$_POST[
"untilTime"][
"h"], 
$_POST[
"untilTime"][
"m"], 0, 
$_POST[
"untilDate"][
"m"], 
$_POST[
"untilDate"][
"d"], 
$_POST[
"untilDate"][
"y"]);
 
  735                 if ($timeuntil <= $timefrom)
 
  738                         $this->ctrl->setParameter($this, 
"from", $timefrom);
 
  739                         $this->ctrl->setParameter($this, 
"until", $timeuntil);
 
  740                         $this->ctrl->redirect($this, 
"setAccessRestriction");
 
  743                 global $rbacsystem, $ilUser;
 
  746                 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
 
  748                         $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->WARNING);
 
  757                         $obj =& $this->ilias->obj_factory->getInstanceByObjId($id);
 
  758                         $obj->setTimeLimitOwner($ilUser->getId());
 
  759                         $obj->setTimeLimitUnlimited(0);
 
  760                         $obj->setTimeLimitFrom($timefrom);
 
  761                         $obj->setTimeLimitUntil($timeuntil);
 
  762                         $obj->setTimeLimitMessage(0);
 
  769                 if (
$_SESSION[
'user_accessRestrict_search'] == 
true)
 
  771                         session_unregister(
"user_accessRestrict_search");
 
  772                         $script = $this->ctrl->getLinkTargetByClass(
'ilAdminUserSearchGUI',
'show',
'',
false,
false);
 
  777                         $this->ctrl->redirect($this, 
"view");
 
  801                 if (!$rbacsystem->checkAccess(
'delete',$this->object->getRefId()))
 
  804                         $ilCtrl->redirect($this, 
"view");
 
  811                         $this->ilias->raiseError($this->lng->txt(
"msg_no_delete_yourself"),$this->ilias->error_obj->WARNING);
 
  818                         $obj =& $this->ilias->obj_factory->getInstanceByObjId($id);
 
  826                 #unset($_SESSION['saved_post']); 
  828                 if (
$_SESSION[
'user_delete_search'] == 
true)
 
  830                         session_unregister(
"user_delete_search");
 
  831                         $script = $this->ctrl->getLinkTargetByClass(
'ilAdminUserSearchGUI',
'show',
'',
false,
false);
 
  836                         $this->ctrl->redirect($this, 
"view");
 
  858                 session_unregister(
"saved_post");
 
  859                 $this->
object->buildExportFile(
$_POST[
"export_type"], $user_data_filter);
 
  860                 $this->ctrl->redirectByClass(
"ilobjuserfoldergui", 
"export");
 
  870                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
  876                 $this->data[
"cols"] = array(
"type", 
"title", 
"description", 
"last_change");
 
  878                 foreach(
$_POST[
"id"] as $id)
 
  880                         $obj_data =& $this->ilias->obj_factory->getInstanceByObjId($id);
 
  882                         $this->data[
"data"][
"$id"] = array(
 
  883                                 "type"        => $obj_data->getType(),
 
  884                                 "title"       => $obj_data->getTitle(),
 
  885                                 "desc"        => $obj_data->getDescription(),
 
  886                                 "last_update" => $obj_data->getLastUpdateDate());
 
  889                 $this->data[
"buttons"] = array( 
"cancelDelete"  => $this->lng->txt(
"cancel"),
 
  890                                                                   "confirmedDelete"  => $this->lng->txt(
"confirm"));
 
  896                 $this->tpl->setVariable(
"FORMACTION",
 
  897                         $this->ctrl->getFormAction($this));
 
  900                 foreach ($this->data[
"cols"] as $key)
 
  902                         $this->tpl->setCurrentBlock(
"table_header");
 
  903                         $this->tpl->setVariable(
"TEXT",$this->lng->txt($key));
 
  904                         $this->tpl->parseCurrentBlock();
 
  911                 foreach($this->data[
"data"] as $key => $value)
 
  914                         foreach($value as $key => $cell_data)
 
  916                                 $this->tpl->setCurrentBlock(
"table_cell");
 
  925                                         $this->tpl->setVariable(
"TEXT_CONTENT",$cell_data);
 
  927                                 $this->tpl->parseCurrentBlock();
 
  930                         $this->tpl->setCurrentBlock(
"table_row");
 
  932                         $this->tpl->parseCurrentBlock();
 
  938                 foreach($this->data[
"buttons"] as $name => $value)
 
  940                         $this->tpl->setCurrentBlock(
"operation_btn");
 
  941                         $this->tpl->setVariable(
"BTN_NAME",$name);
 
  942                         $this->tpl->setVariable(
"BTN_VALUE",$value);
 
  943                         $this->tpl->parseCurrentBlock();
 
  949                 $this->tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.confirm.html");
 
  950                 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
  951                 $this->tpl->setVariable(
"TXT_CONFIRM", $this->lng->txt(
"export_format_selection"));
 
  952                 $export_types = array(
"userfolder_export_excel_x86", 
"userfolder_export_csv", 
"userfolder_export_xml");
 
  954                 foreach ($export_types as $type)
 
  956                         $options[$type] = $this->lng->txt($type);
 
  958                 $select = 
ilUtil::formSelect(
"userfolder_export_xml", 
"export_type" ,$options, 
false, 
true);
 
  959                 $this->tpl->setVariable(
"TXT_CONTENT", $this->lng->txt(
"export_format") . 
": " . $select);
 
  960                 $this->tpl->setVariable(
"CMD_CANCEL", 
"cancelexport");
 
  961                 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
 
  962                 $this->tpl->setVariable(
"CMD_OK", 
"confirmexport");
 
  963                 $this->tpl->setVariable(
"TXT_OK", $this->lng->txt(
"confirm"));
 
  964                 $this->tpl->parseCurrentBlock();
 
  974                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
  983                 $this->data[
"cols"] = array(
"type", 
"title", 
"description", 
"last_change");
 
  985                 foreach(
$_POST[
"id"] as $id)
 
  987                         $obj_data =& $this->ilias->obj_factory->getInstanceByObjId($id);
 
  989                         $this->data[
"data"][
"$id"] = array(
 
  990                                 "type"        => $obj_data->getType(),
 
  991                                 "title"       => $obj_data->getTitle(),
 
  992                                 "desc"        => $obj_data->getDescription(),
 
  993                                 "last_update" => $obj_data->getLastUpdateDate());
 
  996                 $this->data[
"buttons"] = array( 
"cancel" . $action  => $this->lng->txt(
"cancel"),
 
  997                                                                   "confirm" . $action  => $this->lng->txt(
"confirm"));
 
 1003                 $this->tpl->setVariable(
"FORMACTION",
 
 1004                         $this->ctrl->getFormAction($this));
 
 1007                 foreach ($this->data[
"cols"] as $key)
 
 1009                         $this->tpl->setCurrentBlock(
"table_header");
 
 1010                         $this->tpl->setVariable(
"TEXT",$this->lng->txt($key));
 
 1011                         $this->tpl->parseCurrentBlock();
 
 1018                 foreach($this->data[
"data"] as $key => $value)
 
 1021                         foreach($value as $key => $cell_data)
 
 1023                                 $this->tpl->setCurrentBlock(
"table_cell");
 
 1032                                         $this->tpl->setVariable(
"TEXT_CONTENT",$cell_data);
 
 1034                                 $this->tpl->parseCurrentBlock();
 
 1037                         $this->tpl->setCurrentBlock(
"table_row");
 
 1039                         $this->tpl->parseCurrentBlock();
 
 1045                 foreach($this->data[
"buttons"] as $name => $value)
 
 1047                         $this->tpl->setCurrentBlock(
"operation_btn");
 
 1048                         $this->tpl->setVariable(
"BTN_NAME",$name);
 
 1049                         $this->tpl->setVariable(
"BTN_VALUE",$value);
 
 1050                         $this->tpl->parseCurrentBlock();
 
 1059                 $_POST[
"selectedAction"] = 
"delete";
 
 1068                 $_POST[
"selectedAction"] = 
"activate";
 
 1077                 $_POST[
"selectedAction"] = 
"deactivate";
 
 1086                 $_POST[
"selectedAction"] = 
"accessRestrict";
 
 1095                 $_POST[
"selectedAction"] = 
"accessFree";
 
 1104                 $_POST[
"selectedAction"] = 
"export";
 
 1123                 $this->tabs_gui->setTabActive(
'obj_usrf');
 
 1125                 $this->tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.usr_search_form.html");
 
 1127                 $this->tpl->setVariable(
"FORMACTION",
 
 1128                         $this->ctrl->getFormAction($this));
 
 1129                 $this->tpl->setVariable(
"USERNAME_CHECKED", 
" checked=\"checked\"");
 
 1130                 $this->tpl->setVariable(
"FIRSTNAME_CHECKED", 
" checked=\"checked\"");
 
 1131                 $this->tpl->setVariable(
"LASTNAME_CHECKED", 
" checked=\"checked\"");
 
 1132                 $this->tpl->setVariable(
"EMAIL_CHECKED", 
" checked=\"checked\"");
 
 1133                 $this->tpl->setVariable(
"ACTIVE_CHECKED", 
" checked=\"checked\"");
 
 1134                 $this->tpl->setVariable(
"TXT_SEARCH_USER",$this->lng->txt(
"search_user"));
 
 1135                 $this->tpl->setVariable(
"TXT_SEARCH_IN",$this->lng->txt(
"search_in"));
 
 1136                 $this->tpl->setVariable(
"TXT_SEARCH_USERNAME",$this->lng->txt(
"username"));
 
 1137                 $this->tpl->setVariable(
"TXT_SEARCH_FIRSTNAME",$this->lng->txt(
"firstname"));
 
 1138                 $this->tpl->setVariable(
"TXT_SEARCH_LASTNAME",$this->lng->txt(
"lastname"));
 
 1139                 $this->tpl->setVariable(
"TXT_SEARCH_EMAIL",$this->lng->txt(
"email"));
 
 1140         $this->tpl->setVariable(
"TXT_SEARCH_ACTIVE",$this->lng->txt(
"search_active"));
 
 1141         $this->tpl->setVariable(
"TXT_SEARCH_INACTIVE",$this->lng->txt(
"search_inactive"));
 
 1142                 $this->tpl->setVariable(
"BUTTON_SEARCH",$this->lng->txt(
"search"));
 
 1143                 $this->tpl->setVariable(
"BUTTON_CANCEL",$this->lng->txt(
"cancel"));
 
 1144         $this->tpl->setVariable(
"TXT_SEARCH_NOTE",$this->lng->txt(
"search_note"));
 
 1145                 $this->tpl->setVariable(
"ACTIVE_CHECKED",
"checked=\"checked\"");
 
 1153                 $this->ctrl->redirect($this, 
"view");
 
 1163                 $obj_str = 
"&obj_id=".$this->obj_id;
 
 1165                 $_POST[
"search_string"] = trim(
$_POST[
"search_string"]) ? trim(
$_POST[
"search_string"]) : trim(urldecode(
$_GET[
"search_string"]));
 
 1169                 $_POST[
"search_fields"] = array (
"username",
"firstname",
"lastname",
"email");
 
 1171         if (empty(
$_POST[
"search_string"]))
 
 1173             $_POST[
"search_string"] = 
"%";
 
 1176         if (empty(
$_POST[
"search_fields"]))
 
 1178             $_POST[
"search_fields"] = array();
 
 1182                 if (
$_POST[
"search_string"] == 
"%")
 
 1184                     $_POST[
"search_string"] = 
"";
 
 1186                         $msg = $this->lng->txt(
"msg_no_search_result");
 
 1187                         if (
$_POST[
"search_string"] != 
"")
 
 1189                                 $msg .= 
" ".$this->lng->txt(
"with").
" '".htmlspecialchars(
$_POST[
"search_string"]).
"'";
 
 1192                         $this->ctrl->redirect($this, 
"searchUserForm");
 
 1195                 $this->tpl->addBlockfile(
"BUTTONS", 
"buttons", 
"tpl.buttons.html");
 
 1198                 $this->tpl->setCurrentBlock(
"btn_cell");
 
 1199                 $this->tpl->setVariable(
"BTN_LINK",
 
 1200                         $this->ctrl->getLinkTarget($this, 
"searchUserForm"));
 
 1201                 $this->tpl->setVariable(
"BTN_TXT",$this->lng->txt(
"search_new"));
 
 1202                 $this->tpl->parseCurrentBlock();
 
 1204         $this->data[
"cols"] = array(
"", 
"login", 
"firstname", 
"lastname", 
"email", 
"active");
 
 1208             $searchActive = 
true;
 
 1212             $searchInactive = 
true;
 
 1215                 foreach ($search_result as $key => $val)
 
 1217             $val[
"active_text"] = $this->lng->txt(
"inactive");
 
 1220                 $val[
"active_text"] = $this->lng->txt(
"active");
 
 1224                         $searchStringToLower = strtolower(
$_POST[
"search_string"]);
 
 1225                         $displaySearchResult = 
false;
 
 1226                         if (in_array(
"username", 
$_POST[
"search_fields"]))
 
 1227                                 if (strpos(strtolower($val[
"login"]), strtolower(
$_POST[
"search_string"])) !== 
false)
 
 1228                                         $displaySearchResult = 
true;
 
 1229                         if (in_array(
"firstname", 
$_POST[
"search_fields"]))
 
 1230                                 if (strpos(strtolower($val[
"firstname"]), strtolower(
$_POST[
"search_string"])) !== 
false)
 
 1231                                         $displaySearchResult = 
true;
 
 1232                         if (in_array(
"lastname", 
$_POST[
"search_fields"]))
 
 1233                                 if (strpos(strtolower($val[
"lastname"]), strtolower(
$_POST[
"search_string"])) !== 
false)
 
 1234                                         $displaySearchResult = 
true;
 
 1235                         if (in_array(
"email", 
$_POST[
"search_fields"]))
 
 1236                                 if (strpos(strtolower($val[
"email"]), strtolower(
$_POST[
"search_string"])) !== 
false)
 
 1237                                         $displaySearchResult = 
true;
 
 1238                         if (($val[
"active"] == 1) && ($searchActive == 
true) ||
 
 1239                                 ($val[
"active"] == 0) && ($searchInactive == 
true))
 
 1241                                 if ((strcmp(
$_POST[
"search_string"], 
"%") == 0) || $displaySearchResult)
 
 1244                                         $this->data[
"data"][] = array(
 
 1245                                                 "login"         => $val[
"login"],
 
 1246                                                 "firstname"     => $val[
"firstname"],
 
 1247                                                 "lastname"      => $val[
"lastname"],
 
 1248                                                 "email"         => $val[
"email"],
 
 1249                                                 "active"        => $val[
"active_text"],
 
 1250                                                 "obj_id"        => $val[
"usr_id"]
 
 1255                 if (count($this->data[
"data"]) == 0)
 
 1257                         ilUtil::sendInfo($this->lng->txt(
"msg_no_search_result").
" ".$this->lng->txt(
"with").
" '".htmlspecialchars(
$_POST[
"search_string"]).
"'",
true);
 
 1259                         $this->ctrl->redirect($this, 
"searchUserForm");
 
 1262                 $this->maxcount = count($this->data[
"data"]);
 
 1265                 if (
$_GET[
"sort_by"] == 
"name")
 
 1267                         $_GET[
"sort_by"] = 
"login";
 
 1272                 $this->data[
"data"] = array_slice($this->data[
"data"],
$_GET[
"offset"],
$_GET[
"limit"]);
 
 1275                 foreach ($this->data[
"data"] as $key => $val)
 
 1277                         $this->data[
"ctrl"][$key] = array(
 
 1278                                                                                                 "ref_id"        => $this->
id,
 
 1279                                                                                                 "obj_id"        => $val[
"obj_id"]
 
 1281                         $tmp[] = $val[
"obj_id"];
 
 1282                         unset($this->data[
"data"][$key][
"obj_id"]);
 
 1289                 $this->tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.table.html");
 
 1291                 $this->tpl->addBlockfile(
"TBL_CONTENT", 
"tbl_content", 
"tpl.obj_tbl_rows.html");
 
 1295                 $this->ctrl->setParameter($this, 
"sort_by", 
"name");
 
 1296                 $this->ctrl->setParameter($this, 
"sort_order", 
$_GET[
"sort_order"]);
 
 1297                 $this->ctrl->setParameter($this, 
"offset", 
$_GET[
"offset"]);
 
 1298                 $this->tpl->setVariable(
"FORMACTION",
 
 1299                         $this->ctrl->getFormAction($this));
 
 1302                 include_once 
"./Services/Table/classes/class.ilTableGUI.php";
 
 1306                 $tbl->setTitle($this->lng->txt(
"search_result"),
"icon_".$this->object->getType().
".gif",$this->lng->txt(
"obj_".$this->object->getType()));
 
 1307                 $tbl->setHelp(
"tbl_help.php",
"icon_help.gif",$this->lng->txt(
"help"));
 
 1309                 foreach ($this->data[
"cols"] as $val)
 
 1311                         $header_names[] = $this->lng->txt($val);
 
 1314                 $tbl->setHeaderNames($header_names);
 
 1316                 $header_params = $this->ctrl->getParameterArray($this, 
"searchUser");
 
 1317                 $header_params[
"search_string"] = urlencode(
$_POST[
"search_string"]);
 
 1318                 $header_params[
"search_fields"] = urlencode(implode(
",",
$_POST[
"search_fields"]));
 
 1320                 $tbl->setHeaderVars($this->data[
"cols"],$header_params);
 
 1321                 $tbl->setColumnWidth(array(
"",
"25%",
"25$%",
"25%",
"25%"));
 
 1324         $tbl->enable(
"hits");
 
 1325                 $tbl->setOrderColumn(
$_GET[
"sort_by"]);
 
 1326                 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
 
 1327                 $tbl->setLimit(
$_GET[
"limit"]);
 
 1328                 $tbl->setOffset(
$_GET[
"offset"]);
 
 1329                 $tbl->setMaxCount($this->maxcount);
 
 1331                 $this->tpl->setVariable(
"COLUMN_COUNTS",count($this->data[
"cols"]));    
 
 1334                 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
 
 1339                 if (is_array($this->data[
"data"][0]))
 
 1342                         for ($i=0; $i < count($this->data[
"data"]); $i++)
 
 1344                                 $data = $this->data[
"data"][$i];
 
 1345                                 $ctrl = $this->data[
"ctrl"][$i];
 
 1348                                 $this->ids[] = 
$ctrl[
"obj_id"];
 
 1353                                 $this->tpl->setCurrentBlock(
"checkbox");
 
 1354                                 $this->tpl->setVariable(
"CHECKBOX_ID", 
$ctrl[
"obj_id"]);
 
 1356                                 $this->tpl->setVariable(
"CSS_ROW", $css_row);
 
 1357                                 $this->tpl->parseCurrentBlock();
 
 1359                                 $this->tpl->setCurrentBlock(
"table_cell");
 
 1360                                 $this->tpl->setVariable(
"CELLSTYLE", 
"tblrow1");
 
 1361                                 $this->tpl->parseCurrentBlock();
 
 1363                                 foreach (
$data as $key => $val)
 
 1366                                         $this->ctrl->setParameterByClass(
"ilobjusergui", 
"ref_id", 
"7");
 
 1367                                         $this->ctrl->setParameterByClass(
"ilobjusergui", 
"obj_id", 
$ctrl[
"obj_id"]);
 
 1368                                         $link = $this->ctrl->getLinkTargetByClass(
"ilobjusergui", 
"view");
 
 1370                                         if ($key == 
"login")
 
 1372                                                 $this->tpl->setCurrentBlock(
"begin_link");
 
 1373                                                 $this->tpl->setVariable(
"LINK_TARGET", $link);
 
 1374                                                 $this->tpl->parseCurrentBlock();
 
 1375                                                 $this->tpl->touchBlock(
"end_link");
 
 1378                                         $this->tpl->setCurrentBlock(
"text");
 
 1379                                         $this->tpl->setVariable(
"TEXT_CONTENT", $val);
 
 1380                                         $this->tpl->parseCurrentBlock();
 
 1381                                         $this->tpl->setCurrentBlock(
"table_cell");
 
 1382                                         $this->tpl->parseCurrentBlock();
 
 1385                                 $this->tpl->setCurrentBlock(
"tbl_content");
 
 1386                                 $this->tpl->setVariable(
"CSS_ROW", $css_row);
 
 1387                                 $this->tpl->parseCurrentBlock();
 
 1400                 global 
$tpl, $rbacsystem;
 
 1403                 if($this->ctrl->getTargetScript() == 
'repository.php')
 
 1405                         $this->tabs_gui->clearTargets();
 
 1408                 if (!$rbacsystem->checkAccess(
"write", $this->object->getRefId()))
 
 1410                         $this->ilias->raiseError($this->lng->txt(
"permission_denied"),$this->ilias->error_obj->MESSAGE);
 
 1414                 $tpl->setContent($this->form->getHTML());
 
 1428                 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1432                 include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
 
 1433                 $fi = 
new ilFileInputGUI($lng->txt(
"import_file"), 
"importFile");
 
 1437                 $this->form->addItem($fi);
 
 1439                 $this->form->addCommandButton(
"importUserRoleAssignment", $lng->txt(
"import"));
 
 1440                 $this->form->addCommandButton(
"importCancelled", $lng->txt(
"cancel"));
 
 1442                 $this->form->setTitle($lng->txt(
"import_users"));
 
 1443                 $this->form->setFormAction($ilCtrl->getFormAction($this));
 
 1457                 if (@is_dir($import_dir))
 
 1462                 if (strtolower(
$_GET[
"baseClass"]) == 
'iladministrationgui')
 
 1464                         $this->ctrl->redirect($this, 
"view");
 
 1469                         $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
 
 1482                 $importDir = 
ilUtil::getDataDir().
'/user_import/usr_'.$ilUser->getId().
'_'.session_id(); 
 
 1495                 if($this->ctrl->getTargetScript() == 
'repository.php')
 
 1497                         $this->tabs_gui->clearTargets();
 
 1501                 if ($this->form->checkInput())
 
 1503                         include_once 
'./Services/AccessControl/classes/class.ilObjRole.php';
 
 1504                         include_once 
'./Services/User/classes/class.ilUserImportParser.php';
 
 1506                         global $rbacreview, $rbacsystem, 
$tree, 
$lng;
 
 1509                         $this->tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.usr_import_roles.html");
 
 1514                         if (@is_dir($import_dir))
 
 1526                         if (!is_file($_FILES[
"importFile"][
"tmp_name"]))
 
 1529                                 $this->ilias->raiseError($this->lng->txt(
"no_import_file_found")
 
 1530                                         , $this->ilias->error_obj->MESSAGE);
 
 1533                                 $_FILES[
"importFile"][
"name"], $full_path);
 
 1536                         if (strtolower($parts[
"extension"]) == 
"zip")
 
 1543                                 foreach ($file_list as $a_file)
 
 1545                                         if (substr($a_file[
'entry'],-4) == 
'.xml')
 
 1547                                                 $xml_file = $import_dir.
"/".$a_file[
'entry'];
 
 1551                                 if (is_null($xml_file))
 
 1553                                         $subdir = basename($parts[
"basename"],
".".$parts[
"extension"]);
 
 1554                                         $xml_file = $import_dir.
"/".$subdir.
"/".$subdir.
".xml";
 
 1560                                 $xml_file = $full_path;
 
 1564                         if (!is_file($xml_file))
 
 1567                                 $this->ilias->raiseError($this->lng->txt(
"no_xml_file_found_in_zip")
 
 1568                                         .
" ".$subdir.
"/".$subdir.
".xml", $this->ilias->error_obj->MESSAGE);
 
 1571                         require_once(
"./Services/User/classes/class.ilUserImportParser.php");
 
 1576                         $importParser->startParsing();
 
 1577                         switch ($importParser->getErrorLevel())
 
 1582                                         $this->tpl->setVariable(
"IMPORT_LOG", $importParser->getProtocolAsHTML($lng->txt(
"verification_warning_log")));
 
 1586                                         $this->ilias->raiseError(
 
 1587                                                 $lng->txt(
"verification_failed").$importParser->getProtocolAsHTML($lng->txt(
"verification_failure_log")),
 
 1588                                                 $this->ilias->error_obj->MESSAGE
 
 1595                         $this->tpl->setCurrentBlock(
"role_selection_form");
 
 1596                         $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 1597                         $this->tpl->setVariable(
"TXT_IMPORT_USERS", $this->lng->txt(
"import_users"));
 
 1598                         $this->tpl->setVariable(
"TXT_IMPORT_FILE", $this->lng->txt(
"import_file"));
 
 1599                         $this->tpl->setVariable(
"IMPORT_FILE", 
$file_name);
 
 1600                         $this->tpl->setVariable(
"TXT_USER_ELEMENT_COUNT", $this->lng->txt(
"num_users"));
 
 1601                         $this->tpl->setVariable(
"USER_ELEMENT_COUNT", $importParser->getUserCount());
 
 1602                         $this->tpl->setVariable(
"TXT_ROLE_ASSIGNMENT", $this->lng->txt(
"role_assignment"));
 
 1603                         $this->tpl->setVariable(
"BTN_IMPORT", $this->lng->txt(
"import"));
 
 1604                         $this->tpl->setVariable(
"BTN_CANCEL", $this->lng->txt(
"cancel"));
 
 1605                         $this->tpl->setVariable(
"XML_FILE_NAME", $xml_file);
 
 1609                         $importParser->startParsing();
 
 1610                         $roles = $importParser->getCollectedRoles();
 
 1613                         $all_gl_roles = $rbacreview->getRoleListByObject(ROLE_FOLDER_ID);
 
 1614                         $gl_roles = array();
 
 1615                         $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
 
 1616                         foreach ($all_gl_roles as $obj_data)
 
 1627                                 if ($obj_data[
"obj_id"] != ANONYMOUS_ROLE_ID)
 
 1630                                         if ($obj_data[
"obj_id"] != SYSTEM_ROLE_ID or in_array(SYSTEM_ROLE_ID,$roles_of_user))
 
 1632                                                 $gl_roles[$obj_data[
"obj_id"]] = $obj_data[
"title"];
 
 1638                         $got_globals = 
false;
 
 1639                         foreach($roles as $role_id => $role)
 
 1641                                 if ($role[
"type"] == 
"Global")
 
 1645                                                 $got_globals = 
true;
 
 1647                                                 $this->tpl->setCurrentBlock(
"global_role_section");
 
 1648                                                 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_global"));
 
 1649                                                 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES", $this->lng->txt(
"assign_global_role"));
 
 1653                                         $pre_select = array_search($role[name], $gl_roles);
 
 1656                                                 switch($role[
"name"])
 
 1658                                                         case "Administrator":   
 
 1659                                                                 $pre_select = array_search(
"Administrator", $gl_roles);
 
 1663                                                                 $pre_select = array_search(
"User", $gl_roles);
 
 1667                                                                 $pre_select = array_search(
"User", $gl_roles);
 
 1671                                                                 $pre_select = array_search(
"Guest", $gl_roles);
 
 1675                                                                 $pre_select = array_search(
"User", $gl_roles);
 
 1679                                         $this->tpl->setCurrentBlock(
"global_role");
 
 1680                                         $role_select = 
ilUtil::formSelect($pre_select, 
"role_assign[".$role_id.
"]", $gl_roles, 
false, 
true);
 
 1681                                         $this->tpl->setVariable(
"TXT_IMPORT_GLOBAL_ROLE", $role[
"name"].
" [".$role_id.
"]");
 
 1682                                         $this->tpl->setVariable(
"SELECT_GLOBAL_ROLE", $role_select);
 
 1683                                         $this->tpl->parseCurrentBlock();
 
 1688                         $got_locals = 
false;
 
 1689                         foreach($roles as $role_id => $role)
 
 1691                                 if ($role[
"type"] == 
"Local")
 
 1700                                 $this->tpl->setCurrentBlock(
"local_role_section");
 
 1701                                 $this->tpl->setVariable(
"TXT_LOCAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_local"));
 
 1702                                 $this->tpl->setVariable(
"TXT_LOCAL_ROLES", $this->lng->txt(
"assign_local_role"));
 
 1713                                         $loc_roles = array();
 
 1714                                         foreach($roles as $role_id => $role)
 
 1716                                                 if ($role[
"type"] == 
"Local")
 
 1718                                                         $searchName = (substr($role[
'name'],0,1) == 
'#') ? $role[
'name'] : 
'#'.$role[
'name'];
 
 1719                                                         $matching_role_ids = $rbacreview->searchRolesByMailboxAddressList($searchName);
 
 1720                                                         foreach ($matching_role_ids as $mid) {
 
 1721                                                                 if (! in_array($mid, $loc_roles)) {
 
 1722                                                                         $loc_roles[] = array(
'obj_id'=>$mid);
 
 1731                                         $loc_roles = $rbacreview->getAssignableRolesInSubtree($this->object->getRefId());
 
 1736                                 $l_roles_mailbox_searcharray = array();
 
 1737                                 foreach ($loc_roles as $key => $loc_role)
 
 1740                                         $rolf = $rbacreview->getFoldersAssignedToRole($loc_role[
"obj_id"],
true);
 
 1746                                         if (!$rbacreview->isDeleted($rolf[0])
 
 1747                                         && $rbacsystem->checkAccess(
'write',$tree->getParentId($rolf[0]))
 
 1748                                         && $rolf[0] != ROLE_FOLDER_ID
 
 1762                                                 if ($this->tree->isInTree($rolf[0]))
 
 1766                                                         $tmpPath = $this->tree->getPathFull($rolf[0]);
 
 1767                                                         for ($i = 1, 
$n = count($tmpPath) - 1; $i < 
$n; $i++)
 
 1773                                                                 if ($i < 3 || $i > $n - 3)
 
 1777                                                                 else if ($i == 3 || $i == $n - 3)
 
 1782                                                                 $isInSubtree |= $tmpPath[$i][
'obj_id'] == $this->
object->getId();
 
 1787                                                         $path = 
"<b>Rolefolder ".$rolf[0].
" not found in tree! (Role ".$loc_role[
"obj_id"].
")</b>";
 
 1789                                                 $roleMailboxAddress = $rbacreview->getRoleMailboxAddress($loc_role[
'obj_id']);
 
 1790                                                 $l_roles[$loc_role[
'obj_id']] = $roleMailboxAddress.
', '.
$path;
 
 1795                                 natcasesort($l_roles);
 
 1796                                 $l_roles[
""] = $this->lng->txt(
"usrimport_ignore_role"); 
 
 1797                                 foreach($roles as $role_id => $role)
 
 1799                                         if ($role[
"type"] == 
"Local")
 
 1801                                                 $this->tpl->setCurrentBlock(
"local_role");
 
 1802                                                 $this->tpl->setVariable(
"TXT_IMPORT_LOCAL_ROLE", $role[
"name"]);
 
 1803                                                 $searchName = (substr($role[
'name'],0,1) == 
'#') ? $role[
'name'] : 
'#'.$role[
'name'];
 
 1804                                                 $matching_role_ids = $rbacreview->searchRolesByMailboxAddressList($searchName);
 
 1805                                                 $pre_select = count($matching_role_ids) == 1 ? $matching_role_ids[0] : 
"";
 
 1810                                                         $selectable_roles = array();
 
 1811                                                         $selectable_roles[
""] =  $this->lng->txt(
"usrimport_ignore_role");
 
 1812                                                         foreach ($matching_role_ids as $id)
 
 1814                                                                 $selectable_roles[$id] =  $l_roles[$id];
 
 1816                                                         $role_select = 
ilUtil::formSelect($pre_select, 
"role_assign[".$role_id.
"]", $selectable_roles, 
false, 
true);
 
 1818                                                         $role_select = 
ilUtil::formSelect($pre_select, 
"role_assign[".$role_id.
"]", $l_roles, 
false, 
true);
 
 1820                                                 $this->tpl->setVariable(
"SELECT_LOCAL_ROLE", $role_select);
 
 1821                                                 $this->tpl->parseCurrentBlock();
 
 1827                         $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING", $lng->txt(
"conflict_handling"));
 
 1832                         $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING_INFO", str_replace(
'\n',
'<br>',$this->lng->txt(
"usrimport_conflict_handling_info")));
 
 1833                         $this->tpl->setVariable(
"TXT_CONFLICT_CHOICE", $lng->txt(
"conflict_handling"));
 
 1837                         $this->lng->loadLanguageModule(
"mail");
 
 1838                         include_once 
'./Services/User/classes/class.ilObjUserFolder.php';
 
 1840                         if (trim($amail[
"body"]) != 
"" && trim($amail[
"subject"]) != 
"")
 
 1842                                 $this->tpl->setCurrentBlock(
"inform_user");
 
 1843                                 $this->tpl->setVariable(
"TXT_ACCOUNT_MAIL", $lng->txt(
"mail_account_mail"));
 
 1846                                         $this->tpl->setVariable(
"SEND_MAIL", 
" checked=\"checked\"");
 
 1848                                 $this->tpl->setVariable(
"TXT_INFORM_USER_MAIL",
 
 1849                                         $this->lng->txt(
"user_send_new_account_mail"));
 
 1850                                 $this->tpl->parseCurrentBlock();
 
 1855                         $this->form->setValuesByPost();
 
 1856                         $tpl->setContent($this->form->getHtml());
 
 1865                 global $rbacreview,$ilUser;
 
 1868                 if($this->ctrl->getTargetScript() == 
'repository.php')
 
 1870                         $this->tabs_gui->clearTargets();
 
 1873                 include_once 
'./Services/AccessControl/classes/class.ilObjRole.php';
 
 1874                 include_once 
'./Services/User/classes/class.ilUserImportParser.php';
 
 1876                 global $rbacreview, $rbacsystem, 
$tree, 
$lng;
 
 1878                 switch (
$_POST[
"conflict_handling_choice"])
 
 1880                         case "update_on_conflict" :
 
 1883                         case "ignore_on_conflict" :
 
 1895                 if (
$_POST[
"role_assign"])
 
 1897                         $global_roles = $rbacreview->getGlobalRoles();
 
 1898                         $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
 
 1899                         foreach (
$_POST[
"role_assign"] as $role_id)
 
 1903                                         if (in_array($role_id, $global_roles))
 
 1905                                                 if(!in_array(SYSTEM_ROLE_ID,$roles_of_user))
 
 1907                                                         if ($role_id == SYSTEM_ROLE_ID && ! in_array(SYSTEM_ROLE_ID,$roles_of_user)
 
 1913                                                                 $this->ilias->raiseError($this->lng->txt(
"usrimport_with_specified_role_not_permitted"), 
 
 1914                                                                         $this->ilias->error_obj->MESSAGE);
 
 1920                                                 $rolf = $rbacreview->getFoldersAssignedToRole($role_id,
true);
 
 1921                                                 if ($rbacreview->isDeleted($rolf[0])
 
 1922                                                         || ! $rbacsystem->checkAccess(
'write',$tree->getParentId($rolf[0])))
 
 1925                                                         $this->ilias->raiseError($this->lng->txt(
"usrimport_with_specified_role_not_permitted"), 
 
 1926                                                                 $this->ilias->error_obj->MESSAGE);
 
 1934                 $importParser->setRoleAssignment(
$_POST[
"role_assign"]);
 
 1935                 $importParser->startParsing();
 
 1940                 switch ($importParser->getErrorLevel())
 
 1946                                 ilUtil::sendInfo($this->lng->txt(
"user_imported_with_warnings").$importParser->getProtocolAsHTML($lng->txt(
"import_warning_log")), 
true);
 
 1949                                 $this->ilias->raiseError(
 
 1950                                         $this->lng->txt(
"user_import_failed")
 
 1951                                         .$importParser->getProtocolAsHTML($lng->txt(
"import_failure_log")),
 
 1952                                         $this->ilias->error_obj->MESSAGE
 
 1957                 if (strtolower(
$_GET[
"baseClass"]) == 
"iladministrationgui")
 
 1959                         $this->ctrl->redirect($this, 
"view");
 
 1964                         $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
 
 1971                 global $rbacsystem,
$ilias;
 
 1975                 if (!$rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
 
 1977                         $this->ilias->raiseError($this->lng->txt(
"permission_denied"),$this->ilias->error_obj->MESSAGE);
 
 1980                 if(!count($app_users =& $ilias->account->getAppliedUsers()))
 
 1987                 $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.usr_applied_users.html");
 
 1988                 $this->lng->loadLanguageModule(
'crs');
 
 1991                 foreach($app_users as 
$usr_id)
 
 1996                         $f_result[$counter][]   = $tmp_user->getLogin();
 
 1997                         $f_result[$counter][]   = $tmp_user->getFirstname();
 
 1998                         $f_result[$counter][]   = $tmp_user->getLastname();
 
 2000                         if($tmp_user->getTimeLimitUnlimited())
 
 2002                                 $f_result[$counter][]   = 
"<b>".$this->lng->txt(
'crs_unlimited').
"</b>";
 
 2006                                 $limit = 
"<b>".$this->lng->txt(
'crs_from').
'</b> '.strftime(
"%Y-%m-%d %R",$tmp_user->getTimeLimitFrom()).
'<br />';
 
 2007                                 $limit .= 
"<b>".$this->lng->txt(
'crs_to').
'</b> '.strftime(
"%Y-%m-%d %R",$tmp_user->getTimeLimitUntil());
 
 2009                                 $f_result[$counter][]   = $limit;
 
 2023                 if(!$rbacsystem->checkAccess(
"write", $this->ref_id))
 
 2025                         $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
 
 2028                 $this->lng->loadLanguageModule(
'crs');
 
 2032                 if(!isset(
$_SESSION[
'error_post_vars']))
 
 2034                         ilUtil::sendInfo($this->lng->txt(
'time_limit_add_time_limit_for_selected'));
 
 2037                 if(!count(
$_POST[
"users"]))
 
 2053                         $title .= $tmp_user->getLogin();
 
 2063                 $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.usr_edit_applied_users.html");
 
 2064                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2067                 $time_limit_unlimited = 
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_unlimited"] ? 
 
 2070                 $time_limit_start = 
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_start"] ? 
 
 2073                 $time_limit_end = 
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_end"] ? 
 
 2079                 $this->tpl->setVariable(
"ALT_IMG",$this->lng->txt(
"obj_usr"));
 
 2081                 $this->tpl->setVariable(
"TITLE",
$title);
 
 2082                 $this->tpl->setVariable(
"TXT_TIME_LIMIT",$this->lng->txt(
"time_limit"));
 
 2083                 $this->tpl->setVariable(
"TXT_TIME_LIMIT_START",$this->lng->txt(
"crs_start"));
 
 2084                 $this->tpl->setVariable(
"TXT_TIME_LIMIT_END",$this->lng->txt(
"crs_end"));
 
 2085                 $this->tpl->setVariable(
"CMD_SUBMIT",
"updateAppliedUsers");
 
 2086                 $this->tpl->setVariable(
"TXT_CANCEL",$this->lng->txt(
"cancel"));
 
 2087                 $this->tpl->setVariable(
"TXT_SUBMIT",$this->lng->txt(
"submit"));
 
 2091                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_DAY",$this->
__getDateSelect(
"day",
"au[time_limit_start][day]",
 
 2092                                                                                                                                                                          date(
"d",$time_limit_start)));
 
 2093                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_MONTH",$this->
__getDateSelect(
"month",
"au[time_limit_start][month]",
 
 2094                                                                                                                                                                            date(
"m",$time_limit_start)));
 
 2095                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_YEAR",$this->
__getDateSelect(
"year",
"au[time_limit_start][year]",
 
 2096                                                                                                                                                                           date(
"Y",$time_limit_start)));
 
 2097                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_HOUR",$this->
__getDateSelect(
"hour",
"au[time_limit_start][hour]",
 
 2098                                                                                                                                                                           date(
"G",$time_limit_start)));
 
 2099                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_MINUTE",$this->
__getDateSelect(
"minute",
"au[time_limit_start][minute]",
 
 2100                                                                                                                                                                           date(
"i",$time_limit_start)));
 
 2101                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_DAY",$this->
__getDateSelect(
"day",
"au[time_limit_end][day]",
 
 2102                                                                                                                                                                    date(
"d",$time_limit_end)));
 
 2103                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_MONTH",$this->
__getDateSelect(
"month",
"au[time_limit_end][month]",
 
 2104                                                                                                                                                                          date(
"m",$time_limit_end)));
 
 2105                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_YEAR",$this->
__getDateSelect(
"year",
"au[time_limit_end][year]",
 
 2106                                                                                                                                                                         date(
"Y",$time_limit_end)));
 
 2107                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_HOUR",$this->
__getDateSelect(
"hour",
"au[time_limit_end][hour]",
 
 2108                                                                                                                                                                           date(
"G",$time_limit_end)));
 
 2109                 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_MINUTE",$this->
__getDateSelect(
"minute",
"au[time_limit_end][minute]",
 
 2110                                                                                                                                                                           date(
"i",$time_limit_end)));
 
 2111                 if($this->ilias->account->getTimeLimitUnlimited())
 
 2113                         $this->tpl->setVariable(
"ROWSPAN",3);
 
 2114                         $this->tpl->setCurrentBlock(
"unlimited");
 
 2115                         $this->tpl->setVariable(
"TXT_TIME_LIMIT_UNLIMITED",$this->lng->txt(
"crs_unlimited"));
 
 2116                         $this->tpl->setVariable(
"TIME_LIMIT_UNLIMITED",
ilUtil::formCheckbox($time_limit_unlimited,
"au[time_limit_unlimited]",1));
 
 2117                         $this->tpl->parseCurrentBlock();
 
 2121                         $this->tpl->setVariable(
"ROWSPAN",2);
 
 2129                 if(!$rbacsystem->checkAccess(
"write", $this->ref_id))
 
 2131                         $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
 
 2137                 if(!
$_POST[
'au'][
'time_limit_unlimited'])
 
 2148                 #if(!$this->ilias->account->getTimeLimitUnlimited()) 
 2150                 #       if($start < $this->ilias->account->getTimeLimitFrom() or 
 2151                 #          $end > $this->ilias->account->getTimeLimitUntil()) 
 2153                 #               $_SESSION['error_post_vars'] = $_POST; 
 2154                 #               ilUtil::sendInfo($this->lng->txt('time_limit_not_within_owners')); 
 2155                 #               $this->editAppliedUsersObject(); 
 2165                         $tmp_user->setTimeLimitUnlimited((
int) 
$_POST[
'au'][
'time_limit_unlimited']);
 
 2166                         $tmp_user->setTimeLimitFrom($start);
 
 2167                         $tmp_user->setTimeLimitUntil($end);
 
 2168                         $tmp_user->setTimeLimitMessage(0);
 
 2169                         $tmp_user->update();
 
 2184                 $tpl =& $tbl->getTemplateObject();
 
 2187                 $tpl->setCurrentBlock(
"tbl_form_header");
 
 2189                 $tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2190                 $tpl->parseCurrentBlock();
 
 2192                 $tpl->setCurrentBlock(
"tbl_action_btn");
 
 2193                 $tpl->setVariable(
"BTN_NAME",
'editAppliedUsers');
 
 2194                 $tpl->setVariable(
"BTN_VALUE",$this->lng->txt(
'edit'));
 
 2195                 $tpl->parseCurrentBlock();
 
 2197                 $tpl->setCurrentBlock(
"tbl_action_row");
 
 2198                 $tpl->setVariable(
"COLUMN_COUNTS",5);
 
 2200                 $tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
 
 2201                 $tpl->parseCurrentBlock();
 
 2205                 $tbl->setTitle($this->lng->txt(
"time_limit_applied_users"),
"icon_usr_b.gif",$this->lng->txt(
"users"));
 
 2206                 $tbl->setHeaderNames(array(
'',
 
 2207                                                                    $this->lng->txt(
"login"),
 
 2208                                                                    $this->lng->txt(
"firstname"),
 
 2209                                                                    $this->lng->txt(
"lastname"),
 
 2210                                                                    $this->lng->txt(
"time_limits")));
 
 2211                 $header_params = $this->ctrl->getParameterArray($this, 
"appliedUsers");
 
 2212                 $tbl->setHeaderVars(array(
"",
 
 2217                                                         array($header_params));
 
 2218                 $tbl->setColumnWidth(array(
"3%",
"19%",
"19%",
"19%",
"40%"));
 
 2224                 $this->tpl->setVariable(
"APPLIED_USERS",$tbl->tpl->get());
 
 2231                 include_once 
"./Services/Table/classes/class.ilTableGUI.php";
 
 2238                 $offset = 
$_GET[
"offset"];
 
 2239                 $order = 
$_GET[
"sort_by"];
 
 2240                 $direction = 
$_GET[
"sort_order"];
 
 2243                 $tbl->setOrderColumn($order);
 
 2244                 $tbl->setOrderDirection($direction);
 
 2245                 $tbl->setOffset($offset);
 
 2246                 $tbl->setLimit(
$_GET[
"limit"]);
 
 2247                 $tbl->setMaxCount(count($result_set));
 
 2248                 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
 
 2249                 $tbl->setData($result_set);
 
 2257                 for($i=0;$i<=60;$i++)
 
 2259                     $days[$i] = $i < 10 ? 
"0".$i : $i;
 
 2264                 for($i=0;$i<24;$i++)
 
 2266                     $days[$i] = $i < 10 ? 
"0".$i : $i;
 
 2271                 for($i=1;$i<32;$i++)
 
 2273                     $days[$i] = $i < 10 ? 
"0".$i : $i;
 
 2278                 for($i=1;$i<13;$i++)
 
 2280                     $month[$i] = $i < 10 ? 
"0".$i : $i;
 
 2285                 for($i = date(
"Y",time());$i < date(
"Y",time()) + 3;++$i)
 
 2294         return mktime($a_time_arr[
"hour"],
 
 2295                       $a_time_arr[
"minute"],
 
 2296                       $a_time_arr[
"second"],
 
 2297                       $a_time_arr[
"month"],
 
 2299                       $a_time_arr[
"year"]);
 
 2316                 $lng->loadLanguageModule(
"administration");
 
 2321                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';   
 
 2324                 $this->tabs_gui->setTabActive(
'settings');
 
 2325                 $this->tabs_gui->setSubTabActive(
'user_defined_fields');
 
 2329         include_once(
"./Services/User/classes/class.ilCustomUserFieldSettingsTableGUI.php");
 
 2331         if($this->confirm_change) 
$tab->setConfirmChange();
 
 2332         $tpl->setContent(
$tab->getHTML());
 
 2337                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_list_user_defined.html');
 
 2338                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2340                 if ($this->confirm_change == 1)
 
 2342                         $this->tpl->setVariable(
"CONFIRM_MESSAGE", $this->lng->txt(
"confirm_message_course_export"));
 
 2343                         $this->tpl->setVariable(
"BUTTON_CONFIRM", $this->lng->txt(
"confirm"));  
 
 2344                         $this->tpl->setVariable(
"BUTTON_CANCEL", $this->lng->txt(
"cancel"));                                            
 
 2347                 $this->tpl->setVariable(
"TXT_OVERVIEW",$this->lng->txt(
'user_defined_list'));           
 
 2349                 $this->tpl->setVariable(
"BTN_ADD",$this->lng->txt(
'add_user_defined_field'));
 
 2353                 if(!count($definitions = $user_field_definitions->getDefinitions()))
 
 2355                         $this->tpl->setCurrentBlock(
"no_content");
 
 2356                         $this->tpl->setVariable(
"NO_FIELDS",$this->lng->txt(
'no_user_defined_fields_defined'));
 
 2357                         $this->tpl->parseCurrentBlock();
 
 2361                         $this->tpl->setVariable(
"BTN_SAVE",$this->lng->txt(
'save'));
 
 2364                 foreach($definitions as $field_id => $definition)
 
 2366                         $this->tpl->setCurrentBlock(
"user_defined");                    
 
 2367                         $this->tpl->setVariable(
"TXT_VISIBLE", $this->lng->txt(
"visible"));
 
 2368                         $this->tpl->setVariable(
"TXT_CHANGE", $this->lng->txt(
"changeable"));
 
 2369                         $this->tpl->setVariable(
"TXT_REQUIRED", $this->lng->txt(
"required_field"));
 
 2372                                 $this->tpl->setVariable(
"TXT_SEARCHABLE", $this->lng->txt(
"header_searchable"));
 
 2374                         $this->tpl->setVariable(
"TXT_EXPORT", $this->lng->txt(
"export"));
 
 2375                         $this->tpl->setVariable(
"TXT_COURSE_EXPORT", $lng->txt(
"course_export"));
 
 2377                         $this->tpl->setVariable(
'TXT_VISIB_REG', $this->lng->txt(
'visible_registration'));
 
 2379                         $this->tpl->setVariable(
"NAME",$definition[
'field_name']);
 
 2381                         if (
$_POST[
"cmd"][
"updateFields"] != 
"")
 
 2383                                 $definition[
'visible'] = isset(
$_POST[
'def'][$field_id][
'visible']) ? 1 : 0;
 
 2384                                 $definition[
'changeable'] = isset(
$_POST[
'def'][$field_id][
'changeable']) ? 1 : 0;
 
 2385                                 $definition[
'required'] = isset(
$_POST[
'def'][$field_id][
'required']) ? 1 : 0;
 
 2386                                 $definition[
'searchable'] = isset(
$_POST[
'def'][$field_id][
'searchable']) ? 1 : 0;
 
 2387                                 $definition[
'export'] = isset(
$_POST[
'def'][$field_id][
'export']) ? 1 : 0;
 
 2388                                 $definition[
'course_export'] = isset(
$_POST[
'def'][$field_id][
'course_export']) ? 1 : 0;
 
 2391                         $this->tpl->setVariable(
"VISIBLE",
ilUtil::formCheckbox($definition[
'visible'],
"def[$field_id][visible]",1));
 
 2392                         $this->tpl->setVariable(
"CHANGE",
ilUtil::formCheckbox($definition[
'changeable'],
"def[$field_id][changeable]",1));
 
 2393                         $this->tpl->setVariable(
"REQUIRED",
ilUtil::formCheckbox($definition[
'required'],
"def[$field_id][required]",1));
 
 2396                                 $this->tpl->setVariable(
"SEARCHABLE",
ilUtil::formCheckbox($definition[
'searchable'],
"def[$field_id][searchable]",1));
 
 2398                         $this->tpl->setVariable(
"EXPORT",
ilUtil::formCheckbox($definition[
'export'],
"def[$field_id][export]",1));
 
 2399                         $this->tpl->setVariable(
"COURSE_EXPORT",
ilUtil::formCheckbox($definition[
'course_export'],
"def[$field_id][course_export]",1));
 
 2401                         $this->tpl->setVariable(
'VISIB_REG', 
 
 2404                         $this->ctrl->setParameter($this,
'field_id',$field_id);
 
 2407                         switch($definition[
'field_type'])
 
 2410                                         $this->tpl->setVariable(
"EDIT_LINK",$this->ctrl->getLinkTarget($this,
'editTextField'));
 
 2414                                         $this->tpl->setVariable(
"EDIT_LINK",$this->ctrl->getLinkTarget($this,
'editWysiwygField'));
 
 2418                                         $this->tpl->setVariable(
"EDIT_LINK",$this->ctrl->getLinkTarget($this,
'editSelectField'));
 
 2421                         $this->tpl->setVariable(
"EDIT",$this->lng->txt(
'edit'));                
 
 2423                         $this->tpl->setVariable(
"DELETE_LINK",$this->ctrl->getLinkTarget($this,
'askDeleteField'));
 
 2424                         $this->tpl->setVariable(
"DELETE",$this->lng->txt(
'delete'));
 
 2425                         $this->tpl->parseCurrentBlock();                        
 
 2432                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2434                 $definition = $udf->getDefinition((
int) 
$_GET[
'field_id']);
 
 2437                 $this->ctrl->setParameter($this,
'field_id',(
int) $_GET[
'field_id']);
 
 2440                 $this->tabs_gui->setTabActive(
'settings');
 
 2441                 $this->tabs_gui->setSubTabActive(
'user_defined_fields');
 
 2443                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_update_text_field.html');
 
 2445                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2446                 $this->tpl->setVariable(
"TXT_SELECT_TYPE",$this->lng->txt(
'udf_update_text_field'));
 
 2447                 $this->tpl->setVariable(
"TXT_FIELD_NAME",$this->lng->txt(
'field_name'));
 
 2449                 $this->tpl->setVariable(
"FIELD_NAME",$definition[
'field_name']);
 
 2451                 $this->tpl->setVariable(
"BTN_PREVIOUS",$this->lng->txt(
'cancel'));
 
 2452                 $this->tpl->setVariable(
"BTN_ADD",$this->lng->txt(
'update'));
 
 2459                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2462                 $definition = $udf->getDefinition((
int) 
$_GET[
'field_id']);
 
 2464                 $udf->setFieldName(ilUtil::stripslashes(
$_POST[
'field_name']));
 
 2465                 $udf->setFieldType($definition[
'field_type']);
 
 2466                 $udf->setFieldValues($definition[
'field_values']);
 
 2467                 $udf->enableVisible($definition[
'visible']);
 
 2468                 $udf->enableChangeable($definition[
'changeable']);
 
 2469                 $udf->enableRequired($definition[
'required']);
 
 2470                 $udf->enableSearchable($definition[
'searchable']);
 
 2471                 $udf->enableExport($definition[
'export']);
 
 2472                 $udf->enableCourseExport($definition[
'course_export']);
 
 2474                 $udf->enableVisibleRegistration($definition[
'visib_reg']);
 
 2476                 $udf->update($definition[
'field_id']);
 
 2485                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2487                 $definition = $udf->getDefinition((
int) 
$_GET[
'field_id']);
 
 2490                 $this->ctrl->setParameter($this,
'field_id',(
int) $_GET[
'field_id']);
 
 2493                 $this->tabs_gui->setTabActive(
'settings');
 
 2494                 $this->tabs_gui->setSubTabActive(
'user_defined_fields');
 
 2496                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_update_text_field.html');
 
 2498                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2499                 $this->tpl->setVariable(
"TXT_SELECT_TYPE",$this->lng->txt(
'udf_update_wysiwyg_field'));
 
 2500                 $this->tpl->setVariable(
"TXT_FIELD_NAME",$this->lng->txt(
'field_name'));
 
 2502                 $this->tpl->setVariable(
"FIELD_NAME",$definition[
'field_name']);
 
 2504                 $this->tpl->setVariable(
"BTN_PREVIOUS",$this->lng->txt(
'cancel'));
 
 2505                 $this->tpl->setVariable(
"BTN_ADD",$this->lng->txt(
'update'));
 
 2512                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2515                 $definition = $udf->getDefinition((
int) 
$_GET[
'field_id']);
 
 2517                 $udf->setFieldName(ilUtil::stripslashes(
$_POST[
'field_name']));
 
 2518                 $udf->setFieldType($definition[
'field_type']);
 
 2519                 $udf->setFieldValues($definition[
'field_values']);
 
 2520                 $udf->enableVisible($definition[
'visible']);
 
 2521                 $udf->enableChangeable($definition[
'changeable']);
 
 2522                 $udf->enableRequired($definition[
'required']);
 
 2523                 $udf->enableSearchable($definition[
'searchable']);
 
 2524                 $udf->enableExport($definition[
'export']);
 
 2525                 $udf->enableCourseExport($definition[
'course_export']);
 
 2527                 $udf->enableVisibleRegistration($definition[
'visib_reg']);
 
 2529                 $udf->update($definition[
'field_id']);
 
 2538                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2543                 $definition = $udf->getDefinition((
int) 
$_GET[
'field_id']);
 
 2546                 $this->ctrl->setParameter($this,
'field_id',(
int) $_GET[
'field_id']);
 
 2549                 $this->tabs_gui->setTabActive(
'settings');
 
 2550                 $this->tabs_gui->setSubTabActive(
'user_defined_fields');
 
 2552                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_update_select_field.html');
 
 2555                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2556                 $this->tpl->setVariable(
"TXT_SELECT_TYPE",$this->lng->txt(
'udf_update_select_field'));
 
 2557                 $this->tpl->setVariable(
"TXT_FIELD_NAME",$this->lng->txt(
'field_name'));
 
 2559                 $this->tpl->setVariable(
"FIELD_NAME_VALUE",$definition[
'field_name']);
 
 2563                 foreach($definition[
'field_values'] as $value)
 
 2565                         $this->tpl->setCurrentBlock(
"values");
 
 2566                         $this->tpl->setVariable(
"COUNTER",$counter++);
 
 2567                         $this->tpl->setVariable(
"TXT_VALUES",$this->lng->txt(
'udf_value').
' '.($counter));
 
 2568                         $this->tpl->setVariable(
"FIELD_NAME",$value);
 
 2570                         $this->ctrl->setParameter($this,
'value_id',$counter-1);
 
 2571                         $this->tpl->setVariable(
"DELETE_LINK",$this->ctrl->getLinkTarget($this,
'deleteValue'));
 
 2572                         $this->tpl->setVariable(
"DELETE",$this->lng->txt(
'delete'));
 
 2573                         $this->tpl->parseCurrentBlock();
 
 2577                 for($i = 0; $i < 
$_SESSION[
'select_num_values'];$i++)
 
 2579                         $this->tpl->setCurrentBlock(
"new_values");
 
 2580                         $this->tpl->setVariable(
"NEW_COUNTER",$counter++);
 
 2581                         $this->tpl->setVariable(
"TXT_NEW_VALUES",$this->lng->txt(
'udf_value').
' '.($counter));
 
 2582                         $this->tpl->setVariable(
"NEW_FIELD_NAME",
$_POST[
'field_values'][$counter-1]);
 
 2583                         $this->tpl->parseCurrentBlock();
 
 2585                 $this->tpl->setVariable(
"BTN_NEW_VALUE",$this->lng->txt(
'btn_new_value'));
 
 2586                 $this->tpl->setVariable(
"BTN_PREVIOUS",$this->lng->txt(
'cancel'));
 
 2587                 $this->tpl->setVariable(
"BTN_ADD",$this->lng->txt(
'save'));
 
 2594                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2597                 $_POST[
'field_values'] = is_array(
$_POST[
'field_values']) ? 
$_POST[
'field_values'] : array();
 
 2600                 $definition = $udf->getDefinition((
int) 
$_GET[
'field_id']);
 
 2603                 $udf->setFieldName(ilUtil::stripslashes(
$_POST[
'field_name']));
 
 2604                 $udf->setFieldValues(array_merge($definition[
'field_values'],
$_POST[
'field_values']));
 
 2605                 $udf->setFieldType($definition[
'field_type']);
 
 2606                 $udf->enableVisible($definition[
'visible']);
 
 2607                 $udf->enableChangeable($definition[
'changeable']);
 
 2608                 $udf->enableRequired($definition[
'required']);
 
 2609                 $udf->enableSearchable($definition[
'searchable']);
 
 2610                 $udf->enableExport($definition[
'export']);
 
 2611                 $udf->enableCourseExport($definition[
'course_export']);
 
 2613                 $udf->enableVisibleRegistration($definition[
'visib_reg']);
 
 2615                 if($error = $udf->validateValues())
 
 2631                 $udf->update($definition[
'field_id']);
 
 2641                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2644                 $udf->deleteValue((
int) 
$_GET[
'field_id'],(
int) $_GET[
'value_id']);
 
 2661                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2666                 $this->tabs_gui->setTabActive(
'settings');
 
 2667                 $this->tabs_gui->setSubTabActive(
'user_defined_fields');
 
 2669                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_ask_delete.html');
 
 2671                 $this->ctrl->setParameter($this,
'field_id',(
int) 
$_GET[
'field_id']);
 
 2672                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2673                 $this->tpl->setVariable(
"TXT_DELETE_FIELD",$this->lng->txt(
'udf_delete_header'));
 
 2674                 $this->tpl->setVariable(
"TXT_FIELD_NAME",$this->lng->txt(
'field_name'));
 
 2677                 $definition = $user_field_definitions->getDefinition((
int) $_GET[
'field_id']);
 
 2679                 $this->tpl->setVariable(
"FIELD_NAME",$definition[
'field_name']);
 
 2680                 $this->tpl->setVariable(
"BTN_DELETE",$this->lng->txt(
'delete'));
 
 2681                 $this->tpl->setVariable(
"BTN_CANCEL",$this->lng->txt(
'cancel'));
 
 2688                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2691                 $user_field_definitions->delete((
int) 
$_GET[
'field_id']);
 
 2709                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';           
 
 2712                 $a_fields = $user_field_definitions->getDefinitions();
 
 2714                 foreach($a_fields as $field_id => $definition)
 
 2716                         if( isset(
$_POST[
'chb'][
'required_'.$field_id]) && (
int)
$_POST[
'chb'][
'required_'.$field_id] &&
 
 2717                                 (!isset(
$_POST[
'chb'][
'visib_reg_'.$field_id]) || !(
int)
$_POST[
'chb'][
'visib_reg_'.$field_id]))
 
 2719                                 $this->confirm_change = 1;
 
 2754                 foreach($a_fields as $field_id => $definition)
 
 2756                         $user_field_definitions->setFieldName($definition[
'field_name']);
 
 2757                         $user_field_definitions->setFieldType($definition[
'field_type']);
 
 2758                         $user_field_definitions->setFieldValues($definition[
'field_values']);
 
 2759                         $user_field_definitions->enableVisible((
int) 
$_POST[
'chb'][
'visible_'.$field_id]);
 
 2760                         $user_field_definitions->enableChangeable((
int) 
$_POST[
'chb'][
'changeable_'.$field_id]);
 
 2761                         $user_field_definitions->enableRequired((
int) 
$_POST[
'chb'][
'required_'.$field_id]);
 
 2762                         $user_field_definitions->enableSearchable((
int) 
$_POST[
'chb'][
'searchable_'.$field_id]);
 
 2763                         $user_field_definitions->enableExport((
int) 
$_POST[
'chb'][
'export_'.$field_id]);
 
 2764                         $user_field_definitions->enableCourseExport((
int) 
$_POST[
'chb'][
'course_export_'.$field_id]);
 
 2765                         $user_field_definitions->enableVisibleLocalUserAdministration((
int) 
$_POST[
'chb'][
'visib_lua_'.$field_id]);
 
 2766                         $user_field_definitions->enableChangeableLocalUserAdministration((
int) 
$_POST[
'chb'][
'changeable_lua_'.$field_id]);
 
 2767                         $user_field_definitions->enableGroupExport((
int) 
$_POST[
'chb'][
'group_export_'.$field_id]);
 
 2768                         $user_field_definitions->enableVisibleRegistration((
int)
$_POST[
'chb'][
'visib_reg_'.$field_id]);
 
 2770                         $user_field_definitions->update($field_id);
 
 2783                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2789                 $this->tabs_gui->setTabActive(
'settings');
 
 2790                 $this->tabs_gui->setSubTabActive(
'user_defined_fields');
 
 2792                 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 2794                 $this->form->setFormAction($this->ctrl->getFormAction($this,
'chooseDefinitions'));
 
 2795                 $this->form->setTitle($this->lng->txt(
'add_new_user_defined_field'));
 
 2800                         $radg->addOption($op1);
 
 2802                         $radg->addOption($op2);
 
 2804                         $radg->addOption($op3);
 
 2805                 $this->form->addItem($radg);
 
 2806                 $this->form->addCommandButton(
"chooseDefinitions", $lng->txt(
"btn_next"));
 
 2807                 $this->form->addCommandButton(
"listUserDefinedFields", $lng->txt(
"cancel"));
 
 2808                 $this->tpl->setContent($this->form->getHTML());
 
 2817                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 2820                 $this->tabs_gui->setTabActive(
'settings');
 
 2821                 $this->tabs_gui->setSubTabActive(
'user_defined_fields');
 
 2823                 switch($field_type = (
int) 
$_REQUEST[
'field_type'])
 
 2847                 $lng->loadLanguageModule(
"administration");
 
 2848                 $lng->loadLanguageModule(
"ps");
 
 2850                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_edit_text_field.html');
 
 2852                 include_once(
"Services/Membership/classes/class.ilMemberAgreement.php");
 
 2855                         $this->tpl->setCurrentBlock(
'warning_modify');
 
 2856                         $this->tpl->setVariable(
'TXT_WARNING', $lng->txt(
'ps_warning_modify'));
 
 2857                         $this->tpl->parseCurrentBlock();
 
 2861                 $this->ctrl->setParameter($this,
'field_type',(
int) 
$_REQUEST[
'field_type']);
 
 2862                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2864                 $this->tpl->setVariable(
"BTN_ADD",$this->lng->txt(
'udf_add_field'));
 
 2865                 $this->tpl->setVariable(
"BTN_PREVIOUS",$this->lng->txt(
'btn_previous'));
 
 2866                 $this->tpl->setVariable(
"TXT_SELECT_TYPE",$this->lng->txt(
'add_new_user_defined_text_field'));
 
 2867                 $this->tpl->setVariable(
"TXT_FIELD_NAME",$this->lng->txt(
'field_name'));
 
 2868                 $this->tpl->setVariable(
"FIELD_NAME",
$_POST[
'field_name']);
 
 2870                 $this->tpl->setVariable(
"TXT_VISIBLE", $this->lng->txt(
"visible"));
 
 2871                 $this->tpl->setVariable(
"TXT_CHANGE", $this->lng->txt(
"changeable"));
 
 2872                 $this->tpl->setVariable(
"TXT_REQUIRED", $this->lng->txt(
"required_field"));
 
 2873                 $this->tpl->setVariable(
"TXT_SEARCHABLE", $this->lng->txt(
"header_searchable"));
 
 2874                 $this->tpl->setVariable(
"TXT_EXPORT", $this->lng->txt(
"export"));
 
 2875                 $this->tpl->setVariable(
"TXT_COURSE_EXPORT", $lng->txt(
"course_export"));
 
 2876                 $this->tpl->setVariable(
'TXT_VISIB_LUA',$lng->txt(
'usr_settings_visib_lua'));
 
 2877                 $this->tpl->setVariable(
'TXT_CHANGE_LUA',$lng->txt(
'usr_settings_changeable_lua'));
 
 2878                 $this->tpl->setVariable(
'TXT_VISIB_REG', $lng->txt(
'visible_registration'));
 
 2889                 $this->tpl->setVariable(
'VISIB_REG', 
 
 2899                 $lng->loadLanguageModule(
"administration");
 
 2900                 $lng->loadLanguageModule(
"ps");         
 
 2902                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_edit_select_field.html');
 
 2904                 include_once(
"Services/Membership/classes/class.ilMemberAgreement.php");
 
 2907                         $this->tpl->setCurrentBlock(
'warning_modify');
 
 2908                         $this->tpl->setVariable(
'TXT_WARNING', $lng->txt(
'ps_warning_modify'));
 
 2909                         $this->tpl->parseCurrentBlock();
 
 2913                 $this->ctrl->setParameter($this,
'field_type',(
int) 
$_REQUEST[
'field_type']);
 
 2914                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2915                 $this->tpl->setVariable(
"BTN_ADD",$this->lng->txt(
'udf_add_field'));
 
 2916                 $this->tpl->setVariable(
"BTN_PREVIOUS",$this->lng->txt(
'btn_previous'));
 
 2917                 $this->tpl->setVariable(
"TXT_SELECT_TYPE",$this->lng->txt(
'add_new_user_defined_select_field'));
 
 2918                 $this->tpl->setVariable(
"TXT_FIELD_NAME",$this->lng->txt(
'field_name'));
 
 2919                 $this->tpl->setVariable(
"FIELD_NAME_VALUE",
$_POST[
'field_name']);
 
 2920                 $this->tpl->setVariable(
"TXT_EXPORT", $this->lng->txt(
"export"));
 
 2921                 $this->tpl->setVariable(
"TXT_COURSE_EXPORT", $lng->txt(
"course_export"));
 
 2923                 $this->tpl->setVariable(
"TXT_VISIBLE", $this->lng->txt(
"visible"));
 
 2924                 $this->tpl->setVariable(
"TXT_CHANGE", $this->lng->txt(
"changeable"));
 
 2925                 $this->tpl->setVariable(
"TXT_REQUIRED", $this->lng->txt(
"required_field"));
 
 2926                 $this->tpl->setVariable(
"TXT_SEARCHABLE", $this->lng->txt(
"header_searchable"));
 
 2927                 $this->tpl->setVariable(
'TXT_CHANGE_LUA',$lng->txt(
'usr_settings_changeable_lua'));
 
 2928                 $this->tpl->setVariable(
'TXT_VISIB_LUA', $this->lng->txt(
'usr_settings_visib_lua'));
 
 2931                 $this->tpl->setVariable(
'TXT_VISIB_REG', $this->lng->txt(
'visible_registration'));
 
 2943                 $this->tpl->setVariable(
'VISIB_REG', 
 
 2946                 $this->tpl->setVariable(
"BTN_NEW_VALUE",$this->lng->txt(
'btn_new_value'));
 
 2948                 for($i = 0; $i < 
$_SESSION[
'num_values']; $i++)
 
 2950                         $this->tpl->setCurrentBlock(
"values");
 
 2951                         $this->tpl->setVariable(
"TXT_VALUES",$this->lng->txt(
'udf_value').
' '.($i+1));
 
 2952                         $this->tpl->setVariable(
"COUNTER",$i);
 
 2953                         $this->tpl->setVariable(
"FIELD_NAME",
$_POST[
'field_values'][$i]);
 
 2954                         $this->tpl->parseCurrentBlock();
 
 2966                 $lng->loadLanguageModule(
"administration");
 
 2967                 $lng->loadLanguageModule(
"ps");
 
 2969                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_edit_wysiwyg_field.html');
 
 2971                 include_once(
"Services/Membership/classes/class.ilMemberAgreement.php");
 
 2974                         $this->tpl->setCurrentBlock(
'warning_modify');
 
 2975                         $this->tpl->setVariable(
'TXT_WARNING', $lng->txt(
'ps_warning_modify'));
 
 2976                         $this->tpl->parseCurrentBlock();
 
 2980                 $this->ctrl->setParameter($this,
'field_type',(
int) 
$_REQUEST[
'field_type']);
 
 2981                 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 2983                 $this->tpl->setVariable(
"BTN_ADD",$this->lng->txt(
'udf_add_field'));
 
 2984                 $this->tpl->setVariable(
"BTN_PREVIOUS",$this->lng->txt(
'btn_previous'));
 
 2985                 $this->tpl->setVariable(
"TXT_SELECT_TYPE",$this->lng->txt(
'add_new_user_defined_wysiwyg_field'));
 
 2986                 $this->tpl->setVariable(
"TXT_FIELD_NAME",$this->lng->txt(
'field_name'));
 
 2987                 $this->tpl->setVariable(
"FIELD_NAME",
$_POST[
'field_name']);
 
 2989                 $this->tpl->setVariable(
"TXT_VISIBLE", $this->lng->txt(
"visible"));
 
 2990                 $this->tpl->setVariable(
"TXT_CHANGE", $this->lng->txt(
"changeable"));
 
 2991                 $this->tpl->setVariable(
"TXT_REQUIRED", $this->lng->txt(
"required_field"));
 
 2992                 $this->tpl->setVariable(
"TXT_EXPORT", $this->lng->txt(
"export"));
 
 2993                 $this->tpl->setVariable(
"TXT_COURSE_EXPORT", $lng->txt(
"course_export"));
 
 2994                 $this->tpl->setVariable(
'TXT_CHANGE_LUA',$lng->txt(
'usr_settings_changeable_lua'));
 
 2995                 $this->tpl->setVariable(
'TXT_VISIB_LUA', $this->lng->txt(
'usr_settings_visib_lua'));
 
 2997                 $this->tpl->setVariable(
'TXT_VISIB_REG', $this->lng->txt(
'visible_registration'));
 
 3007                 $this->tpl->setVariable(
'VISIB_REG', 
 
 3023                 include_once 
'./Services/User/classes/class.ilUserDefinedFields.php';
 
 3026                 if( isset(
$_POST[
'def'][
'required']) && (
int)
$_POST[
'def'][
'required'] &&
 
 3027                         (!isset(
$_POST[
'def'][
'visib_reg']) || !(
int)
$_POST[
'def'][
'visib_reg'])
 
 3029                         $this->confirm_change = 1;
 
 3035                 if (!strlen($_POST[
'field_name']))
 
 3042                 if($user_field_definitions->nameExists($_POST[
'field_name']))
 
 3050                 $user_field_definitions->setFieldType(
$_REQUEST[
'field_type']);
 
 3053                         $user_field_definitions->setFieldValues($_POST[
'field_values']);
 
 3054                         if($error = $user_field_definitions->validateValues())
 
 3071                 $user_field_definitions->setFieldName($_POST[
'field_name']);
 
 3072                 $user_field_definitions->enableVisible($_POST[
'def'][
'visible']);
 
 3073                 $user_field_definitions->enableChangeable($_POST[
'def'][
'changeable']);
 
 3074                 $user_field_definitions->enableVisibleLocalUserAdministration($_POST[
'def'][
'visible_lua']);
 
 3075                 $user_field_definitions->enableChangeableLocalUserAdministration($_POST[
'def'][
'changeable_lua']);
 
 3076                 $user_field_definitions->enableRequired($_POST[
'def'][
'required']);
 
 3077                 $user_field_definitions->enableSearchable($_POST[
'def'][
'searchable']);         
 
 3078                 $user_field_definitions->enableExport($_POST[
'def'][
'export']);
 
 3079                 $user_field_definitions->enableCourseExport($_POST[
'def'][
'course_export']);
 
 3081                 $user_field_definitions->enableVisibleRegistration((
int)$_POST[
'def'][
'visib_reg']);
 
 3083                 $user_field_definitions->add();
 
 3085                 if ((
int) $_POST[
'def'][
'course_export'] == 1)
 
 3087                         include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
 
 3107                 include_once 
'./Services/User/classes/class.ilUserAccountSettings.php';
 
 3109                 $this->form->setValuesByArray(
 
 3111                                 'lua'   => $aset->isLocalUserAdministrationEnabled(),
 
 3112                                 'lrua'  => $aset->isUserAccessRestricted(),
 
 3113                                 'allow_change_loginname' => (bool)$ilSetting->get(
'allow_change_loginname'),
 
 3114                                 'create_history_loginname' => (bool)$ilSetting->get(
'create_history_loginname'),
 
 3115                                 'prevent_reuse_of_loginnames' => (bool)$ilSetting->get(
'prevent_reuse_of_loginnames'),
 
 3116                                 'loginname_change_blocking_time' => (int)$ilSetting->get(
'loginname_change_blocking_time'),
 
 3117                                 'user_adm_alpha_nav' => (int)$ilSetting->get(
'user_adm_alpha_nav'),
 
 3118                                 'user_ext_profiles' => (int)$ilSetting->get(
'user_ext_profiles')
 
 3122                 $this->tpl->setContent($this->form->getHTML());
 
 3135                 if($this->form->checkInput())
 
 3139                         if(strlen($this->form->getInput(
'loginname_change_blocking_time')) &&
 
 3140                            !preg_match(
'/^[0-9]*$/',
 
 3141                            $this->form->getInput(
'loginname_change_blocking_time')))
 
 3144                                 $this->form->getItemByPostVar(
'loginname_change_blocking_time')
 
 3145                                                                                 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
 
 3150                                 include_once 
'./Services/User/classes/class.ilUserAccountSettings.php';
 
 3156                                 $ilSetting->set(
'allow_change_loginname', (
int)$this->form->getInput(
'allow_change_loginname'));
 
 3157                                 $ilSetting->set(
'create_history_loginname', (
int)$this->form->getInput(
'create_history_loginname'));
 
 3158                                 $ilSetting->set(
'prevent_reuse_of_loginnames', (
int)$this->form->getInput(
'prevent_reuse_of_loginnames'));
 
 3159                                 $ilSetting->set(
'loginname_change_blocking_time', (
int)$this->form->getInput(
'loginname_change_blocking_time'));
 
 3160                                 $ilSetting->set(
'user_adm_alpha_nav', (
int)$this->form->getInput(
'user_adm_alpha_nav'));
 
 3161                                 $ilSetting->set(
'user_ext_profiles', (
int)$this->form->getInput(
'user_ext_profiles'));
 
 3174                 $this->form->setValuesByPost();         
 
 3175                 $this->tpl->setContent($this->form->getHTML());
 
 3186                 $this->tabs_gui->setTabActive(
'settings');
 
 3187                 $this->tabs_gui->setSubTabActive(
'general_settings');
 
 3189                 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3191                 $this->form->setFormAction($this->ctrl->getFormAction($this, 
'saveGeneralSettings'));
 
 3193                 $this->form->setTitle($this->lng->txt(
'general_settings'));
 
 3195                 $lua = 
new ilCheckboxInputGUI($this->lng->txt(
'enable_local_user_administration'),
'lua');
 
 3196                 $lua->
setInfo($this->lng->txt(
'enable_local_user_administration_info'));
 
 3198                 $this->form->addItem($lua);
 
 3201                 $lrua->
setInfo($this->lng->txt(
'restrict_user_access_info'));
 
 3203                 $this->form->addItem($lrua);
 
 3206                 $alph = 
new ilCheckboxInputGUI($this->lng->txt(
'user_adm_enable_alpha_nav'), 
'user_adm_alpha_nav');
 
 3209                 $this->form->addItem($alph);
 
 3212                 $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"user_ext_profiles"), 
"user_ext_profiles");
 
 3213                 $cb->
setInfo($this->lng->txt(
'user_ext_profiles_desc'));
 
 3214                 $this->form->addItem($cb);
 
 3217                 $log->setTitle($this->lng->txt(
'loginname_settings'));
 
 3218                 $this->form->addItem(
$log);
 
 3220                 $chbChangeLogin = 
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'), 
'allow_change_loginname');
 
 3222                 $this->form->addItem($chbChangeLogin);          
 
 3223                 $chbCreateHistory = 
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'), 
'create_history_loginname');
 
 3224                 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
 
 3225                 $chbCreateHistory->setValue(1);
 
 3227                 $chbChangeLogin->addSubItem($chbCreateHistory); 
 
 3228                 $chbReuseLoginnames = 
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'), 
'prevent_reuse_of_loginnames');
 
 3230                 $chbReuseLoginnames->setInfo($this->lng->txt(
'prevent_reuse_of_loginnames_contained_in_history_info'));
 
 3232                 $chbChangeLogin->addSubItem($chbReuseLoginnames);
 
 3233                 $chbChangeBlockingTime = 
new ilTextInputGUI($this->lng->txt(
'loginname_change_blocking_time'), 
'loginname_change_blocking_time');
 
 3234                 $chbChangeBlockingTime->
setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
 
 3235                 $chbChangeBlockingTime->setSize(10);
 
 3236                 $chbChangeBlockingTime->setMaxLength(10);
 
 3237                 $chbChangeLogin->addSubItem($chbChangeBlockingTime);            
 
 3239                 $this->form->addCommandButton(
'saveGeneralSettings', $this->lng->txt(
'save'));
 
 3259                 include_once 
'Services/Search/classes/class.ilUserSearchOptions.php';
 
 3260                 $lng->loadLanguageModule(
"administration");
 
 3261                 $lng->loadLanguageModule(
"mail");
 
 3264                 include_once(
"./Services/User/classes/class.ilUserFieldSettingsTableGUI.php");
 
 3266                 if($this->confirm_change) 
$tab->setConfirmChange();
 
 3267                 $tpl->setContent(
$tab->getHTML());
 
 3277                 include_once 
'Services/Search/classes/class.ilUserSearchOptions.php';
 
 3278                 include_once 
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
 
 3283                 include_once(
"./Services/User/classes/class.ilUserProfile.php");
 
 3285                 $up->skipField(
"username");
 
 3286                 $field_properties = $up->getStandardFields();
 
 3287                 $profile_fields = array_keys($field_properties);
 
 3290                 foreach ($profile_fields as $field)
 
 3292                         if (    
$_POST[
"chb"][
"required_".$field] &&
 
 3293                                         !(
int)
$_POST[
'chb'][
'visib_reg_' . $field]
 
 3304                         $this->confirm_change = 1;
 
 3310                 $fixed_required_fields = array(
 
 3317                         "hits_per_page" => 0,
 
 3318                         "show_users_online" => 0,
 
 3319                         "hide_own_online_status" => 0
 
 3324                 if ($privacy->enabledCourseExport() == 
true && 
 
 3325                         $privacy->courseConfirmationRequired() == 
true && 
 
 3328                         foreach ($profile_fields as $field)
 
 3330                                 if (! $ilias->getSetting(
"usr_settings_course_export_" . $field) && 
$_POST[
"chb"][
"course_export_" . $field] == 
"1")
 
 3332                                         #ilUtil::sendQuestion($this->lng->txt('confirm_message_course_export')); 
 3333                                         #$this->confirm_change = 1; 
 3334                                         #$this->settingsObject(); 
 3340                 if($action == 
'save')
 
 3342                         include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
 
 3346                 foreach ($profile_fields as $field)
 
 3354                         if (! 
$_POST[
"chb"][
"visible_".$field] && !$field_properties[$field][
"visible_hide"])
 
 3356                                 $ilias->setSetting(
"usr_settings_hide_".$field, 
"1");
 
 3360                                 $ilias->deleteSetting(
"usr_settings_hide_".$field);
 
 3363                         if (! 
$_POST[
"chb"][
"changeable_" . $field] && !$field_properties[$field][
"changeable_hide"])
 
 3365                                 $ilias->setSetting(
"usr_settings_disable_".$field, 
"1");
 
 3369                                 $ilias->deleteSetting(
"usr_settings_disable_".$field);
 
 3373                         if ((
int)
$_POST[
'chb'][
'visib_reg_' . $field] && !$field_properties[$field][
"visib_reg_hide"])
 
 3375                                 $ilSetting->set(
'usr_settings_visib_reg_'.$field, 
'1');
 
 3379                                 $ilSetting->set(
'usr_settings_visib_reg_'.$field, 
'0');
 
 3382                         if ((
int)
$_POST[
'chb'][
'visib_lua_' . $field])
 
 3385                                 $ilSetting->set(
'usr_settings_visib_lua_'.$field, 
'1');
 
 3389                                 $ilSetting->set(
'usr_settings_visib_lua_'.$field, 
'0');
 
 3392                         if ((
int)
$_POST[
'chb'][
'changeable_lua_' . $field])
 
 3395                                 $ilSetting->set(
'usr_settings_changeable_lua_'.$field, 
'1');
 
 3399                                 $ilSetting->set(
'usr_settings_changeable_lua_'.$field, 
'0');
 
 3402                         if (
$_POST[
"chb"][
"export_" . $field] && !$field_properties[$field][
"export_hide"])
 
 3404                                 $ilias->setSetting(
"usr_settings_export_".$field, 
"1");
 
 3408                                 $ilias->deleteSetting(
"usr_settings_export_".$field);
 
 3412                         if (
$_POST[
"chb"][
"course_export_" . $field] && !$field_properties[$field][
"course_export_hide"])
 
 3414                                 $ilias->setSetting(
"usr_settings_course_export_".$field, 
"1");
 
 3418                                 $ilias->deleteSetting(
"usr_settings_course_export_".$field);
 
 3421                         if (
$_POST[
"chb"][
"group_export_" . $field] && !$field_properties[$field][
"group_export_hide"])
 
 3423                                 $ilias->setSetting(
"usr_settings_group_export_".$field, 
"1");
 
 3427                                 $ilias->deleteSetting(
"usr_settings_group_export_".$field);
 
 3430                         $is_fixed = array_key_exists($field, $fixed_required_fields);
 
 3431                         if ($is_fixed && $fixed_required_fields[$field] || ! $is_fixed && 
$_POST[
"chb"][
"required_".$field])
 
 3433                                 $ilias->setSetting(
"require_".$field, 
"1");
 
 3437                                 $ilias->deleteSetting(
"require_" . $field);
 
 3441                 if (
$_POST[
"select"][
"default_hits_per_page"])
 
 3443                         $ilias->setSetting(
"hits_per_page",
$_POST[
"select"][
"default_hits_per_page"]);
 
 3446                 if (
$_POST[
"select"][
"default_show_users_online"])
 
 3448                         $ilias->setSetting(
"show_users_online",
$_POST[
"select"][
"default_show_users_online"]);
 
 3451                 if (
$_POST[
"chb"][
"export_preferences"])
 
 3453                         $ilias->setSetting(
"usr_settings_export_preferences",
$_POST[
"chb"][
"export_preferences"]);
 
 3455                         $ilias->deleteSetting(
"usr_settings_export_preferences");
 
 3458                 $ilias->setSetting(
'mail_incoming_mail', (
int)
$_POST[
'select'][
'default_mail_incoming_mail']);
 
 3470                 $action[-1] = $this->lng->txt(
'all_users');
 
 3471                 $action[1] = $this->lng->txt(
'usr_active_only');
 
 3472                 $action[0] = $this->lng->txt(
'usr_inactive_only');
 
 3473                 $action[2] = $this->lng->txt(
'usr_limited_access_only');
 
 3474                 $action[3] = $this->lng->txt(
'usr_without_courses');
 
 3475                 $action[4] = $this->lng->txt(
'usr_filter_lastlogin');
 
 3476                 $action[5] = $this->lng->txt(
"usr_filter_coursemember");
 
 3477                 $action[6] = $this->lng->txt(
"usr_filter_groupmember");
 
 3478                 $action[7] = $this->lng->txt(
"usr_filter_role");
 
 3491                 if(!isset(
$_POST[
"file"]))
 
 3493                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
 3496                 if (count(
$_POST[
"file"]) > 1)
 
 3498                         $this->ilias->raiseError($this->lng->txt(
"select_max_one_item"),$this->ilias->error_obj->MESSAGE);
 
 3502                 $export_dir = $this->
object->getExportDirectory();
 
 3512                 if(!isset(
$_POST[
"file"]))
 
 3514                         $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
 
 3524                 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
 3527                 $this->tpl->setCurrentBlock(
"table_header");
 
 3528                 $this->tpl->setVariable(
"TEXT",$this->lng->txt(
"objects"));
 
 3529                 $this->tpl->parseCurrentBlock();
 
 3535                                 $this->tpl->setCurrentBlock(
"table_row");
 
 3538                                 $this->tpl->setVariable(
"TEXT_CONTENT", $file);
 
 3539                                 $this->tpl->parseCurrentBlock();
 
 3544                 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
 
 3545                 $buttons = array( 
"cancelDeleteExportFile"  => $this->lng->txt(
"cancel"),
 
 3546                         "deleteExportFile"  => $this->lng->txt(
"confirm"));
 
 3547                 foreach ($buttons as $name => $value)
 
 3549                         $this->tpl->setCurrentBlock(
"operation_btn");
 
 3550                         $this->tpl->setVariable(
"BTN_NAME",$name);
 
 3551                         $this->tpl->setVariable(
"BTN_VALUE",$value);
 
 3552                         $this->tpl->parseCurrentBlock();
 
 3562                 session_unregister(
"ilExportFiles");
 
 3563                 $this->ctrl->redirectByClass(
"ilobjuserfoldergui", 
"export");
 
 3572                 $export_dir = $this->
object->getExportDirectory();
 
 3575                         $exp_file = $export_dir.
"/".
$file;
 
 3576                         if (@is_file($exp_file))
 
 3581                 $this->ctrl->redirectByClass(
"ilobjuserfoldergui", 
"export");
 
 3598                 if (
$_POST[
"cmd"][
"export"])
 
 3600                         $this->
object->buildExportFile(
$_POST[
"export_type"]);
 
 3601                         $this->ctrl->redirectByClass(
"ilobjuserfoldergui", 
"export");
 
 3607                 $export_types = array(
 
 3608                         "userfolder_export_excel_x86",
 
 3609                         "userfolder_export_csv",
 
 3610                         "userfolder_export_xml" 
 3614                 include_once(
"./Services/Table/classes/class.ilTableGUI.php");
 
 3618                 $this->tpl->addBlockfile(
"EXPORT_FILES", 
"export_files", 
"tpl.table.html");
 
 3621                 $this->tpl->addBlockfile(
"TBL_CONTENT", 
"tbl_content", 
"tpl.usr_export_file_row.html");
 
 3625                 $tbl->setTitle($this->lng->txt(
"userfolder_export_files"));
 
 3627                 $tbl->setHeaderNames(array(
"", $this->lng->txt(
"userfolder_export_file"),
 
 3628                         $this->lng->txt(
"userfolder_export_file_size"), $this->lng->txt(
"date") ));
 
 3629                 $tbl->setHeaderVars(array(), $ilCtrl->getParameterArray($this, 
"export"));
 
 3631                 $tbl->enabled[
"sort"] = 
false;
 
 3632                 $tbl->setColumnWidth(array(
"1%", 
"49%", 
"25%", 
"25%"));
 
 3635                 $tbl->setOrderColumn(
$_GET[
"sort_by"]);
 
 3636                 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
 
 3637                 $tbl->setLimit(
$_GET[
"limit"]);
 
 3638                 $tbl->setOffset(
$_GET[
"offset"]);
 
 3639                 $tbl->setMaxCount($this->maxcount);             
 
 3642                 $this->tpl->setVariable(
"COLUMN_COUNTS", 4);
 
 3646                 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
 
 3647                 $this->tpl->setCurrentBlock(
"tbl_action_btn");
 
 3648                 $this->tpl->setVariable(
"BTN_NAME", 
"confirmDeleteExportFile");
 
 3649                 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"delete"));
 
 3650                 $this->tpl->parseCurrentBlock();
 
 3652                 $this->tpl->setCurrentBlock(
"tbl_action_btn");
 
 3653                 $this->tpl->setVariable(
"BTN_NAME", 
"downloadExportFile");
 
 3654                 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"download"));
 
 3655                 $this->tpl->parseCurrentBlock();
 
 3658                 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
 
 3661                 $export_files = $this->
object->getExportFiles();
 
 3663                 $tbl->setMaxCount(count($export_files));
 
 3664                 $export_files = array_slice($export_files, 
$_GET[
"offset"], 
$_GET[
"limit"]);
 
 3668                 if(count($export_files) > 0)
 
 3671                         foreach($export_files as $exp_file)
 
 3673                                 $this->tpl->setCurrentBlock(
"tbl_content");
 
 3674                                 $this->tpl->setVariable(
"TXT_FILENAME", $exp_file[
"filename"]);
 
 3677                                 $this->tpl->setVariable(
"CSS_ROW", $css_row);
 
 3679                                 $this->tpl->setVariable(
"TXT_SIZE", $exp_file[
"filesize"]);
 
 3680                                 $this->tpl->setVariable(
"CHECKBOX_ID", $exp_file[
"filename"]);
 
 3682                                 $file_arr = explode(
"__", $exp_file[
"filename"]);
 
 3685                                 $this->tpl->parseCurrentBlock();
 
 3688                         $this->tpl->setCurrentBlock(
"selectall");
 
 3689                         $this->tpl->setVariable(
"SELECT_ALL", $this->lng->txt(
"select_all"));
 
 3690                         $this->tpl->setVariable(
"CSS_ROW", $css_row);
 
 3691                         $this->tpl->parseCurrentBlock();
 
 3695                         $this->tpl->setCurrentBlock(
"notfound");
 
 3696                         $this->tpl->setVariable(
"TXT_OBJECT_NOT_FOUND", $this->lng->txt(
"obj_not_found"));
 
 3697                         $this->tpl->setVariable(
"NUM_COLS", 3);
 
 3698                         $this->tpl->parseCurrentBlock();
 
 3701                 $this->tpl->parseCurrentBlock();
 
 3704                 foreach ($export_types as $export_type)
 
 3706                         $this->tpl->setCurrentBlock(
"option");
 
 3707                         $this->tpl->setVariable(
"OPTION_VALUE", $export_type);
 
 3708                         $this->tpl->setVariable(
"OPTION_TEXT", $this->lng->txt($export_type));
 
 3709                         $this->tpl->parseCurrentBlock();
 
 3712                 $this->tpl->setVariable(
"EXPORT_BUTTON", $this->lng->txt(
"create_export_file"));
 
 3713                 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
 3724                 $this->tabs_gui->setTabActive(
'settings');
 
 3725                 $this->tabs_gui->setSubTabActive(
'user_new_account_mail');
 
 3727                 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usrf_new_account_mail.html');
 
 3728                 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
 
 3731                 $lng->loadLanguageModule(
"meta");
 
 3732                 $lng->loadLanguageModule(
"mail");
 
 3733                 $this->tpl->setVariable(
"TXT_NEW_USER_ACCOUNT_MAIL", $lng->txt(
"user_new_account_mail"));
 
 3734                 $this->tpl->setVariable(
"TXT_NEW_USER_ACCOUNT_MAIL_DESC", $lng->txt(
"user_new_account_mail_desc"));
 
 3737                 $this->tpl->setVariable(
"TXT_USE_PLACEHOLDERS", $lng->txt(
"mail_nacc_use_placeholder"));
 
 3738                 $this->tpl->setVariable(
"TXT_MAIL_SALUTATION", $lng->txt(
"mail_nacc_salutation"));
 
 3739                 $this->tpl->setVariable(
"TXT_FIRST_NAME", $lng->txt(
"firstname"));
 
 3740                 $this->tpl->setVariable(
"TXT_LAST_NAME", $lng->txt(
"lastname"));
 
 3741                 $this->tpl->setVariable(
"TXT_EMAIL", $lng->txt(
"email"));
 
 3742                 $this->tpl->setVariable(
"TXT_LOGIN", $lng->txt(
"mail_nacc_login"));
 
 3743                 $this->tpl->setVariable(
"TXT_PASSWORD", $lng->txt(
"password"));
 
 3744                 $this->tpl->setVariable(
"TXT_PASSWORD_BLOCK", $lng->txt(
"mail_nacc_pw_block"));
 
 3745                 $this->tpl->setVariable(
"TXT_NOPASSWORD_BLOCK", $lng->txt(
"mail_nacc_no_pw_block"));
 
 3746                 $this->tpl->setVariable(
"TXT_ADMIN_MAIL", $lng->txt(
"mail_nacc_admin_mail"));
 
 3747                 $this->tpl->setVariable(
"TXT_ILIAS_URL", $lng->txt(
"mail_nacc_ilias_url"));
 
 3748                 $this->tpl->setVariable(
"TXT_CLIENT_NAME", $lng->txt(
"mail_nacc_client_name"));
 
 3749                 $this->tpl->setVariable(
"TXT_TARGET", $lng->txt(
"mail_nacc_target"));
 
 3750                 $this->tpl->setVariable(
"TXT_TARGET_TITLE", $lng->txt(
"mail_nacc_target_title"));
 
 3751                 $this->tpl->setVariable(
"TXT_TARGET_TYPE", $lng->txt(
"mail_nacc_target_type"));
 
 3752                 $this->tpl->setVariable(
"TXT_TARGET_BLOCK", $lng->txt(
"mail_nacc_target_block"));       
 
 3754                 $langs = $lng->getInstalledLanguages();
 
 3755                 foreach($langs as $lang_key)
 
 3757                         $amail = $this->
object->_lookupNewAccountMail($lang_key);
 
 3758                         $this->tpl->setCurrentBlock(
"mail_block");
 
 3760                         if ($lang_key == $lng->getDefaultLanguage())
 
 3762                                 $add = 
" (".$lng->txt(
"default").
")";
 
 3764                         $this->tpl->setVariable(
"TXT_LANGUAGE",
 
 3765                                 $lng->txt(
"meta_l_".$lang_key).$add);
 
 3766                         $this->tpl->setVariable(
"TXT_BODY", $lng->txt(
"message_content"));
 
 3767                         $this->tpl->setVariable(
"TA_BODY", 
"body_".$lang_key);
 
 3768                         $this->tpl->setVariable(
"VAL_BODY", 
 
 3770                         $this->tpl->setVariable(
"TXT_SUBJECT", $lng->txt(
"subject"));
 
 3771                         $this->tpl->setVariable(
"INPUT_SUBJECT", 
"subject_".$lang_key);
 
 3772                         $this->tpl->setVariable(
"VAL_SUBJECT", 
 
 3774                         $this->tpl->setVariable(
"TXT_SAL_G", $lng->txt(
"mail_salutation_general"));
 
 3775                         $this->tpl->setVariable(
"INPUT_SAL_G", 
"sal_g_".$lang_key);
 
 3776                         $this->tpl->setVariable(
"VAL_SAL_G", 
 
 3778                         $this->tpl->setVariable(
"TXT_SAL_M", $lng->txt(
"mail_salutation_male"));
 
 3779                         $this->tpl->setVariable(
"INPUT_SAL_M", 
"sal_m_".$lang_key);
 
 3780                         $this->tpl->setVariable(
"VAL_SAL_M", 
 
 3782                         $this->tpl->setVariable(
"TXT_SAL_F", $lng->txt(
"mail_salutation_female"));
 
 3783                         $this->tpl->setVariable(
"INPUT_SAL_F", 
"sal_f_".$lang_key);
 
 3784                         $this->tpl->setVariable(
"VAL_SAL_F", 
 
 3786                         $this->tpl->parseCurrentBlock();
 
 3788                 $this->tpl->setVariable(
"TXT_CANCEL", $lng->txt(
"cancel"));
 
 3789                 $this->tpl->setVariable(
"TXT_SAVE", $lng->txt(
"save"));
 
 3794                 $this->ctrl->redirect($this, 
"settings");
 
 3802                 $langs = $lng->getInstalledLanguages();
 
 3803                 foreach($langs as $lang_key)
 
 3805                         $this->
object->_writeNewAccountMail($lang_key,
 
 3812                 $this->ctrl->redirect($this, 
"newAccountMail");
 
 3827                 include_once 
'Services/Tracking/classes/class.ilObjUserTracking.php';
 
 3831                 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
 
 3833                         $tabs_gui->addTarget(
"obj_usrf",
 
 3834                                 $this->ctrl->getLinkTarget($this, 
"view"), array(
"view",
"delete",
"resetFilter", 
"userAction", 
""), 
"", 
"");
 
 3836                         $tabs_gui->addTarget(
"search_user_extended",
 
 3837                                 $this->ctrl->getLinkTargetByClass(
'ilAdminUserSearchGUI',
'startExtended'),
 
 3838                                 array(
""), 
"iladminusersearchgui", 
"");
 
 3841                 if ($rbacsystem->checkAccess(
"write",$this->object->getRefId()))
 
 3843                         $tabs_gui->addTarget(
"settings",
 
 3844                                 $this->ctrl->getLinkTarget($this, 
"generalSettings"),array(
'settings',
'generalSettings',
'listUserDefinedField',
'newAccountMail'));
 
 3846                         $tabs_gui->addTarget(
"export",
 
 3847                                 $this->ctrl->getLinkTarget($this, 
"export"), 
"export", 
"", 
"");
 
 3853                                 $tabs_gui->addTarget(
"learning_progress",
 
 3854                                                                          $this->ctrl->getLinkTarget($this, 
"learningProgress"), 
"learningProgress", 
"", 
"");
 
 3858                 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
 
 3860                         $tabs_gui->addTarget(
"perm_settings",
 
 3861                                                                  $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm"), 
 
 3862                                                                  array(
"perm",
"info",
"owner"), 
'ilpermissiongui');
 
 3872                 global $rbacsystem,$ilUser;
 
 3877                                 $this->tabs_gui->addSubTabTarget(
 
 3879                                         $this->ctrl->getLinkTarget($this, 
'generalSettings'), 
'generalSettings', get_class($this));                                                                                              
 
 3880                                 $this->tabs_gui->addSubTabTarget(
"standard_fields",
 
 3881                                                                                                  $this->ctrl->getLinkTarget($this,
'settings'),
 
 3882                                                                                                  array(
"settings", 
"saveGlobalUserSettings"), get_class($this));
 
 3883                                 $this->tabs_gui->addSubTabTarget(
"user_defined_fields",
 
 3884                                                                                                  $this->ctrl->getLinkTarget($this,
'listUserDefinedFields'),
 
 3885                                                                                                  "listUserDefinedFields",get_class($this));
 
 3886                                 $this->tabs_gui->addSubTabTarget(
"user_new_account_mail",
 
 3887                                                                                                  $this->ctrl->getLinkTarget($this,
'newAccountMail'),
 
 3888                                                                                                  "newAccountMail",get_class($this));
 
 3899                 $this->loginSettingsForm->setValuesByArray(array(
 
 3900                         'allow_change_loginname' => (
bool)$ilSetting->get(
'allow_change_loginname'),
 
 3901                         'create_history_loginname' => (bool)$ilSetting->get(
'create_history_loginname'),
 
 3902                         'prevent_reuse_of_loginnames' => (bool)$ilSetting->get(
'prevent_reuse_of_loginnames'),
 
 3903                         'loginname_change_blocking_time' => (int)$ilSetting->get(
'loginname_change_blocking_time')
 
 3906                 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
 
 3912                 $this->tabs_gui->setTabActive(
'settings');
 
 3913                 $this->tabs_gui->setSubTabActive(
'loginname_settings');
 
 3915                 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3917                 $this->loginSettingsForm->
setFormAction($this->ctrl->getFormAction($this, 
'saveLoginnameSettings'));
 
 3918                 $this->loginSettingsForm->setTitle($this->lng->txt(
'loginname_settings'));
 
 3920                 $chbChangeLogin = 
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'), 
'allow_change_loginname');
 
 3922                 $this->loginSettingsForm->addItem($chbChangeLogin);             
 
 3923                         $chbCreateHistory = 
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'), 
'create_history_loginname');
 
 3924                         $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
 
 3925                         $chbCreateHistory->setValue(1);
 
 3926                 $chbChangeLogin->addSubItem($chbCreateHistory); 
 
 3927                         $chbReuseLoginnames = 
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'), 
'prevent_reuse_of_loginnames');
 
 3929                         $chbReuseLoginnames->setInfo($this->lng->txt(
'prevent_reuse_of_loginnames_contained_in_history_info'));
 
 3930                 $chbChangeLogin->addSubItem($chbReuseLoginnames);
 
 3931                         $chbChangeBlockingTime = 
new ilTextInputGUI($this->lng->txt(
'loginname_change_blocking_time'), 
'loginname_change_blocking_time');
 
 3932                         $chbChangeBlockingTime->
setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
 
 3933                         $chbChangeBlockingTime->setSize(10);
 
 3934                         $chbChangeBlockingTime->setMaxLength(10);
 
 3935                 $chbChangeLogin->addSubItem($chbChangeBlockingTime);            
 
 3937                 $this->loginSettingsForm->addCommandButton(
'saveLoginnameSettings', $this->lng->txt(
'save'));
 
 3945                 if($this->loginSettingsForm->checkInput())
 
 3949                         if(strlen($this->loginSettingsForm->getInput(
'loginname_change_blocking_time')) &&
 
 3950                            !preg_match(
'/^[0-9]*$/',
 
 3951                            $this->loginSettingsForm->getInput(
'loginname_change_blocking_time')))
 
 3954                                 $this->loginSettingsForm->getItemByPostVar(
'loginname_change_blocking_time')
 
 3955                                                                                 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
 
 3960                                 $ilSetting->set(
'allow_change_loginname', (
int)$this->loginSettingsForm->getInput(
'allow_change_loginname'));
 
 3961                                 $ilSetting->set(
'create_history_loginname', (
int)$this->loginSettingsForm->getInput(
'create_history_loginname'));
 
 3962                                 $ilSetting->set(
'prevent_reuse_of_loginnames', (
int)$this->loginSettingsForm->getInput(
'prevent_reuse_of_loginnames'));
 
 3963                                 $ilSetting->set(
'loginname_change_blocking_time', (
int)$this->loginSettingsForm->getInput(
'loginname_change_blocking_time'));
 
 3976                 $this->loginSettingsForm->setValuesByPost();            
 
 3978                 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
 
 3990                 if ($ilAccess->checkAccess(
"read", 
"", $a_target))
 
 3992                         ilUtil::redirect(
"ilias.php?baseClass=ilAdministrationGUI&ref_id=".$a_target.
"&jmpToUser=".$a_user);
 
 3997                         if ($ilAccess->checkAccess(
"read", 
"", ROOT_FOLDER_ID))
 
 3999                                 $_GET[
"cmd"] = 
"frameset";
 
 4000                                 $_GET[
"target"] = 
"";
 
 4001                                 $_GET[
"ref_id"] = ROOT_FOLDER_ID;
 
 4004                                 include(
"repository.php");
 
 4008                 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
 
 4020                         $ilCtrl->setParameterByClass(
"ilobjusergui", 
"obj_id", (
int) $_GET[
"jmpToUser"]);
 
 4021                         $ilCtrl->redirectByClass(
"ilobjusergui", 
"view");