ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilObjExerciseAccess Class Reference

Class ilObjExerciseAccess. More...

+ Inheritance diagram for ilObjExerciseAccess:
+ Collaboration diagram for ilObjExerciseAccess:

Static Public Member Functions

static getConditionOperators ()
 Get possible conditions operators. More...
 
static checkCondition ($a_exc_id, $a_operator, $a_value, $a_usr_id)
 check condition More...
 
static _getCommands ()
 get commands More...
 
static _lookupRemainingWorkingTimeString ($a_obj_id)
 
static _checkGoto ($a_target)
 check whether goto script will succeed More...
 
- Static Public Member Functions inherited from ilObjectAccess
static _getCommands ()
 get commands More...
 
static _checkGoto ($a_target)
 check whether goto script will succeed More...
 
static _isOffline ($a_obj_id)
 Type-specific implementation of general status, has to be overwritten. More...
 
static _preloadData ($a_obj_ids, $a_ref_ids)
 Preload data. More...
 

Additional Inherited Members

- Public Member Functions inherited from ilObjectAccess
 _checkAccess ($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id="")
 Checks wether a user may invoke a command or not (this method is called by ilAccessHandler::checkAccess) More...
 
 _checkCondition ($a_obj_id, $a_operator, $a_value, $a_usr_id)
 check condition More...
 

Detailed Description

Class ilObjExerciseAccess.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 16 of file class.ilObjExerciseAccess.php.

Member Function Documentation

◆ _checkGoto()

static ilObjExerciseAccess::_checkGoto (   $a_target)
static

check whether goto script will succeed

Definition at line 146 of file class.ilObjExerciseAccess.php.

147  {
148  global $ilAccess;
149 
150  $t_arr = explode("_", $a_target);
151 
152  if ($t_arr[0] != "exc" || ((int) $t_arr[1]) <= 0)
153  {
154  return false;
155  }
156 
157  if ($ilAccess->checkAccess("read", "", $t_arr[1]))
158  {
159  return true;
160  }
161  return false;
162  }

◆ _getCommands()

static ilObjExerciseAccess::_getCommands ( )
static

get commands

this method returns an array of all possible commands/permission combinations

example: $commands = array ( array("permission" => "read", "cmd" => "view", "lang_var" => "show"), array("permission" => "write", "cmd" => "edit", "lang_var" => "edit"), );

Definition at line 80 of file class.ilObjExerciseAccess.php.

References array.

Referenced by ilObjExerciseListGUI\init().

81  {
82  $commands = array
83  (
84  array("permission" => "read", "cmd" => "showOverview", "lang_var" => "show",
85  "default" => true),
86  array("permission" => "write", "cmd" => "listAssignments", "lang_var" => "edit_assignments"),
87  array("permission" => "write", "cmd" => "edit", "lang_var" => "settings")
88  );
89 
90  return $commands;
91  }
Create styles array
The data for the language used.
+ Here is the caller graph for this function:

◆ _lookupRemainingWorkingTimeString()

static ilObjExerciseAccess::_lookupRemainingWorkingTimeString (   $a_obj_id)
static

Definition at line 93 of file class.ilObjExerciseAccess.php.

References $ilDB, $row, array, IL_CAL_UNIX, ilUtil\period2String(), and time.

Referenced by ilObjExerciseListGUI\getProperties().

94  {
95  global $ilDB;
96 
97  // #14077 - mind peer deadline, too
98 
99  $dl = null;
100  $cnt = array();
101 
102  $q = "SELECT id, time_stamp, deadline2, peer_dl".
103  " FROM exc_assignment WHERE exc_id = ".$ilDB->quote($a_obj_id, "integer").
104  " AND (time_stamp > ".$ilDB->quote(time(), "integer").
105  " OR (peer_dl > ".$ilDB->quote(time(), "integer").
106  " AND peer > ".$ilDB->quote(0, "integer")."))";
107  $set = $ilDB->query($q);
108  while($row = $ilDB->fetchAssoc($set))
109  {
110  if($row["time_stamp"] > time() &&
111  ($row["time_stamp"] < $dl || !$dl))
112  {
113  $dl = $row["time_stamp"];
114  }
115  /* extended deadline should not be presented anywhere
116  if($row["deadline2"] > time() &&
117  ($row["deadline2"] < $dl || !$dl))
118  {
119  $dl = $row["deadline2"];
120  }
121  */
122  if($row["peer_dl"] > time() &&
123  ($row["peer_dl"] < $dl || !$dl))
124  {
125  $dl = $row["peer_dl"];
126  }
127  $cnt[$row["id"]] = true;
128  }
129 
130  // :TODO: mind personal deadline?
131 
132  if($dl)
133  {
135  }
136 
137  return array(
138  "mtime" => $dl,
139  "cnt" => sizeof($cnt)
140  );
141  }
const IL_CAL_UNIX
static period2String(ilDateTime $a_from, $a_to=null)
Return a string of time period.
Date and time handling
Create styles array
The data for the language used.
global $ilDB
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkCondition()

static ilObjExerciseAccess::checkCondition (   $a_exc_id,
  $a_operator,
  $a_value,
  $a_usr_id 
)
static

check condition

Parameters
type$a_exc_id
type$a_operator
type$a_value
type$a_usr_id
Returns
boolean

Implements ilConditionHandling.

Definition at line 40 of file class.ilObjExerciseAccess.php.

References ilExerciseMembers\_lookupStatus(), ilConditionHandler\OPERATOR_FAILED, and ilConditionHandler\OPERATOR_PASSED.

41  {
42  include_once './Services/AccessControl/classes/class.ilConditionHandler.php';
43  include_once './Modules/Exercise/classes/class.ilExerciseMembers.php';
44 
45  switch($a_operator)
46  {
48  if (ilExerciseMembers::_lookupStatus($a_exc_id, $a_usr_id) == "passed")
49  {
50  return true;
51  }
52  else
53  {
54  return false;
55  }
56  break;
57 
59  return ilExerciseMembers::_lookupStatus($a_exc_id,$a_usr_id) == 'failed';
60 
61  default:
62  return true;
63  }
64  return true;
65  }
static _lookupStatus($a_obj_id, $a_user_id)
Lookup current status (notgraded|passed|failed)
+ Here is the call graph for this function:

◆ getConditionOperators()

static ilObjExerciseAccess::getConditionOperators ( )
static

Get possible conditions operators.

Implements ilConditionHandling.

Definition at line 22 of file class.ilObjExerciseAccess.php.

References array, ilConditionHandler\OPERATOR_FAILED, and ilConditionHandler\OPERATOR_PASSED.

23  {
24  include_once './Services/AccessControl/classes/class.ilConditionHandler.php';
25  return array(
28  );
29  }
Create styles array
The data for the language used.

The documentation for this class was generated from the following file: