ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
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 */
3 require_once('./Services/Object/classes/class.ilObjectAccess.php');
4 require_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 ?>