4include_once(
"./Services/Table/classes/class.ilTable2GUI.php");
 
   26        function __construct($a_parent_obj, $a_parent_cmd, $a_mode = self::MODE_USER_FOLDER, $a_load_items = 
true)
 
   30                $this->user_folder_id = $a_parent_obj->object->getRefId();
 
   35                parent::__construct($a_parent_obj, $a_parent_cmd);
 
   39                $this->
addColumn($this->lng->txt(
"login"), 
"login");
 
   43                        $this->
addColumn($this->lng->txt($c), $c);
 
   46                if($this->
getMode() == self::MODE_LOCAL_USER)
 
   48                        $this->
addColumn($this->lng->txt(
'context'),
'time_limit_owner');
 
   49                        $this->
addColumn($this->lng->txt(
'role_assignment'));
 
   56                $this->
setFormAction($ilCtrl->getFormAction($this->parent_obj, 
"applyFilter"));
 
   69                if($this->
getMode() == self::MODE_USER_FOLDER)
 
   73                        $cmds = $a_parent_obj->getUserMultiCommands();
 
   74                        foreach($cmds as 
$cmd => $caption)
 
   92                $this->mode = $a_mode;
 
  117                include_once(
"./Services/User/classes/class.ilUserProfile.php");
 
  119                $up->skipGroup(
"preferences");
 
  120                $up->skipGroup(
"interests");
 
  121                $up->skipGroup(
"settings");
 
  127                $cols[
"firstname"] = array(
 
  128                        "txt" => 
$lng->txt(
"firstname"),
 
  130                $cols[
"lastname"] = array(
 
  131                        "txt" => 
$lng->txt(
"lastname"),
 
  134                if($this->
getMode() == self::MODE_USER_FOLDER)
 
  136                        $ufs = $up->getStandardFields();
 
  138                        $cols[
"access_until"] = array(
 
  139                                "txt" => 
$lng->txt(
"access_until"),
 
  141                        $cols[
"last_login"] = array(
 
  142                                "txt" => 
$lng->txt(
"last_login"),
 
  146                        $cols[
"create_date"] = array(
 
  147                                "txt" => 
$lng->txt(
"create_date"));
 
  148                        $cols[
"approve_date"] = array(
 
  149                                "txt" => 
$lng->txt(
"approve_date"));
 
  150                        $cols[
"agree_date"] = array(
 
  151                                "txt" => 
$lng->txt(
"agree_date"));
 
  155                        $ufs = $up->getLocalUserAdministrationFields();
 
  159                if(isset($ufs[
"email"]))
 
  161                        $cols[
"email"] = array(
 
  162                                "txt" => 
$lng->txt(
"email"),
 
  167                foreach ($ufs as $f => $fd)
 
  169                        if (!isset($cols[$f]) && !$fd[
"lists_hide"])
 
  172                                $caption = $fd[
"lang_var"]
 
  176                                        "txt" => 
$lng->txt($caption),
 
  182                unset($cols[
"username"]);
 
  197                if($this->
getMode() == self::MODE_USER_FOLDER)
 
  200                        include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
  205                        if($this->filter[
'time_limit_owner'])
 
  207                                $user_filter = array($this->filter[
'time_limit_owner']);
 
  212                                include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
  218                if(!count($user_filter))
 
  225                include_once(
"./Services/User/classes/class.ilUserQuery.php");
 
  228                unset($additional_fields[
"firstname"]);
 
  229                unset($additional_fields[
"lastname"]);
 
  230                unset($additional_fields[
"email"]);
 
  231                unset($additional_fields[
"last_login"]);
 
  232                unset($additional_fields[
"access_until"]);
 
  239                $query->setTextFilter($this->filter[
'query']);
 
  240                $query->setActionFilter($this->filter[
'activation']);
 
  241                $query->setLastLogin($this->filter[
'last_login']);
 
  242                $query->setLimitedAccessFilter($this->filter[
'limited_access']);
 
  243                $query->setNoCourseFilter($this->filter[
'no_courses']);
 
  244                $query->setNoGroupFilter($this->filter[
'no_groups']);
 
  245                $query->setCourseGroupFilter($this->filter[
'course_group']);
 
  246                $query->setRoleFilter($this->filter[
'global_role']);
 
  247                $query->setAdditionalFields($additional_fields);
 
  248                $query->setUserFolder($user_filter);
 
  251                $usr_data = 
$query->query();
 
  254                if (count($usr_data[
"set"]) == 0 && $this->
getOffset() > 0)
 
  258                        $usr_data = 
$query->query();
 
  261                foreach ($usr_data[
"set"] as $k => $user)
 
  263                        $current_time = time();
 
  266                                if ($user[
"time_limit_unlimited"])
 
  268                                        $txt_access = 
$lng->txt(
"access_unlimited");
 
  269                                        $usr_data[
"set"][$k][
"access_class"] = 
"smallgreen";
 
  271                                elseif ($user[
"time_limit_until"] < $current_time)
 
  273                                        $txt_access = 
$lng->txt(
"access_expired");
 
  274                                        $usr_data[
"set"][$k][
"access_class"] = 
"smallred";
 
  279                                        $usr_data[
"set"][$k][
"access_class"] = 
"small";
 
  284                                $txt_access = 
$lng->txt(
"inactive");
 
  285                                $usr_data[
"set"][$k][
"access_class"] = 
"smallred";
 
  287                        $usr_data[
"set"][$k][
"access_until"] = $txt_access;
 
  291                $this->
setData($usr_data[
"set"]);
 
  296                if($this->
getMode() == self::MODE_USER_FOLDER)
 
  299                        include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
  304                        if($this->filter[
'time_limit_owner'])
 
  306                                $user_filter = array($this->filter[
'time_limit_owner']);
 
  311                                include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
  316                include_once(
"./Services/User/classes/class.ilUserQuery.php");
 
  319                $query->setLimit(self::getAllCommandLimit());
 
  320                $query->setTextFilter($this->filter[
'query']);
 
  321                $query->setActionFilter($this->filter[
'activation']);
 
  322                $query->setLastLogin($this->filter[
'last_login']);
 
  323                $query->setLimitedAccessFilter($this->filter[
'limited_access']);
 
  324                $query->setNoCourseFilter($this->filter[
'no_courses']);
 
  325                $query->setNoGroupFilter($this->filter[
'no_groups']);
 
  326                $query->setCourseGroupFilter($this->filter[
'course_group']);
 
  327                $query->setRoleFilter($this->filter[
'global_role']);
 
  328                $query->setUserFolder($user_filter);
 
  337                $usr_data = 
$query->query();
 
  340                foreach($usr_data[
"set"] as $item)
 
  343                        if($item[
"usr_id"] != SYSTEM_USER_ID)
 
  345                                $user_ids[] = $item[
"usr_id"];
 
  361                if($this->
getMode() == self::MODE_LOCAL_USER)
 
  363                        include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
  366                        if(count($parent_ids) > 1)
 
  368                                include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
 
  373                                $opt[0] = $this->lng->txt(
'all_users');
 
  376                                foreach($parent_ids as $parent_id)
 
  393                                $co->setOptions($opt);
 
  395                                $co->readFromSession();
 
  396                                $this->filter[
'time_limit_owner'] = $co->getValue();
 
  401                include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
 
  403                        $lng->txt(
"name"), 
"query");
 
  404                $ul->setDataSource(
$ilCtrl->getLinkTarget($this->getParentObject(),
 
  405                        "addUserAutoComplete", 
"", 
true));
 
  407                $ul->setSubmitFormOnEnter(
true);
 
  409                $ul->readFromSession();
 
  410                $this->filter[
"query"] = $ul->getValue();
 
  424                include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
 
  426                        "" => 
$lng->txt(
"user_all"),
 
  427                        "active" => 
$lng->txt(
"active"),
 
  428                        "inactive" => 
$lng->txt(
"inactive"),
 
  433                $si->readFromSession();
 
  434                $this->filter[
"activation"] = 
$si->getValue();
 
  437                include_once(
"./Services/Form/classes/class.ilCheckboxInputGUI.php");
 
  438                $cb = 
new ilCheckboxInputGUI($this->lng->txt(
"user_limited_access"), 
"limited_access");
 
  440                $cb->readFromSession();
 
  441                $this->filter[
"limited_access"] = $cb->getChecked();
 
  444                include_once(
"./Services/Form/classes/class.ilDateTimeInputGUI.php");
 
  445                $di = 
new ilDateTimeInputGUI($this->lng->txt(
"user_last_login_before"), 
"last_login");
 
  448                $di->setDate($default_date);
 
  450                $di->readFromSession();
 
  451                $this->filter[
"last_login"] = $di->getDate();
 
  453                if($this->
getMode() == self::MODE_USER_FOLDER)
 
  456                        include_once(
"./Services/Form/classes/class.ilCheckboxInputGUI.php");
 
  459                        $cb->readFromSession();
 
  460                        $this->filter[
"no_courses"] = $cb->getChecked();
 
  463                        include_once(
"./Services/Form/classes/class.ilCheckboxInputGUI.php");
 
  466                        $ng->readFromSession();
 
  467                        $this->filter[
'no_groups'] = $ng->getChecked();
 
  470                        include_once(
"./Services/Form/classes/class.ilRepositorySelectorInputGUI.php");
 
  472                        $rs->setSelectText(
$lng->txt(
"user_select_course_group"));
 
  473                        $rs->setHeaderMessage(
$lng->txt(
"user_please_select_course_group"));
 
  474                        $rs->setClickableTypes(array(
"crs", 
"grp"));
 
  476                        $rs->readFromSession();
 
  477                        $this->filter[
"course_group"] = $rs->getValue();
 
  482                        "" => 
$lng->txt(
"user_any"),
 
  484                $roles = $rbacreview->getRolesByFilter(2, 
$ilUser->getId());
 
  485                foreach ($roles as $role)
 
  487                        $options[$role[
"rol_id"]] = $role[
"title"];
 
  492                $si->readFromSession();
 
  493                $this->filter[
"global_role"] = 
$si->getValue();
 
  503                $ilCtrl->setParameterByClass(
"ilobjusergui", 
"letter", 
$_GET[
"letter"]);
 
  507                        if ($c == 
"access_until")
 
  509                                $this->tpl->setCurrentBlock(
"access_until");
 
  510                                $this->tpl->setVariable(
"VAL_ACCESS_UNTIL", $user[
"access_until"]);
 
  511                                $this->tpl->setVariable(
"CLASS_ACCESS_UNTIL", $user[
"access_class"]);                                           
 
  513                        else if ($c == 
"last_login")
 
  515                                $this->tpl->setCurrentBlock(
"last_login");
 
  516                                $this->tpl->setVariable(
"VAL_LAST_LOGIN",
 
  519                        else if (in_array($c, array(
"firstname", 
"lastname")))
 
  521                                $this->tpl->setCurrentBlock($c);
 
  522                                $this->tpl->setVariable(
"VAL_".strtoupper($c), (
string) $user[$c]);
 
  526                                $this->tpl->setCurrentBlock(
"user_field");
 
  527                                $val = (trim($user[$c]) == 
"")
 
  540                                                        $val = 
$lng->txt(
"gender_".$user[$c]);
 
  551                                $this->tpl->setVariable(
"VAL_UF", $val);
 
  554                        $this->tpl->parseCurrentBlock();
 
  557                if ($user[
"usr_id"] != 6)
 
  561                                $this->tpl->setCurrentBlock(
"checkb");
 
  562                                $this->tpl->setVariable(
"ID", $user[
"usr_id"]);
 
  563                                $this->tpl->parseCurrentBlock();
 
  569                        $this->tpl->setVariable(
"VAL_LOGIN", $user[
"login"]);
 
  570                        $ilCtrl->setParameterByClass(
"ilobjusergui", 
"obj_id", $user[
"usr_id"]);
 
  571                        $this->tpl->setVariable(
"HREF_LOGIN",
 
  572                                $ilCtrl->getLinkTargetByClass(
"ilobjusergui", 
"view"));
 
  573                        $ilCtrl->setParameterByClass(
"ilobjusergui", 
"obj_id", 
"");
 
  577                        $this->tpl->setVariable(
'VAL_LOGIN_PLAIN',$user[
'login']);
 
  580                if($this->
getMode() == self::MODE_LOCAL_USER)
 
  582                        $this->tpl->setCurrentBlock(
'context');
 
  584                        $this->tpl->parseCurrentBlock();
 
  586                        $this->tpl->setCurrentBlock(
'roles');
 
  588                        $this->tpl->setVariable(
'ROLE_LINK',
$ilCtrl->getLinkTarget($this->getParentObject(),
'assignRoles'));
 
  589                        $this->tpl->setVariable(
'TXT_ROLES',$this->lng->txt(
'edit'));
 
  591                        $this->tpl->parseCurrentBlock();
 
const USER_FOLDER_ID
Class ilObjUserFolder.
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
getSelectedColumns()
Get selected columns.
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
setEnableHeader($a_enableheader)
Set Enable Header.
setExternalSorting($a_val)
Set external sorting.
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
getParentObject()
Get parent object.
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
setEnableAllCommand($a_value)
Enable actions for all entries in current result.
setData($a_data)
set table data @access public
setEnableTitle($a_enabletitle)
Set Enable Title.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
resetOffset($a_in_determination=false)
Reset offset.
addMultiCommand($a_cmd, $a_text)
Add Command button.
addFilterItem($a_input_item, $a_optional=false)
Add filter item.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
setExternalSegmentation($a_val)
Set external segmentation.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setFilterCommand($a_val, $a_caption=null)
Set filter command.
getOrderDirection()
Get order direction.
setMaxCount($a_max_count)
set max.
This class represents a text property in a property form.
TableGUI class for user administration.
__construct($a_parent_obj, $a_parent_cmd, $a_mode=self::MODE_USER_FOLDER, $a_load_items=true)
Constructor.
getSelectableColumns()
Get selectable columns.
getItems()
Get user items.
fillRow($user)
Fill table row.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
if(!is_array($argv)) $options