ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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  static function _getCommands()
31  {
32  $commands = array
33  (
34  array("permission" => "write", "cmd" => "questions", "lang_var" => "tst_edit_questions"),
35  array("permission" => "write", "cmd" => "ilObjQuestionPoolSettingsGeneralGUI::showForm", "lang_var" => "settings"),
36  #array("permission" => "write", "cmd" => "questions", "lang_var" => "edit",
37  # "default" => false),
38  array("permission" => "read", "cmd" => "questions", "lang_var" => "edit",
39  "default" => true)
40  );
41 
42  return $commands;
43  }
44 
53  function _checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id = "")
54  {
55  global $lng, $ilAccess;
56 
57  global $ilUser, $lng, $rbacsystem, $ilAccess;
58 
59  if ($a_user_id == "")
60  {
61  $a_user_id = $ilUser->getId();
62  }
63 
64  if( $rbacsystem->checkAccessOfUser($a_user_id, 'write', $a_ref_id) )
65  {
66  return true;
67  }
68 
69  switch ($a_permission)
70  {
71  case 'visible':
72  case 'read':
73  if( !self::isOnline($a_obj_id) )
74  {
75  $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("tst_warning_pool_offline"));
76  return false;
77  }
78  break;
79  }
80 
81  return true;
82  }
83 
90  public static function isOnline($a_obj_id)
91  {
92  global $ilDB;
93 
94  $query = "
95  SELECT COUNT(id_questionpool) cnt
96  FROM qpl_questionpool
97  WHERE obj_fi = %s
98  AND isonline = 1
99  ";
100 
101  $res = $ilDB->queryF( $query, array('integer'), array($a_obj_id) );
102  $row = $ilDB->fetchAssoc($res);
103 
104  return $row['cnt'] > 0;
105  }
106 }
107 
108 ?>
Class ilObjQuestionPoolAccess.
const IL_NO_OBJECT_ACCESS
$ilUser
Definition: imgupload.php:18
_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