ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilObjQuestionPoolAccess.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once "./Services/Object/classes/class.ilObjectAccess.php";
5 include_once "./Modules/Test/classes/inc.AssessmentConstants.php";
6 
17 {
30  public static function _getCommands()
31  {
32  $commands = array(
33  array("permission" => "write", "cmd" => "questions", "lang_var" => "tst_edit_questions"),
34  array("permission" => "write", "cmd" => "ilObjQuestionPoolSettingsGeneralGUI::showForm", "lang_var" => "settings"),
35  #array("permission" => "write", "cmd" => "questions", "lang_var" => "edit",
36  # "default" => false),
37  array("permission" => "read", "cmd" => "questions", "lang_var" => "edit",
38  "default" => true)
39  );
40 
41  return $commands;
42  }
43 
52  public function _checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id = "")
53  {
54  global $DIC;
55  $lng = $DIC['lng'];
56  $ilAccess = $DIC['ilAccess'];
57 
58  global $DIC;
59  $ilUser = $DIC['ilUser'];
60  $lng = $DIC['lng'];
61  $rbacsystem = $DIC['rbacsystem'];
62  $ilAccess = $DIC['ilAccess'];
63 
64  if ($a_user_id == "") {
65  $a_user_id = $ilUser->getId();
66  }
67 
68  if ($rbacsystem->checkAccessOfUser($a_user_id, 'write', $a_ref_id)) {
69  return true;
70  }
71 
72  switch ($a_permission) {
73  case 'visible':
74  case 'read':
75  if (!self::isOnline($a_obj_id)) {
76  $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("tst_warning_pool_offline"));
77  return false;
78  }
79  break;
80  }
81 
82  return true;
83  }
84 
91  public static function isOnline($a_obj_id)
92  {
93  global $DIC;
94  $ilDB = $DIC['ilDB'];
95 
96  $query = "
97  SELECT COUNT(id_questionpool) cnt
98  FROM qpl_questionpool
99  WHERE obj_fi = %s
100  AND isonline = 1
101  ";
102 
103  $res = $ilDB->queryF($query, array('integer'), array($a_obj_id));
104  $row = $ilDB->fetchAssoc($res);
105 
106  return $row['cnt'] > 0;
107  }
108 }
global $DIC
Definition: saml.php:7
Class ilObjQuestionPoolAccess.
const IL_NO_OBJECT_ACCESS
foreach($_POST as $key=> $value) $res
$lng
$ilUser
Definition: imgupload.php:18
$query
_checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id="")
$row
Class ilObjectAccess.
global $ilDB
static isOnline($a_obj_id)
returns the objects&#39;s ONline status