ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
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 
18 {
19 
32  function _getCommands()
33  {
34  $commands = array();
35  $commands[] = array("permission" => "read", "cmd" => "render", "lang_var" => "show", "default" => true);
36  $commands[] = array("permission" => "write", "cmd" => "render", "lang_var" => "edit_content");
37  $commands[] = array("permission" => "write", "cmd" => "edit", "lang_var" => "settings");
38 
39  return $commands;
40  }
41 
45  function _checkGoto($a_target)
46  {
47  global $ilAccess;
48 
49  $t_arr = explode("_", $a_target);
50 
51  if ($t_arr[0] != "book" || ((int) $t_arr[1]) <= 0)
52  {
53  return false;
54  }
55 
56  if ($ilAccess->checkAccess("read", "", $t_arr[1]))
57  {
58  return true;
59  }
60  return false;
61  }
62 
63  function _checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id = "")
64  {
65  global $ilUser, $rbacsystem;
66 
67  if ($a_user_id == "")
68  {
69  $a_user_id = $ilUser->getId();
70  }
71 
72  // add no access info item and return false if access is not granted
73  // $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $a_text, $a_data = "");
74  //
75  // for all RBAC checks use checkAccessOfUser instead the normal checkAccess-method:
76  // $rbacsystem->checkAccessOfUser($a_user_id, $a_permission, $a_ref_id)
77 
78  if($a_permission == "visible" && !$rbacsystem->checkAccessOfUser($a_user_id,'write',$a_ref_id))
79  {
80  include_once "Modules/BookingManager/classes/class.ilObjBookingPool.php";
81  $pool = new ilObjBookingPool($a_ref_id);
82  if($pool->isOffline())
83  {
84  return false;
85  }
86  }
87 
88  return true;
89  }
90 }
91 
92 ?>