ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilRoleAutoComplete Class Reference

Auto completion class for user lists. More...

+ Collaboration diagram for ilRoleAutoComplete:

Static Public Member Functions

static getList ($a_str)
 Get completion list. More...
 
static getListByObject ($a_str)
 Get list of roles assigned to an object. More...
 

Detailed Description

Auto completion class for user lists.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

Definition at line 8 of file class.ilRoleAutoComplete.php.

Member Function Documentation

◆ getList()

static ilRoleAutoComplete::getList (   $a_str)
static

Get completion list.

Definition at line 13 of file class.ilRoleAutoComplete.php.

14 {
15 global $ilDB;
16
17 $ilDB->setLimit(20);
18 $query = "SELECT o1.title role,o2.title container FROM object_data o1 " .
19 "JOIN rbac_fa fa ON o1.obj_id = rol_id " .
20 "JOIN tree t1 ON fa.parent = t1.child " .
21 "JOIN object_reference obr ON ref_id = t1.parent " .
22 "JOIN object_data o2 ON obr.obj_id = o2.obj_id " .
23 "WHERE o1.type = 'role' " .
24 "AND assign = 'y' " .
25 "AND " . $ilDB->like('o1.title', 'text', '%' . $a_str . '%') . " " .
26 "AND fa.parent != 8 " .
27 "ORDER BY role,container";
28
29 $res = $ilDB->query($query);
30 $counter = 0;
31 $result = array();
32 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
33 $result[$counter] = new stdClass();
34 $result[$counter]->value = $row->role;
35 $result[$counter]->label = $row->role . " (" . $row->container . ")";
36 ++$counter;
37 }
38
39 if ($counter == 0) {
40 return self::getListByObject($a_str);
41 }
42
43 include_once './Services/JSON/classes/class.ilJsonUtil.php';
45 }
$result
static encode($mixed, $suppress_native=false)
static getListByObject($a_str)
Get list of roles assigned to an object.
$counter
$query
foreach($_POST as $key=> $value) $res
global $ilDB

References $counter, $ilDB, $query, $res, $result, $row, ilJsonUtil\encode(), ilDBConstants\FETCHMODE_OBJECT, and getListByObject().

Referenced by ilRoleAutoCompleteInputGUI\echoAutoCompleteList(), and ilRegistrationSettingsGUI\getLocalRoleAutoComplete().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getListByObject()

static ilRoleAutoComplete::getListByObject (   $a_str)
static

Get list of roles assigned to an object.

Returns
Parameters
object$result

Definition at line 52 of file class.ilRoleAutoComplete.php.

53 {
54 global $rbacreview,$ilDB;
55
56 include_once './Services/JSON/classes/class.ilJsonUtil.php';
57 $result = array();
58
59 if (strpos($a_str, '@') !== 0) {
61 }
62
63 $a_str = substr($a_str, 1);
64
65 $ilDB->setLimit(100);
66 $query = "SELECT ref_id, title FROM object_data ode " .
67 "JOIN object_reference ore ON ode.obj_id = ore.obj_id " .
68 "WHERE " . $ilDB->like('title', 'text', $a_str . '%') . ' ' .
69 'ORDER BY title';
70 $res = $ilDB->query($query);
71 $counter = 0;
72 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
73 foreach ($rbacreview->getRolesOfRoleFolder($row->ref_id, false) as $rol_id) {
74 $role = ilObject::_lookupTitle($rol_id);
75
76 $result[$counter] = new stdClass();
77 $result[$counter]->value = $role;
78 $result[$counter]->label = $role . " (" . $row->title . ")";
79 ++$counter;
80 }
81 }
83 }
static _lookupTitle($a_id)
lookup object title

References $counter, $ilDB, $query, $res, $result, $row, ilObject\_lookupTitle(), ilJsonUtil\encode(), and ilDBConstants\FETCHMODE_OBJECT.

Referenced by getList().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

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