ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilRegistrationRoleAccessLimitations Class Reference
+ Collaboration diagram for ilRegistrationRoleAccessLimitations:

Public Member Functions

 ilRegistrationRoleAccessLimitations ()
 
 __read ()
 
 save ()
 
 validate ()
 
 getMode ($a_role_id)
 
 setMode ($a_mode, $a_role_id)
 
 getAbsolute ($a_role_id)
 
 setAbsolute ($a_arr, $a_role_id)
 
 getRelative ($a_role_id, $a_type)
 
 setRelative ($a_arr, $a_role_id)
 

Data Fields

 $access_limits = array()
 

Detailed Description

Member Function Documentation

◆ __read()

ilRegistrationRoleAccessLimitations::__read ( )

Definition at line 49 of file class.ilRegistrationRoleAccessLimitations.php.

50 {
51 global $ilias;
52
53 $query = "SELECT * FROM reg_access_limit ";
54 $res = $this->db->query($query);
55
56 $this->access_limitations = array();
57 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
58 {
59 $this->access_limitations[$row->role_id]['id'] = $row->role_id;
60 $this->access_limitations[$row->role_id]['absolute'] = $row->limit_absolute;
61 $this->access_limitations[$row->role_id]['relative_d'] = $row->limit_relative_d;
62 $this->access_limitations[$row->role_id]['relative_m'] = $row->limit_relative_m;
63 $this->access_limitations[$row->role_id]['relative_y'] = $row->limit_relative_y;
64 $this->access_limitations[$row->role_id]['mode'] = $row->limit_mode;
65 }
66
67 return true;
68 }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by ilRegistrationRoleAccessLimitations().

+ Here is the caller graph for this function:

◆ getAbsolute()

ilRegistrationRoleAccessLimitations::getAbsolute (   $a_role_id)

Definition at line 133 of file class.ilRegistrationRoleAccessLimitations.php.

134 {
135 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id]['absolute'] : time();
136 }

◆ getMode()

ilRegistrationRoleAccessLimitations::getMode (   $a_role_id)

Definition at line 123 of file class.ilRegistrationRoleAccessLimitations.php.

124 {
125 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id]['mode'] : 'null';
126 }

◆ getRelative()

ilRegistrationRoleAccessLimitations::getRelative (   $a_role_id,
  $a_type 
)

Definition at line 143 of file class.ilRegistrationRoleAccessLimitations.php.

144 {
145 return $this->access_limitations[$a_role_id] ? $this->access_limitations[$a_role_id]['relative_'.$a_type] : 0;
146 }

◆ ilRegistrationRoleAccessLimitations()

ilRegistrationRoleAccessLimitations::ilRegistrationRoleAccessLimitations ( )

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

41 {
42 global $ilDB;
43
44 $this->db =& $ilDB;
45 $this->__read();
46 }
global $ilDB

References $ilDB, and __read().

+ Here is the call graph for this function:

◆ save()

ilRegistrationRoleAccessLimitations::save ( )

Definition at line 70 of file class.ilRegistrationRoleAccessLimitations.php.

71 {
72 global $ilias, $ilDB;
73
74 foreach($this->access_limitations as $key => $data)
75 {
76 $limit_value = "";
77
78 // Delete old entry
79 $query = "DELETE FROM reg_access_limit ".
80 "WHERE role_id = ".$ilDB->quote($key,'integer');
81 $res = $ilDB->manipulate($query);
82
83
84 $query = "INSERT INTO reg_access_limit (role_id,limit_mode,limit_absolute,".
85 "limit_relative_d,limit_relative_m,limit_relative_y) ".
86 "VALUES( ".
87 $ilDB->quote($key,'integer').", ".
88 $ilDB->quote($data['mode'] ,'text').", ".
89 $ilDB->quote($data['absolute']).", ".
90 $ilDB->quote($data['relative_d']).", ".
91 $ilDB->quote($data['relative_m']).", ".
92 $ilDB->quote($data['relative_y'])." ".
93 ")";
94 $res = $ilDB->manipulate($query);
95 }
96
97 return true;
98 }
$data

References $data, $ilDB, $query, and $res.

◆ setAbsolute()

ilRegistrationRoleAccessLimitations::setAbsolute (   $a_arr,
  $a_role_id 
)

Definition at line 138 of file class.ilRegistrationRoleAccessLimitations.php.

139 {
140 $this->access_limitations[$a_role_id]['absolute'] = mktime(23,59,59,$a_arr['m'],$a_arr['d'],$a_arr['y']);
141 }

◆ setMode()

ilRegistrationRoleAccessLimitations::setMode (   $a_mode,
  $a_role_id 
)

Definition at line 128 of file class.ilRegistrationRoleAccessLimitations.php.

129 {
130 $this->access_limitations[$a_role_id]['mode'] = $a_mode;
131 }

◆ setRelative()

ilRegistrationRoleAccessLimitations::setRelative (   $a_arr,
  $a_role_id 
)

Definition at line 148 of file class.ilRegistrationRoleAccessLimitations.php.

149 {
150 $this->access_limitations[$a_role_id]['relative_d'] = $a_arr['d'];
151 $this->access_limitations[$a_role_id]['relative_m'] = $a_arr['m'];
152 $this->access_limitations[$a_role_id]['relative_y'] = $a_arr['y'];
153 }

◆ validate()

ilRegistrationRoleAccessLimitations::validate ( )

Definition at line 100 of file class.ilRegistrationRoleAccessLimitations.php.

101 {
102 foreach ($this->access_limitations as $data)
103 {
104 if ($data['mode'] == "null")
105 {
107 }
108
109 if ($data['mode'] == 'absolute' and $data['absolute'] < time())
110 {
112 }
113
114 if ($data['mode'] == 'relative' and ($data['relative_d'] < 1 and $data['relative_m'] < 1 and $data['relative_y'] < 1))
115 {
117 }
118 }
119
120 return 0;
121 }
const IL_REG_ACCESS_LIMITATION_MISSING_MODE
Class class.ilRegistrationAccessLimitation.

References $data, IL_REG_ACCESS_LIMITATION_MISSING_MODE, and IL_REG_ACCESS_LIMITATION_OUT_OF_DATE.

Field Documentation

◆ $access_limits

ilRegistrationRoleAccessLimitations::$access_limits = array()

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