ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
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 $lng, $ilAccess;
55 
56  global $ilUser, $lng, $rbacsystem, $ilAccess;
57 
58  if ($a_user_id == "") {
59  $a_user_id = $ilUser->getId();
60  }
61 
62  if ($rbacsystem->checkAccessOfUser($a_user_id, 'write', $a_ref_id)) {
63  return true;
64  }
65 
66  switch ($a_permission) {
67  case 'visible':
68  case 'read':
69  if (!self::isOnline($a_obj_id)) {
70  $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("tst_warning_pool_offline"));
71  return false;
72  }
73  break;
74  }
75 
76  return true;
77  }
78 
85  public static function isOnline($a_obj_id)
86  {
87  global $ilDB;
88 
89  $query = "
90  SELECT COUNT(id_questionpool) cnt
91  FROM qpl_questionpool
92  WHERE obj_fi = %s
93  AND isonline = 1
94  ";
95 
96  $res = $ilDB->queryF($query, array('integer'), array($a_obj_id));
97  $row = $ilDB->fetchAssoc($res);
98 
99  return $row['cnt'] > 0;
100  }
101 }
Class ilObjQuestionPoolAccess.
const IL_NO_OBJECT_ACCESS
foreach($_POST as $key=> $value) $res
$ilUser
Definition: imgupload.php:18
$query
_checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id="")
Create styles array
The data for the language used.
Class ilObjectAccess.
global $lng
Definition: privfeed.php:17
global $ilDB
static isOnline($a_obj_id)
returns the objects&#39;s ONline status