ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilObjBookingPoolAccess.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2012 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 
6 include_once("./Services/Object/classes/class.ilObjectAccess.php");
7 require_once('./Services/WebAccessChecker/interfaces/interface.ilWACCheckingClass.php');
8 
19 {
20 
33  static function _getCommands()
34  {
35  $commands = array();
36  $commands[] = array("permission" => "read", "cmd" => "render", "lang_var" => "show", "default" => true);
37  $commands[] = array("permission" => "write", "cmd" => "render", "lang_var" => "edit_content");
38  $commands[] = array("permission" => "write", "cmd" => "edit", "lang_var" => "settings");
39 
40  return $commands;
41  }
42 
46  static function _checkGoto($a_target)
47  {
48  global $ilAccess;
49 
50  $t_arr = explode("_", $a_target);
51 
52  if ($t_arr[0] != "book" || ((int) $t_arr[1]) <= 0)
53  {
54  return false;
55  }
56 
57  if ($ilAccess->checkAccess("read", "", $t_arr[1]))
58  {
59  return true;
60  }
61  return false;
62  }
63 
64  function _checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id = "")
65  {
66  global $ilUser, $rbacsystem;
67 
68  if ($a_user_id == "")
69  {
70  $a_user_id = $ilUser->getId();
71  }
72 
73  // add no access info item and return false if access is not granted
74  // $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $a_text, $a_data = "");
75  //
76  // for all RBAC checks use checkAccessOfUser instead the normal checkAccess-method:
77  // $rbacsystem->checkAccessOfUser($a_user_id, $a_permission, $a_ref_id)
78 
79  //TODO refactor this: first check if the object is online and then the permissions.
80  #22653
81  if(($a_permission == "visible" || $a_permission == "read") && !$rbacsystem->checkAccessOfUser($a_user_id,'write',$a_ref_id))
82  {
83  include_once "Modules/BookingManager/classes/class.ilObjBookingPool.php";
84  $pool = new ilObjBookingPool($a_ref_id);
85  if($pool->isOffline())
86  {
87  return false;
88  }
89  }
90 
91  return true;
92  }
93 
99  public function canBeDelivered(ilWACPath $ilWACPath) {
100 
101  // we return always false, since the files in the file/ and post/ directoies
102  // are server by php (they could/should be moved to the data dir outside of the web doc root)
103  return false;
104  }
105 }
106 
107 ?>
static _checkGoto($a_target)
check whether goto script will succeed
canBeDelivered(ilWACPath $ilWACPath)
Class ilObjBookingPool.
Class ilWACPath.
$ilUser
Definition: imgupload.php:18
Class ilWACCheckingClass.
Create styles array
The data for the language used.
_checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id="")
Class ilObjectAccess.
Class ilObjBookingPoolAccess.