ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilUserTableGUI Class Reference

TableGUI class for user administration. More...

+ Inheritance diagram for ilUserTableGUI:
+ Collaboration diagram for ilUserTableGUI:

Public Member Functions

 __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.
 getUserIdsForFilter ()
 initFilter ()
 Init filter.
- Public Member Functions inherited from ilTable2GUI
 __construct ($a_parent_obj, $a_parent_cmd="", $a_template_context="")
 Constructor.
 setOpenFormTag ($a_val)
 Set open form tag.
 getOpenFormTag ()
 Get open form tag.
 setCloseFormTag ($a_val)
 Set close form tag.
 getCloseFormTag ()
 Get close form tag.
 determineLimit ()
 Determine the limit.
 determineSelectedColumns ()
 Determine selected columns.
 isColumnSelected ($a_col)
 Is given column selected?
 getSelectedColumns ()
 Get selected columns.
executeCommand ()
 Execute command.
 resetOffset ($a_in_determination=false)
 Reset offset.
 getParentObject ()
 Get parent object.
 getParentCmd ()
 Get parent command.
 setTopAnchor ($a_val)
 Set top anchor.
 getTopAnchor ()
 Get top anchor.
 setNoEntriesText ($a_text)
 Set text for an empty table.
 getNoEntriesText ()
 Get text for an empty table.
 setIsDataTable ($a_val)
 Set is data table.
 getIsDataTable ()
 Get is data table.
 setEnableTitle ($a_enabletitle)
 Set Enable Title.
 getEnableTitle ()
 Get Enable Title.
 setEnableHeader ($a_enableheader)
 Set Enable Header.
 getEnableHeader ()
 Get Enable Header.
 setEnableNumInfo ($a_val)
 Set enable num info.
 getEnableNumInfo ()
 Get enable num info.
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 Set title and title icon.
 setDescription ($a_val)
 Set description.
 getDescription ()
 Get description.
 setOrderField ($a_order_field)
 set order column
 getOrderField ()
 setData ($a_data)
 set table data public
 getData ()
 dataExists ()
 setPrefix ($a_prefix)
 set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort separately) public
 getPrefix ()
 addFilterItem ($a_input_item, $a_optional=false)
 Add filter item.
 addFilterItemByMetaType ($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=NULL)
 Add filter by standard type.
 getFilterItems ($a_optionals=false)
 Get filter items.
 getFilterItemByPostVar ($a_post_var)
 setFilterCols ($a_val)
 Set filter columns.
 getFilterCols ()
 Get filter columns.
 setDisableFilterHiding ($a_val=true)
 Set disable filter hiding.
 getDisableFilterHiding ()
 Get disable filter hiding.
 isFilterSelected ($a_col)
 Is given filter selected?
 getSelectedFilters ()
 Get selected filters.
 determineSelectedFilters ()
 Determine selected filters.
 setCustomPreviousNext ($a_prev_link, $a_next_link)
 Set custom previous/next links.
 setFormAction ($a_form_action, $a_multipart=false)
 Set Form action parameter.
 getFormAction ()
 Get Form action parameter.
 setFormName ($a_formname)
 Set Form name.
 getFormName ()
 Get Form name.
 setId ($a_val)
 Set id.
 getId ()
 Get element id.
 setDisplayAsBlock ($a_val)
 Set display as block.
 getDisplayAsBlock ()
 Get display as block.
 getSelectAllCheckbox ()
 Get the name of the checkbox that should be toggled with a select all button.
 setSelectAllCheckbox ($a_select_all_checkbox)
 Set the name of the checkbox that should be toggled with a select all button.
 setExternalSorting ($a_val)
 Set external sorting.
 getExternalSorting ()
 Get external sorting.
 setFilterCommand ($a_val, $a_caption=null)
 Set filter command.
 getFilterCommand ()
 Get filter command.
 setResetCommand ($a_val, $a_caption=null)
 Set reset filter command.
 getResetCommand ()
 Get reset filter command.
 setExternalSegmentation ($a_val)
 Set external segmentation.
 getExternalSegmentation ()
 Get external segmentation.
 setRowTemplate ($a_template, $a_template_dir="")
 Set row template.
 setDefaultOrderField ($a_defaultorderfield)
 Set Default order field.
 getDefaultOrderField ()
 Get Default order field.
 setDefaultOrderDirection ($a_defaultorderdirection)
 Set Default order direction.
 getDefaultOrderDirection ()
 Get Default order direction.
 clearCommandButtons ()
 addCommandButton ($a_cmd, $a_text, $a_onclick= '', $a_id="", $a_class=null)
 Add Command button.
 addCommandButtonInstance (ilButton $a_button)
 Add Command button instance.
 addSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button.
 addMultiItemSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button for selected items.
 setCloseCommand ($a_link)
 Add command for closing table.
 addMultiCommand ($a_cmd, $a_text)
 Add Command button.
 addHiddenInput ($a_name, $a_value)
 Add Hidden Input field.
 addHeaderCommand ($a_href, $a_text, $a_target="", $a_img="")
 Add Header Command (Link) (Image needed for now)
 setTopCommands ($a_val)
 Set top commands (display command buttons on top of table, too)
 getTopCommands ()
 Get top commands (display command buttons on top of table, too)
 addColumn ($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="")
 Add a column to the header.
 getNavParameter ()
 setOrderLink ($sort_field, $order_dir)
 fillHeader ()
 determineOffsetAndOrder ($a_omit_offset=false)
 Determine offset and order.
 storeNavParameter ()
 getHTML ()
 Get HTML.
 numericOrdering ($a_field)
 Should this field be sorted numeric?
 render ()
 render table public
 writeFilterToSession ()
 Write filter values to session.
 resetFilter ()
 Reset filter.
 fillFooter ()
 Fill footer row.
 getLinkbar ($a_num)
 Get previous/next linkbar.
 fillHiddenRow ()
 fillActionRow ()
 Fill Action Row.
 setHeaderHTML ($html)
 set header html
 storeProperty ($type, $value)
 Store table property.
 loadProperty ($type)
 Load table property.
 getCurrentState ()
 get current settings for order, limit, columns and filter
 setContext ($id)
 Set context.
 getContext ()
 Get context.
 setShowRowsSelector ($a_value)
 Toggle rows-per-page selector.
 getShowRowsSelector ()
 Get rows-per-page selector state.
 setShowTemplates ($a_value)
 Toggle templates.
 getShowTemplates ()
 Get template state.
 restoreTemplate ($a_name)
 Restore state from template.
 saveTemplate ($a_name)
 Save current state as template.
 deleteTemplate ($a_name)
 Delete template.
 getLimit ()
 Get limit.
 getOffset ()
 Get offset.
 setExportFormats (array $formats)
 Set available export formats.
 setPrintMode ($a_value=false)
 Toogle print mode.
 getPrintMode ()
 Get print mode.
 getExportMode ()
 Was export activated?
 exportData ($format, $send=false)
 Export and optionally send current table data.
 setEnableAllCommand ($a_value)
 Enable actions for all entries in current result.
 setRowSelectorLabel ($row_selector_label)
 getRowSelectorLabel ()
 setPreventDoubleSubmission ($a_val)
 Set prevent double submission.
 getPreventDoubleSubmission ()
 Get prevent double submission.
- Public Member Functions inherited from ilTableGUI
 ilTableGUI ($a_data=0, $a_global_tpl=true)
 Constructor.
 setTemplate (&$a_tpl)
 set template public
getTemplateObject ()
 setHelp ($a_help_page, $a_help_icon, $a_help_icon_alt=0)
 set table help page public
 setHeaderNames ($a_header_names)
 set table header names public
 getColumnCount ()
 Returns the column count based on the number of the header row columns public.
 setHeaderVars ($a_header_vars, $a_header_params=0)
 set table header vars public
 setColumnWidth ($a_column_width)
 set table column widths public
 setOneColumnWidth ($a_column_width, $a_column_number)
 set one table column width public
 setMaxCount ($a_max_count)
 set max.
 setLimit ($a_limit=0, $a_default_limit=0)
 set max.
 setOffset ($a_offset)
 set dataset offset public
 setOrderColumn ($a_order_column=0, $a_default_column=0)
 set order column public
 getOrderColumn ()
 Get order column.
 setOrderDirection ($a_order_direction)
 set order direction public
 getOrderDirection ()
 Get order direction.
 setFooter ($a_style, $a_previous=0, $a_next=0)
 set order direction public
 enable ($a_module_name)
 enables particular modules of table
 disable ($a_module_name)
 diesables particular modules of table
 sortData ()
 renderHeader ()
 setStyle ($a_element, $a_style)
 getStyle ($a_element)
 setBase ($a_base)
 Set Base script name (deprecated, only use this for workarounds).
 getBase ()
 Get Base script name (deprecated, only use this for workarounds).
 clearActionButtons ()
 addActionButton ($btn_name, $btn_value)

Data Fields

const MODE_USER_FOLDER = 1
const MODE_LOCAL_USER = 2
- Data Fields inherited from ilTable2GUI
const FILTER_TEXT = 1
const FILTER_SELECT = 2
const FILTER_DATE = 3
const FILTER_LANGUAGE = 4
const FILTER_NUMBER_RANGE = 5
const FILTER_DATE_RANGE = 6
const FILTER_DURATION_RANGE = 7
const FILTER_DATETIME_RANGE = 8
const EXPORT_EXCEL = 1
const EXPORT_CSV = 2
const ACTION_ALL_LIMIT = 1000
- Data Fields inherited from ilTableGUI
 $title
 $icon
 $icon_alt
 $help_page
 $help_icon
 $help_icon_alt
 $header_names
 $header_vars
 $linkbar_vars
 $data
 $column_count
 $column_width
 $max_count
 $limit
 $max_limit = false
 $offset
 $order_column
 $order_direction
 $footer_style
 $footer_previous
 $footer_next
 $lang_support = true
 $global_tpl
 $form_name
 $select_all_checkbox
 $action_buttons
 $prefix
 $base = ""
 $enabled
 $styles

Protected Member Functions

 setMode ($a_mode)
 getMode ()
 getUserFolderId ()
 fillRow ($user)
 Fill table row.
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated.
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value.
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value.
 fillMetaExcel ($worksheet, &$a_row)
 Add meta information to excel export.
 fillHeaderExcel ($worksheet, &$a_row)
 Excel Version of Fill Header.
 fillRowExcel ($a_worksheet, &$a_row, $a_set)
 Excel Version of Fill Row.
 fillMetaCSV ($a_csv)
 Add meta information to csv export.
 fillHeaderCSV ($a_csv)
 CSV Version of Fill Header.
 fillRowCSV ($a_csv, $a_set)
 CSV Version of Fill Row.

Private Attributes

 $mode = null
 $user_folder_id = 0

Additional Inherited Members

- Static Public Member Functions inherited from ilTable2GUI
static getAllCommandLimit ()
 Get maximum number of entries to enable actions for all.
- Protected Attributes inherited from ilTable2GUI
 $close_command = ""
 $top_anchor = "il_table_top"
 $filters = array()
 $optional_filters = array()
 $filter_cmd = 'applyFilter'
 $reset_cmd = 'resetFilter'
 $filter_cols = 5
 $ext_sort = false
 $ext_seg = false
 $context = ""
 $mi_sel_buttons = null
 $disable_filter_hiding = false
 $selected_filter = false
 $top_commands = true
 $selectable_columns = array()
 $selected_column = array()
 $show_templates = false
 $show_rows_selector = true
 $nav_determined = false
 $limit_determined = false
 $filters_determined = false
 $columns_determined = false
 $open_form_tag = true
 $close_form_tag = true
 $export_formats
 $export_mode
 $print_mode
 $enable_command_for_all
 $restore_filter
 $restore_filter_values
 $sortable_fields = array()
 $prevent_double_submission = true
 $row_selector_label

Detailed Description

TableGUI class for user administration.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

ilUserTableGUI: ilFormPropertyDispatchGUI

Definition at line 15 of file class.ilUserTableGUI.php.

Constructor & Destructor Documentation

ilUserTableGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
  $a_mode = self::MODE_USER_FOLDER,
  $a_load_items = true 
)

Constructor.

Definition at line 26 of file class.ilUserTableGUI.php.

References $cmd, $ilCtrl, $lng, ilTable2GUI\addColumn(), ilTable2GUI\addMultiCommand(), getItems(), getMode(), ilTable2GUI\getSelectedColumns(), getUserFolderId(), initFilter(), MODE_LOCAL_USER, ilTable2GUI\setDefaultOrderDirection(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setEnableAllCommand(), ilTable2GUI\setEnableHeader(), ilTable2GUI\setEnableTitle(), ilTable2GUI\setExternalSegmentation(), ilTable2GUI\setExternalSorting(), ilTable2GUI\setFilterCommand(), ilTable2GUI\setFormAction(), ilTable2GUI\setId(), setMode(), ilTable2GUI\setRowTemplate(), ilTable2GUI\setSelectAllCheckbox(), ilTable2GUI\setShowRowsSelector(), and ilTable2GUI\setTopCommands().

{
global $ilCtrl, $lng, $ilAccess, $lng, $rbacsystem;
$this->user_folder_id = $a_parent_obj->object->getRefId();
$this->setMode($a_mode);
$this->setId("user".$this->getUserFolderId());
parent::__construct($a_parent_obj, $a_parent_cmd);
// $this->setTitle($this->lng->txt("users"));
$this->addColumn("", "", "1", true);
$this->addColumn($this->lng->txt("login"), "login");
foreach ($this->getSelectedColumns() as $c)
{
$this->addColumn($this->lng->txt($c), $c);
}
{
$this->addColumn($this->lng->txt('context'),'time_limit_owner');
$this->addColumn($this->lng->txt('role_assignment'));
}
$this->setShowRowsSelector(true);
$this->setExternalSorting(true);
$this->setEnableHeader(true);
$this->setFormAction($ilCtrl->getFormAction($this->parent_obj, "applyFilter"));
$this->setRowTemplate("tpl.user_list_row.html", "Services/User");
//$this->disable("footer");
$this->setEnableTitle(true);
$this->initFilter();
$this->setFilterCommand("applyFilter");
$this->setDefaultOrderField("login");
$this->setDefaultOrderDirection("asc");
$this->setSelectAllCheckbox("id[]");
$this->setTopCommands(true);
if($this->getMode() == self::MODE_USER_FOLDER)
{
$this->setEnableAllCommand(true);
$cmds = $a_parent_obj->getUserMultiCommands();
foreach($cmds as $cmd => $caption)
{
$this->addMultiCommand($cmd, $caption);
}
}
else
{
$this->addMultiCommand("deleteUsers", $lng->txt("delete"));
}
if($a_load_items)
{
$this->getItems();
}
}

+ Here is the call graph for this function:

Member Function Documentation

ilUserTableGUI::fillRow (   $user)
protected

Fill table row.

Reimplemented from ilTable2GUI.

Definition at line 495 of file class.ilUserTableGUI.php.

References $_GET, $ilCtrl, $lng, ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilDatePresentation\formatDate(), getMode(), ilTable2GUI\getParentObject(), ilTable2GUI\getSelectedColumns(), getUserFolderId(), IL_CAL_DATE, and IL_CAL_DATETIME.

{
global $ilCtrl, $lng;
$ilCtrl->setParameterByClass("ilobjusergui", "letter", $_GET["letter"]);
foreach ($this->getSelectedColumns() as $c)
{
if ($c == "access_until")
{
$this->tpl->setCurrentBlock("access_until");
$this->tpl->setVariable("VAL_ACCESS_UNTIL", $user["access_until"]);
$this->tpl->setVariable("CLASS_ACCESS_UNTIL", $user["access_class"]);
}
else if ($c == "last_login")
{
$this->tpl->setCurrentBlock("last_login");
$this->tpl->setVariable("VAL_LAST_LOGIN",
}
else if (in_array($c, array("firstname", "lastname")))
{
$this->tpl->setCurrentBlock($c);
$this->tpl->setVariable("VAL_".strtoupper($c), (string) $user[$c]);
}
else // all other fields
{
$this->tpl->setCurrentBlock("user_field");
$val = (trim($user[$c]) == "")
? " "
: $user[$c];
if ($user[$c] != "")
{
switch ($c)
{
case "birthday":
break;
case "gender":
$val = $lng->txt("gender_".$user[$c]);
break;
case "create_date":
case "agree_date":
case "approve_date":
// $val = ilDatePresentation::formatDate(new ilDateTime($val,IL_CAL_DATETIME));
break;
}
}
$this->tpl->setVariable("VAL_UF", $val);
}
$this->tpl->parseCurrentBlock();
}
if ($user["usr_id"] != 6)
{
if($this->getMode() == self::MODE_USER_FOLDER or $user['time_limit_owner'] == $this->getUserFolderId())
{
$this->tpl->setCurrentBlock("checkb");
$this->tpl->setVariable("ID", $user["usr_id"]);
$this->tpl->parseCurrentBlock();
}
}
if($this->getMode() == self::MODE_USER_FOLDER or $user['time_limit_owner'] == $this->getUserFolderId())
{
$this->tpl->setVariable("VAL_LOGIN", $user["login"]);
$ilCtrl->setParameterByClass("ilobjusergui", "obj_id", $user["usr_id"]);
$this->tpl->setVariable("HREF_LOGIN",
$ilCtrl->getLinkTargetByClass("ilobjusergui", "view"));
$ilCtrl->setParameterByClass("ilobjusergui", "obj_id", "");
}
else
{
$this->tpl->setVariable('VAL_LOGIN_PLAIN',$user['login']);
}
if($this->getMode() == self::MODE_LOCAL_USER)
{
$this->tpl->setCurrentBlock('context');
$this->tpl->setVariable('VAL_CONTEXT',(string)ilObject::_lookupTitle(ilObject::_lookupObjId($user['time_limit_owner'])));
$this->tpl->parseCurrentBlock();
$this->tpl->setCurrentBlock('roles');
$ilCtrl->setParameter($this->getParentObject(),'obj_id',$user['usr_id']);
$this->tpl->setVariable('ROLE_LINK',$ilCtrl->getLinkTarget($this->getParentObject(),'assignRoles'));
$this->tpl->setVariable('TXT_ROLES',$this->lng->txt('edit'));
$ilCtrl->clearParameters($this->getParentObject());
$this->tpl->parseCurrentBlock();
}
}

+ Here is the call graph for this function:

ilUserTableGUI::getItems ( )

Get user items.

Definition at line 186 of file class.ilUserTableGUI.php.

References $_GET, $lng, $query, ilLocalUser\_getFolderIds(), ilTable2GUI\determineOffsetAndOrder(), ilDatePresentation\formatDate(), ilTable2GUI\getLimit(), getMode(), ilTable2GUI\getOffset(), ilTableGUI\getOrderDirection(), ilTable2GUI\getOrderField(), ilTable2GUI\getSelectedColumns(), IL_CAL_UNIX, ilTable2GUI\resetOffset(), ilTable2GUI\setData(), ilTableGUI\setMaxCount(), and ilUtil\stripSlashes().

Referenced by __construct().

{
global $lng;
//if ($GLOBALS["kk"]++ == 1) nj();
if($this->getMode() == self::MODE_USER_FOLDER)
{
// All accessible users
include_once './Services/User/classes/class.ilLocalUser.php';
$user_filter = ilLocalUser::_getFolderIds();
}
else
{
if($this->filter['time_limit_owner'])
{
$user_filter = array($this->filter['time_limit_owner']);
}
else
{
// All accessible users
include_once './Services/User/classes/class.ilLocalUser.php';
$user_filter = ilLocalUser::_getFolderIds();
}
}
//#13221 don't show all users if user filter is empty!
if(!count($user_filter))
{
$this->setMaxCount(0);
$this->setData(array());
return;
}
include_once("./Services/User/classes/class.ilUserQuery.php");
$additional_fields = $this->getSelectedColumns();
unset($additional_fields["firstname"]);
unset($additional_fields["lastname"]);
unset($additional_fields["email"]);
unset($additional_fields["last_login"]);
unset($additional_fields["access_until"]);
$query->setOrderField($this->getOrderField());
$query->setOrderDirection($this->getOrderDirection());
$query->setOffset($this->getOffset());
$query->setLimit($this->getLimit());
$query->setTextFilter($this->filter['query']);
$query->setActionFilter($this->filter['activation']);
$query->setLastLogin($this->filter['last_login']);
$query->setLimitedAccessFilter($this->filter['limited_access']);
$query->setNoCourseFilter($this->filter['no_courses']);
$query->setNoGroupFilter($this->filter['no_groups']);
$query->setCourseGroupFilter($this->filter['course_group']);
$query->setRoleFilter($this->filter['global_role']);
$query->setAdditionalFields($additional_fields);
$query->setUserFolder($user_filter);
$query->setFirstLetterLastname(ilUtil::stripSlashes($_GET['letter']));
$usr_data = $query->query();
if (count($usr_data["set"]) == 0 && $this->getOffset() > 0)
{
$this->resetOffset();
$query->setOffset($this->getOffset());
$usr_data = $query->query();
}
foreach ($usr_data["set"] as $k => $user)
{
$current_time = time();
if ($user['active'])
{
if ($user["time_limit_unlimited"])
{
$txt_access = $lng->txt("access_unlimited");
$usr_data["set"][$k]["access_class"] = "smallgreen";
}
elseif ($user["time_limit_until"] < $current_time)
{
$txt_access = $lng->txt("access_expired");
$usr_data["set"][$k]["access_class"] = "smallred";
}
else
{
$txt_access = ilDatePresentation::formatDate(new ilDateTime($user["time_limit_until"],IL_CAL_UNIX));
$usr_data["set"][$k]["access_class"] = "small";
}
}
else
{
$txt_access = $lng->txt("inactive");
$usr_data["set"][$k]["access_class"] = "smallred";
}
$usr_data["set"][$k]["access_until"] = $txt_access;
}
$this->setMaxCount($usr_data["cnt"]);
$this->setData($usr_data["set"]);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilUserTableGUI::getMode ( )
protected

Definition at line 95 of file class.ilUserTableGUI.php.

References $mode.

Referenced by __construct(), fillRow(), getItems(), getSelectableColumns(), getUserIdsForFilter(), and initFilter().

{
return $this->mode;
}

+ Here is the caller graph for this function:

ilUserTableGUI::getSelectableColumns ( )

Get selectable columns.

Parameters
@return

Reimplemented from ilTable2GUI.

Definition at line 113 of file class.ilUserTableGUI.php.

References $lng, getMode(), and MODE_USER_FOLDER.

{
global $lng;
include_once("./Services/User/classes/class.ilUserProfile.php");
$up = new ilUserProfile();
$up->skipGroup("preferences");
$up->skipGroup("interests");
$up->skipGroup("settings");
// default fields
$cols = array();
// first and last name cannot be hidden
$cols["firstname"] = array(
"txt" => $lng->txt("firstname"),
"default" => true);
$cols["lastname"] = array(
"txt" => $lng->txt("lastname"),
"default" => true);
{
$ufs = $up->getStandardFields();
$cols["access_until"] = array(
"txt" => $lng->txt("access_until"),
"default" => true);
$cols["last_login"] = array(
"txt" => $lng->txt("last_login"),
"default" => true);
// #13967
$cols["create_date"] = array(
"txt" => $lng->txt("create_date"));
$cols["approve_date"] = array(
"txt" => $lng->txt("approve_date"));
$cols["agree_date"] = array(
"txt" => $lng->txt("agree_date"));
}
else
{
$ufs = $up->getLocalUserAdministrationFields();
}
// email should be the 1st "optional" field (can be hidden)
if(isset($ufs["email"]))
{
$cols["email"] = array(
"txt" => $lng->txt("email"),
"default" => true);
}
// other user profile fields
foreach ($ufs as $f => $fd)
{
if (!isset($cols[$f]) && !$fd["lists_hide"])
{
$cols[$f] = array(
"txt" => $lng->txt($f),
"default" => false);
}
}
// fields that are always shown
unset($cols["username"]);
return $cols;
}

+ Here is the call graph for this function:

ilUserTableGUI::getUserFolderId ( )
protected

Definition at line 100 of file class.ilUserTableGUI.php.

References $user_folder_id.

Referenced by __construct(), fillRow(), and initFilter().

{
}

+ Here is the caller graph for this function:

ilUserTableGUI::getUserIdsForFilter ( )

Definition at line 290 of file class.ilUserTableGUI.php.

References $_GET, $query, ilLocalUser\_getFolderIds(), getMode(), ilTableGUI\getOrderDirection(), ilTable2GUI\getOrderField(), and ilUtil\stripSlashes().

{
if($this->getMode() == self::MODE_USER_FOLDER)
{
// All accessible users
include_once './Services/User/classes/class.ilLocalUser.php';
$user_filter = ilLocalUser::_getFolderIds();
}
else
{
if($this->filter['time_limit_owner'])
{
$user_filter = array($this->filter['time_limit_owner']);
}
else
{
// All accessible users
include_once './Services/User/classes/class.ilLocalUser.php';
$user_filter = ilLocalUser::_getFolderIds();
}
}
include_once("./Services/User/classes/class.ilUserQuery.php");
$query = new ilUserQuery();
$query->setOffset(0);
$query->setLimit(self::getAllCommandLimit());
$query->setTextFilter($this->filter['query']);
$query->setActionFilter($this->filter['activation']);
$query->setLastLogin($this->filter['last_login']);
$query->setLimitedAccessFilter($this->filter['limited_access']);
$query->setNoCourseFilter($this->filter['no_courses']);
$query->setNoGroupFilter($this->filter['no_groups']);
$query->setCourseGroupFilter($this->filter['course_group']);
$query->setRoleFilter($this->filter['global_role']);
$query->setUserFolder($user_filter);
$query->setFirstLetterLastname(ilUtil::stripSlashes($_GET['letter']));
if($this->getOrderField())
{
$query->setOrderField(ilUtil::stripSlashes($this->getOrderField()));
$query->setOrderDirection(ilUtil::stripSlashes($this->getOrderDirection()));
}
$usr_data = $query->query();
$user_ids = array();
foreach($usr_data["set"] as $item)
{
// #11632
if($item["usr_id"] != SYSTEM_USER_ID)
{
$user_ids[] = $item["usr_id"];
}
}
return $user_ids;
}

+ Here is the call graph for this function:

ilUserTableGUI::initFilter ( )

Init filter.

Reimplemented from ilTable2GUI.

Definition at line 351 of file class.ilUserTableGUI.php.

References $ilCtrl, $ilUser, $lng, $options, $ref_id, $si, ilLocalUser\_getFolderIds(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilTable2GUI\addFilterItem(), getMode(), getUserFolderId(), IL_CAL_DAY, IL_CAL_UNIX, ilTextInputGUI\setDataSource(), ilDateTimeInputGUI\setDate(), ilSelectInputGUI\setOptions(), ilRepositorySelectorInputGUI\setSelectText(), and USER_FOLDER_ID.

Referenced by __construct().

{
global $lng, $rbacreview, $ilUser, $ilCtrl;
// Show context filter
if($this->getMode() == self::MODE_LOCAL_USER)
{
include_once './Services/User/classes/class.ilLocalUser.php';
$parent_ids = ilLocalUser::_getFolderIds();
if(count($parent_ids) > 1)
{
include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
$co = new ilSelectInputGUI($lng->txt('context'),'time_limit_owner');
$opt[0] = $this->lng->txt('all_users');
$opt[$this->getUserFolderId()] = $lng->txt('users').' ('.ilObject::_lookupTitle(ilObject::_lookupObjId($this->getUserFolderId())).')';
foreach($parent_ids as $parent_id)
{
if($parent_id == $this->getUserFolderId())
{
continue;
}
switch($parent_id)
{
$opt[USER_FOLDER_ID] = $lng->txt('global_user');
break;
default:
$opt[$parent_id] = $lng->txt('users').' ('.ilObject::_lookupTitle(ilObject::_lookupObjId($parent_id)).')';
break;
}
}
$co->setOptions($opt);
$this->addFilterItem($co);
$co->readFromSession();
$this->filter['time_limit_owner'] = $co->getValue();
}
}
// User name, login, email filter
include_once("./Services/Form/classes/class.ilTextInputGUI.php");
$ul = new ilTextInputGUI($lng->txt("login")."/".$lng->txt("email")."/".
$lng->txt("name"), "query");
$ul->setDataSource($ilCtrl->getLinkTarget($this->getParentObject(),
"addUserAutoComplete", "", true));
$ul->setSize(20);
$ul->setSubmitFormOnEnter(true);
$this->addFilterItem($ul);
$ul->readFromSession();
$this->filter["query"] = $ul->getValue();
/*
include_once("./Services/Form/classes/class.ilTextInputGUI.php");
$ti = new ilTextInputGUI($lng->txt("login")."/".$lng->txt("email")."/".$lng->txt("name"), "query");
$ti->setMaxLength(64);
$ti->setSize(20);
$ti->setSubmitFormOnEnter(true);
$this->addFilterItem($ti);
$ti->readFromSession();
$this->filter["query"] = $ti->getValue();
*/
// activation
include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
$options = array(
"" => $lng->txt("user_all"),
"active" => $lng->txt("active"),
"inactive" => $lng->txt("inactive"),
);
$si = new ilSelectInputGUI($this->lng->txt("user_activation"), "activation");
$this->addFilterItem($si);
$si->readFromSession();
$this->filter["activation"] = $si->getValue();
// limited access
include_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
$cb = new ilCheckboxInputGUI($this->lng->txt("user_limited_access"), "limited_access");
$this->addFilterItem($cb);
$cb->readFromSession();
$this->filter["limited_access"] = $cb->getChecked();
// last login
include_once("./Services/Form/classes/class.ilDateTimeInputGUI.php");
$di = new ilDateTimeInputGUI($this->lng->txt("user_last_login_before"), "last_login");
$default_date = new ilDateTime(time(),IL_CAL_UNIX);
$default_date->increment(IL_CAL_DAY, 1);
$di->setDate($default_date);
$this->addFilterItem($di);
$di->readFromSession();
$this->filter["last_login"] = $di->getDate();
if($this->getMode() == self::MODE_USER_FOLDER)
{
// no assigned courses
include_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
$cb = new ilCheckboxInputGUI($this->lng->txt("user_no_courses"), "no_courses");
$this->addFilterItem($cb);
$cb->readFromSession();
$this->filter["no_courses"] = $cb->getChecked();
// no assigned groups
include_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
$ng = new ilCheckboxInputGUI($this->lng->txt("user_no_groups"), "no_groups");
$this->addFilterItem($ng);
$ng->readFromSession();
$this->filter['no_groups'] = $ng->getChecked();
// course/group members
include_once("./Services/Form/classes/class.ilRepositorySelectorInputGUI.php");
$rs = new ilRepositorySelectorInputGUI($lng->txt("user_member_of_course_group"), "course_group");
$rs->setSelectText($lng->txt("user_select_course_group"));
$rs->setHeaderMessage($lng->txt("user_please_select_course_group"));
$rs->setClickableTypes(array("crs", "grp"));
$this->addFilterItem($rs);
$rs->readFromSession();
$this->filter["course_group"] = $rs->getValue();
}
// global roles
$options = array(
"" => $lng->txt("user_any"),
);
$roles = $rbacreview->getRolesByFilter(2, $ilUser->getId());
foreach ($roles as $role)
{
$options[$role["rol_id"]] = $role["title"];
}
$si = new ilSelectInputGUI($this->lng->txt("user_global_role"), "global_role");
$this->addFilterItem($si);
$si->readFromSession();
$this->filter["global_role"] = $si->getValue();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilUserTableGUI::setMode (   $a_mode)
protected

Definition at line 90 of file class.ilUserTableGUI.php.

Referenced by __construct().

{
$this->mode = $a_mode;
}

+ Here is the caller graph for this function:

Field Documentation

ilUserTableGUI::$mode = null
private

Definition at line 20 of file class.ilUserTableGUI.php.

Referenced by getMode().

ilUserTableGUI::$user_folder_id = 0
private

Definition at line 21 of file class.ilUserTableGUI.php.

Referenced by getUserFolderId().

const ilUserTableGUI::MODE_USER_FOLDER = 1

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