3require_once(
'./Services/Repository/classes/class.ilObjectPlugin.php');
 
   50        $this->
object = $a_obj;
 
   55        $this->global_roles = 
$rbacreview->getGlobalRoles();
 
   56        $this->valid_roles = 
$rbacreview->getParentRoleIds($this->object->getRefId());
 
   70        switch ($next_class) {
 
   71            case 'ilrepositorysearchgui':
 
   72                include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
 
   90        $tpl = 
new ilTemplate(
"tpl.info_layout.html", 
false, 
false, 
"Services/AccessControl");
 
   95        $tpl->setVariable(
"INFO_REMARK_INTERRUPTED", $this->lng->txt(
'info_remark_interrupted'));
 
   97        $this->tpl->setVariable(
"ADM_CONTENT", 
$tpl->get());
 
  111        $ilToolbar->addText($this->lng->txt(
'user'));
 
  113        include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
 
  115        $login = 
new ilTextInputGUI($this->lng->txt(
"username"), 
"user_login");
 
  117            'ilRepositorySearchGUI'), 
'doUserAutoComplete', 
'', 
true));
 
  119        $login->setValue($this->
user->getLogin());
 
  121        $ilToolbar->addInputItem($login);
 
  123        $ilToolbar->addFormButton($this->lng->txt(
"info_change_user_view"), 
"perminfo");
 
  134        include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
  139        $info->addSection($this->lng->txt(
"info_access_and_status_info"));
 
  145        return $info->getHTML();
 
  154        include_once(
"./Services/AccessControl/classes/class.ilAccessPermissionsStatusTableGUI.php");
 
  159        $table->setTitle($this->lng->txt(
"info_access_permissions"));
 
  170        include_once(
"./Services/AccessControl/classes/class.ilAvailableRolesStatusTableGUI.php");
 
  175        $table->setTitle($this->lng->txt(
"info_available_roles"));
 
  186        include_once(
'./Services/AccessControl/classes/class.ilObjRole.php');
 
  189        foreach ($this->valid_roles as $role) {
 
  190            if (in_array($role[
'obj_id'], $this->user_roles)) {
 
  191                if ($role[
"obj_id"] == SYSTEM_ROLE_ID) {
 
  195                    foreach ($ops_list as $ops_data) {
 
  196                        $ops[] = (int) $ops_data[
'ops_id'];
 
  201                    $role[
'ops'] = $this->rbacreview->getRoleOperationsOnObject($role[
"obj_id"], $this->object->getRefId());
 
  204                include_once(
'./Services/AccessControl/classes/class.ilObjRole.php');
 
  222        global $objDefinition;
 
  224        $class = $objDefinition->getClassName(
$a_type);
 
  226        $full_class = 
"ilObj" . $class . 
"Access";
 
  227        include_once(
$location . 
"/class." . $full_class . 
".php");
 
  229        $cmds = call_user_func(array($full_class, 
"_getCommands"));
 
  231        array_push($cmds, array(
'permission' => 
'visible',
'cmd' => 
'info'));
 
  244        if (!isset(
$_POST[
'user_login'])) {
 
  247            include_once(
'Services/User/classes/class.ilObjUser.php');
 
  254            if (
$user === 
false or 
$user->getType() != 
'usr') {
 
  274        $result_set[0][] = $this->lng->txt(
"info_view_of_user");
 
  275        $result_set[0][] = $this->
user->getFullname() . 
" (#" . $this->
user->getId() . 
")";
 
  285        $result_set[1][] = $this->lng->txt(
"roles");
 
  286        $result_set[1][] = $roles_str;
 
  288        $result_set[2][] = $this->lng->txt(
"status");
 
  291        $ilAccess->checkAccessOfUser(
 
  292            $this->
user->getId(),
 
  295            $this->object->getRefId(),
 
  296            $this->object->getType(),
 
  297            $this->object->getId()
 
  300        $infos = array_merge($infos, $ilAccess->getInfo());
 
  302        $cmds = $this->
getCommands($this->object->getType());
 
  304        foreach ($cmds as $cmd) {
 
  306            $ilAccess->doStatusCheck($cmd[
'permission'], $cmd[
'cmd'], $this->object->getRefId(), $this->user->getId(), $this->object->getId(), $this->object->getType());
 
  307            $infos = array_merge($infos, $ilAccess->getInfo());
 
  310        $alert = 
"il_ItemAlertProperty";
 
  311        $okay = 
"il_ItemOkayProperty";
 
  315            $text = 
"<span class=\"" . $okay . 
"\">" . $this->lng->txt(
"access") . 
"</span><br/> ";
 
  317            foreach ($infos as 
$info) {
 
  318                switch (
$info[
'type']) {
 
  320                        $text .= 
"<span class=\"" . $okay . 
"\">" . 
$info[
'text'] . 
"</span><br/> ";
 
  326                        $text .= 
"<span class=\"" . $alert . 
"\">" . 
$info[
'text'] . 
" (" . $this->lng->txt(
"obj_" . $obj->getType()) . 
" #" . $obj->getId() . 
": " . $obj->getTitle() . 
")</span><br/> ";
 
  330                        $text .= 
"<span class=\"" . $alert . 
"\">" . 
$info[
'text'] . 
"</span><br/> ";
 
  337        $result_set[2][] = 
$text;
 
  348        global $ilAccess,$ilObjDataCache,$objDefinition;
 
  354        $result_set = array();
 
  357        foreach ($ops_list as $ops) {
 
  358            $access = $ilAccess->doRBACCheck($ops[
'operation'], 
"info", $this->object->getRefId(), $this->user->getId(), $this->object->getType());
 
  362            if (substr($ops[
'operation'], 0, 7) == 
"create_" &&
 
  363                $objDefinition->isPlugin(substr($ops[
'operation'], 7))) {
 
  365                    substr($ops[
'operation'], 7),
 
  366                    'rbac_' . $ops[
'operation']
 
  368            } elseif ($objDefinition->isPlugin($this->object->getType())) {
 
  370                    $this->object->getType(),
 
  371                    $this->object->getType() . 
"_" . $ops[
'operation']
 
  373            } elseif (substr($ops[
'operation'], 0, 7) == 
'create_') {
 
  374                $result_set[
$counter][
"operation"] = $this->lng->txt(
'rbac_' . $ops[
'operation']);
 
  376                $result_set[
$counter][
"operation"] = $this->lng->txt($this->object->getType() . 
"_" . $ops[
'operation']);
 
  382            if ($this->
user->getId() == $ilObjDataCache->lookupOwner($this->object->getId())) {
 
  384                    (substr($ops[
'operation'], 0, 7) != 
'create_') and
 
  385                    ($ops[
'operation'] != 
'edit_permission') and
 
  386                    ($ops[
'operation'] != 
'edit_leanring_progress')
 
  388                    $list_role[] = $this->lng->txt(
'info_owner_of_object');
 
  393                if (in_array($ops[
'ops_id'], $role[
'ops'])) {
 
  394                    $list_role[] = $role[
'translation'];
 
  398            if (empty($list_role)) {
 
  399                $list_role[] = $this->lng->txt(
'none');
 
  403            $result_set[
$counter][
"role_ownership"] = $list_role;
 
  419        include_once(
'./Services/AccessControl/classes/class.ilObjRole.php');
 
  421        $path = array_reverse($tree->getPathId($this->object->getRefId()));
 
  423        include_once(
'./Services/AccessControl/classes/class.ilObjRole.php');
 
  426        foreach ($this->valid_roles as $role) {
 
  429            if (is_subclass_of($this->
object, ilObjectPlugin::class) && $role[
"parent"] == $this->object->getRefId()) {
 
  437            if ($role[
'role_type'] != 
"linked") {
 
  438                $result_set[
$counter][
"effective_from"] = 
"";
 
  440                $rolfs = $this->rbacreview->getFoldersAssignedToRole($role[
"obj_id"]);
 
  443                foreach (
$path as $node) {
 
  449                    if (in_array($node, $rolfs)) {
 
  450                        $nodedata = $tree->getNodeData($node);
 
  451                        $result_set[
$counter][
"effective_from"] = $nodedata[
"title"];
 
  452                        $result_set[
$counter][
"effective_from_ref_id"] = $node;
 
  458            if (in_array($role[
'obj_id'], $this->global_roles)) {
 
  459                $result_set[
$counter][
"original_position"] = $this->lng->txt(
"global");
 
  460                $result_set[
$counter][
"original_position_ref_id"] = 
false;
 
  462                $rolf = $this->rbacreview->getFoldersAssignedToRole($role[
"obj_id"], 
true);
 
  463                $parent_node = $tree->getNodeData($rolf[0]);
 
  464                $result_set[
$counter][
"original_position"] = $parent_node[
"title"];
 
  465                $result_set[
$counter][
"original_position_ref_id"] = $parent_node[
"ref_id"];
 
An exception for terminatinating execution or to throw for unit testing.
const IL_NO_PARENT_ACCESS
Table for Acces Permissons in Permission > Permission of User.
Table for Available Roles in Permission > Permission of User.
This class provides processing control methods.
getLinkTargetByClass( $a_class, $a_cmd="", $a_anchor="", $a_asynch=false, $xml_style=true)
Get link target for command using gui class name.
getCmd($a_default_cmd="", $a_safe_commands="")
Determines current get/post command.
setReturn($a_gui_obj, $a_cmd)
Set return command.
getNextClass($a_gui_class=null)
Get next class in the control path from the current class to the target command class.
getFormAction( $a_gui_obj, $a_fallback_cmd="", $a_anchor="", $a_asynch=false, $xml_style=true)
Get form action url for gui class object.
forwardCommand($a_gui_object)
Forward flow of control to next gui class this invokes the executeCommand() method of the gui object ...
static _getTranslation($a_role_title)
static _removeObjectId($a_role_title)
static _lookupId($a_user_str)
Lookup id by login.
This class displays the permission status of a user concerning a specific object.
__construct(&$a_obj)
Constructor @access public.
getAccessStatusInfoData()
Access Status Info Data.
accessStatusInfo()
Access- and Statusinformation Info.
getAssignedValidRoles()
get Assigned Valid Roles
addToolbar()
Creates Toolbar entries.
accessPermissionsTable()
Access Permissions Table.
getAccessPermissionTableData()
Access Permissions Table Data.
availableRolesTable()
Available Roles Table.
executeCommand()
execute command
getAvailableRolesTableData()
Available Roles Table Data.
getCommands($a_type)
get Commands
static lookupTxtById($plugin_id, $lang_var)
static _getOperationList($a_type=null)
get operation list by object type @access public @access static
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(empty($password)) $table