33 define(
'IL_REG_ACCESS_LIMITATION_MISSING_MODE',1);
34 define(
'IL_REG_ACCESS_LIMITATION_OUT_OF_DATE',2);
55 $query =
"SELECT * FROM reg_access_limit ";
58 $this->access_limitations =
array();
61 $this->access_limitations[
$row->role_id][
'id'] =
$row->role_id;
62 $this->access_limitations[
$row->role_id][
'absolute'] =
$row->limit_absolute;
63 $this->access_limitations[
$row->role_id][
'relative_d'] =
$row->limit_relative_d;
64 $this->access_limitations[
$row->role_id][
'relative_m'] =
$row->limit_relative_m;
65 $this->access_limitations[
$row->role_id][
'relative_y'] =
$row->limit_relative_y;
66 $this->access_limitations[
$row->role_id][
'mode'] =
$row->limit_mode;
76 foreach($this->access_limitations as $key =>
$data)
81 $query =
"DELETE FROM reg_access_limit ".
82 "WHERE role_id = ".$ilDB->quote($key,
'integer');
86 $query =
"INSERT INTO reg_access_limit (role_id,limit_mode,limit_absolute,".
87 "limit_relative_d,limit_relative_m,limit_relative_y) ".
89 $ilDB->quote($key,
'integer').
", ".
90 $ilDB->quote(
$data[
'mode'] ,
'text').
", ".
91 $ilDB->quote(
$data[
'absolute']).
", ".
92 $ilDB->quote(
$data[
'relative_d']).
", ".
93 $ilDB->quote(
$data[
'relative_m']).
", ".
94 $ilDB->quote(
$data[
'relative_y']).
" ".
104 foreach ($this->access_limitations as
$data)
106 if ($data[
'mode'] ==
"null")
111 if ($data[
'mode'] ==
'absolute' and $data[
'absolute'] <
time())
116 if ($data[
'mode'] ==
'relative' and ($data[
'relative_d'] < 1
and $data[
'relative_m'] < 1
and $data[
'relative_y'] < 1))
127 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id][
'mode'] :
'null';
132 $this->access_limitations[$a_role_id][
'mode'] = $a_mode;
137 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id][
'absolute'] :
time();
142 $this->access_limitations[$a_role_id][
'absolute'] = mktime(23,59,59,$a_arr[
'm'],$a_arr[
'd'],$a_arr[
'y']);
147 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id][
'relative_'.$a_type] : 0;
152 $this->access_limitations[$a_role_id][
'relative_d'] = $a_arr[
'd'];
153 $this->access_limitations[$a_role_id][
'relative_m'] = $a_arr[
'm'];
154 $this->access_limitations[$a_role_id][
'relative_y'] = $a_arr[
'y'];
162 $this->access_limitations =
array();
getRelative($a_role_id, $a_type)
const IL_REG_ACCESS_LIMITATION_OUT_OF_DATE
resetAccessLimitations()
reset access limitations
setRelative($a_arr, $a_role_id)
Create styles array
The data for the language used.
setMode($a_mode, $a_role_id)
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
const IL_REG_ACCESS_LIMITATION_MISSING_MODE
Class class.ilRegistrationAccessLimitation.
setAbsolute($a_arr, $a_role_id)