ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilObjOrgUnitAccess.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3require_once('./Services/Object/classes/class.ilObjectAccess.php');
4require_once('./Services/User/classes/class.ilUserAccountSettings.php');
13
26 public function _getCommands()
27 {
28 $commands = array();
29 $commands[] = array( 'permission' => 'read', 'cmd' => 'view', 'lang_var' => 'show', 'default' => true );
30// $commands[] = array('permission' => 'read', 'cmd' => 'render', 'lang_var' => 'show', 'default' => true);
31// $commands[] = array('permission' => 'write', 'cmd' => 'enableAdministrationPanel', 'lang_var' => 'edit_content');
32// $commands[] = array( 'permission' => 'write', 'cmd' => 'edit', 'lang_var' => 'settings' );
33
34 return $commands;
35 }
36
37
43 public static function _checkAccessStaff($ref_id) {
44 global $ilAccess;
45
46 if (($ilAccess->checkAccess("write", "", $ref_id)
47 OR $ilAccess->checkAccess("view_learning_progress", "", $ref_id))
48 AND $ilAccess->checkAccess("read", "", $ref_id)) {
49 return true;
50 }
51
52 return false;
53 }
54
60 public static function _checkAccessStaffRec($ref_id) {
61 global $ilAccess;
62
63 if (($ilAccess->checkAccess("write", "", $ref_id)
64 OR $ilAccess->checkAccess("view_learning_progress_rec", "", $ref_id))
65 AND $ilAccess->checkAccess("read", "", $ref_id)) {
66 return true;
67 }
68
69 return false;
70 }
71
77 public static function _checkAccessAdministrateUsers($ref_id) {
78 global $ilAccess;
79
80 if (ilUserAccountSettings::getInstance()->isLocalUserAdministrationEnabled() AND
81 $ilAccess->checkAccess('cat_administrate_users', "", $ref_id)) {
82 return true;
83 }
84
85 return false;
86 }
87
94 public static function _checkAccessToUserLearningProgress($ref_id,$usr_id) {
95 global $ilAccess;
96
97 //Permission to view the Learning Progress of an OrgUnit: Employees
98 if ($ilAccess->checkAccess("view_learning_progress", "", $ref_id)
99 AND in_array($usr_id, ilObjOrgUnitTree::_getInstance()->getEmployees($ref_id, false))) {
100 return true;
101 }
102 //Permission to view the Learning Progress of an OrgUnit: Superiors
103 if ($ilAccess->checkAccess("view_learning_progress", "", $ref_id)
104 AND in_array($usr_id, ilObjOrgUnitTree::_getInstance()->getSuperiors($ref_id, false))) {
105 return true;
106 }
107
108 //Permission to view the Learning Progress of an OrgUnit or SubOrgUnit!: Employees
109 if ($ilAccess->checkAccess("view_learning_progress_rec", "", $ref_id)
110 AND in_array($usr_id, ilObjOrgUnitTree::_getInstance()->getEmployees($ref_id, true))) {
111 return true;
112 }
113
114 //Permission to view the Learning Progress of an OrgUnit or SubOrgUnit!: Superiors
115 if ($ilAccess->checkAccess("view_learning_progress_rec", "", $ref_id)
116 AND in_array($usr_id, ilObjOrgUnitTree::_getInstance()->getSuperiors($ref_id, true))) {
117 return true;
118 }
119
120 return false;
121 }
122
123
127 function _checkGoto($a_target)
128 {
129 global $ilAccess;
130 $t_arr = explode('_', $a_target);
131 if ($t_arr[0] != 'orgu' || ((int)$t_arr[1]) <= 0) {
132 return false;
133 }
134 if ($ilAccess->checkAccess('read', '', $t_arr[1])) {
135 return true;
136 }
137
138 return false;
139 }
140}
141?>
Class ilObjOrgUnitAccess.
static _checkAccessStaffRec($ref_id)
_checkGoto($a_target)
check whether goto script will succeed
static _checkAccessToUserLearningProgress($ref_id, $usr_id)
static _checkAccessStaff($ref_id)
static _checkAccessAdministrateUsers($ref_id)
static _getInstance()
singleton access.
Class ilObjectAccess.
static getInstance()
Singelton get instance.
$ref_id
Definition: sahs_server.php:39