33 define(
'IL_REG_ACCESS_LIMITATION_MISSING_MODE', 1);
34 define(
'IL_REG_ACCESS_LIMITATION_OUT_OF_DATE', 2);
46 $ilDB = $DIC->database();
56 $query =
"SELECT * FROM reg_access_limit ";
59 $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][
'mode'] = $row->limit_mode;
74 foreach ($this->access_limitations as $key =>
$data) {
78 $query =
"DELETE FROM reg_access_limit " .
79 "WHERE role_id = " . $this->db->quote($key,
'integer');
83 $query =
"INSERT INTO reg_access_limit (role_id,limit_mode,limit_absolute," .
84 "limit_relative_d,limit_relative_m) " .
86 $this->db->quote($key,
'integer') .
", " .
87 $this->db->quote(
$data[
'mode'],
'text') .
", " .
88 $this->db->quote(
$data[
'absolute']) .
", " .
89 $this->db->quote(
$data[
'relative_d']) .
", " .
90 $this->db->quote(
$data[
'relative_m']) .
" " .
100 foreach ($this->access_limitations as
$data) {
101 if ($data[
'mode'] ==
"null") {
105 if ($data[
'mode'] ==
'absolute' and $data[
'absolute'] < time()) {
109 if ($data[
'mode'] ==
'relative' and ($data[
'relative_d'] < 1 and $data[
'relative_m'] < 1)) {
119 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id][
'mode'] :
'null';
124 $this->access_limitations[$a_role_id][
'mode'] = $a_mode;
129 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id][
'absolute'] : time();
134 $this->access_limitations[$a_role_id][
'absolute'] = strtotime($date);
139 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id][
'relative_' . $a_type] : 0;
144 $this->access_limitations[$a_role_id][
'relative_d'] = $a_arr[
'dd'];
145 $this->access_limitations[$a_role_id][
'relative_m'] = $a_arr[
'MM'];
153 $this->access_limitations = array();
getRelative($a_role_id, $a_type)
const IL_REG_ACCESS_LIMITATION_OUT_OF_DATE
setAbsolute($date, $a_role_id)
resetAccessLimitations()
reset access limitations
foreach($_POST as $key=> $value) $res
setRelative($a_arr, $a_role_id)
setMode($a_mode, $a_role_id)
const IL_REG_ACCESS_LIMITATION_MISSING_MODE
Class class.ilRegistrationAccessLimitation.