ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilCalendarHidden Class Reference

Stores selection of hidden calendars for a specific user. More...

+ Collaboration diagram for ilCalendarHidden:

Public Member Functions

 filterHidden ($categories, $category_info)
 Filter hidden categories (and hidden subitem categories) from category array. More...
 
 isHidden ($a_cat_id)
 Check if category is hidden. More...
 
 isAppointmentVisible ($a_cal_id)
 check whether an appoinment is visible or not More...
 
 getHidden ()
 get hidden categories More...
 
 hideSelected ($a_hidden)
 hide selected More...
 
 save ()
 save hidden selection More...
 
 delete ($a_cat_id=null)
 delete More...
 

Static Public Member Functions

static _getInstanceByUserId ($a_user_id)
 get instance by user id More...
 
static _deleteCategories ($a_cat_id)
 delete by category More...
 
static _deleteUser ($a_user_id)
 Delete by user. More...
 

Protected Member Functions

 read ()
 read user selection More...
 

Protected Attributes

 $user_id
 
 $hidden = array()
 
 $db
 

Static Protected Attributes

static $instances = array()
 

Private Member Functions

 __construct ($a_user_id)
 Singleton constructor. More...
 

Detailed Description

Stores selection of hidden calendars for a specific user.

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 32 of file class.ilCalendarHidden.php.

Constructor & Destructor Documentation

◆ __construct()

ilCalendarHidden::__construct (   $a_user_id)
private

Singleton constructor.

@access private

Parameters
intuser id

Definition at line 47 of file class.ilCalendarHidden.php.

48 {
49 global $ilDB;
50
51 $this->db = $ilDB;
52 $this->user_id = $a_user_id;
53 $this->read();
54 }
read()
read user selection
global $ilDB

References $ilDB, and read().

+ Here is the call graph for this function:

Member Function Documentation

◆ _deleteCategories()

static ilCalendarHidden::_deleteCategories (   $a_cat_id)
static

delete by category

@access public

Parameters
intcategory id

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

81 {
82 global $ilDB;
83
84 $query = "DELETE FROM cal_categories_hidden ".
85 "WHERE cat_id = ".$ilDB->quote($a_cat_id ,'integer')." ";
86 $res = $ilDB->manipulate($query);
87 }

References $ilDB, $query, and $res.

Referenced by ilCalendarCategory\delete().

+ Here is the caller graph for this function:

◆ _deleteUser()

static ilCalendarHidden::_deleteUser (   $a_user_id)
static

Delete by user.

@access public

Parameters
intuser_id
Returns

Definition at line 97 of file class.ilCalendarHidden.php.

98 {
99 global $ilDB;
100
101 $query = "DELETE FROM cal_categories_hidden ".
102 "WHERE user_id = ".$ilDB->quote($a_user_id ,'integer')." ";
103 $res = $ilDB->manipulate($query);
104 }

References $ilDB, $query, and $res.

◆ _getInstanceByUserId()

static ilCalendarHidden::_getInstanceByUserId (   $a_user_id)
static

get instance by user id

@access public

Parameters
intuser id
Returns
object

Definition at line 64 of file class.ilCalendarHidden.php.

65 {
66 if(isset(self::$instances[$a_user_id]))
67 {
68 return self::$instances[$a_user_id];
69 }
70 return self::$instances[$a_user_id] = new ilCalendarHidden($a_user_id);
71 }
Stores selection of hidden calendars for a specific user.

Referenced by ilCalendarScheduleFilterHidden\__construct(), ilCalendarSelectionBlockGUI\getCalendars(), ilCalendarCategoryTableGUI\parse(), and ilCalendarCategoryGUI\saveSelection().

+ Here is the caller graph for this function:

◆ delete()

ilCalendarHidden::delete (   $a_cat_id = null)

delete

@access public

Parameters
intcat id (if empty all categories are deleted)
Returns
bool

Definition at line 212 of file class.ilCalendarHidden.php.

213 {
214 global $ilDB;
215
216 if($a_cat_id)
217 {
218 $query = "DELETE FROM cal_categories_hidden ".
219 "WHERE user_id = ".$this->db->quote($this->user_id ,'integer')." ".
220 "AND cat_id = ".$this->db->quote($a_cat_id ,'integer')." ";
221 }
222 else
223 {
224 $query = "DELETE FROM cal_categories_hidden ".
225 "WHERE user_id = ".$this->db->quote($this->user_id ,'integer')." ";
226 }
227 $res = $ilDB->manipulate($query);
228 return true;
229 }

References $ilDB, $query, and $res.

◆ filterHidden()

ilCalendarHidden::filterHidden (   $categories,
  $category_info 
)

Filter hidden categories (and hidden subitem categories) from category array.

Parameters
object$categories
object$category_info
Returns

Definition at line 112 of file class.ilCalendarHidden.php.

113 {
114 $hidden = array();
115 foreach($category_info as $cat_id => $info)
116 {
117 if($this->isHidden($cat_id))
118 {
119 $hidden = array_merge((array) $hidden,(array) $info['subitem_ids'],array($cat_id));
120 }
121 }
122 return array_diff((array) $categories, $hidden);
123 }
isHidden($a_cat_id)
Check if category is hidden.
$info
Definition: example_052.php:80

References $hidden, $info, and isHidden().

+ Here is the call graph for this function:

◆ getHidden()

ilCalendarHidden::getHidden ( )

get hidden categories

@access public

Returns
array array of category ids

Definition at line 162 of file class.ilCalendarHidden.php.

163 {
164 return $this->hidden ? $this->hidden : array();
165 }

◆ hideSelected()

ilCalendarHidden::hideSelected (   $a_hidden)

hide selected

@access public

Parameters
arrayarray of hidden categories
Returns
bool

Definition at line 176 of file class.ilCalendarHidden.php.

177 {
178 $this->hidden = $a_hidden;
179 return true;
180 }

◆ isAppointmentVisible()

ilCalendarHidden::isAppointmentVisible (   $a_cal_id)

check whether an appoinment is visible or not

@access public

Parameters

return

Definition at line 142 of file class.ilCalendarHidden.php.

143 {
144 include_once('./Services/Calendar/classes/class.ilCalendarCategoryAssignments.php');
145
146 foreach(ilCalendarCategoryAssignments::_lookupCategories($a_cal_id) as $cat_id)
147 {
148 if(in_array($cat_id,$this->hidden))
149 {
150 return true;
151 }
152 }
153 return false;
154 }
static _lookupCategories($a_cal_id)
lookup categories

References ilCalendarCategoryAssignments\_lookupCategories().

+ Here is the call graph for this function:

◆ isHidden()

ilCalendarHidden::isHidden (   $a_cat_id)

Check if category is hidden.

Parameters
object$a_cat_id
Returns

Definition at line 130 of file class.ilCalendarHidden.php.

131 {
132 return in_array($a_cat_id, $this->hidden);
133 }

Referenced by filterHidden().

+ Here is the caller graph for this function:

◆ read()

ilCalendarHidden::read ( )
protected

read user selection

@access protected

Returns
bool

Definition at line 237 of file class.ilCalendarHidden.php.

238 {
239 global $ilDB;
240
241 $query = "SELECT * FROM cal_categories_hidden ".
242 "WHERE user_id = ".$this->db->quote($this->user_id ,'integer')." ";
243 $res = $this->db->query($query);
244 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
245 {
246 $this->hidden[] = $row->cat_id;
247 }
248 return true;
249 }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11

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

Referenced by __construct().

+ Here is the caller graph for this function:

◆ save()

ilCalendarHidden::save ( )

save hidden selection

@access public

Returns
bool

Definition at line 188 of file class.ilCalendarHidden.php.

189 {
190 global $ilDB;
191
192 $this->delete();
193 foreach($this->hidden as $hidden)
194 {
195 $query = "INSERT INTO cal_categories_hidden (user_id,cat_id) ".
196 "VALUES ( ".
197 $this->db->quote($this->user_id ,'integer').", ".
198 $this->db->quote($hidden ,'integer')." ".
199 ")";
200 $res = $ilDB->manipulate($query);
201 }
202 return true;
203 }

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

Field Documentation

◆ $db

ilCalendarHidden::$db
protected

Definition at line 39 of file class.ilCalendarHidden.php.

◆ $hidden

ilCalendarHidden::$hidden = array()
protected

Definition at line 37 of file class.ilCalendarHidden.php.

Referenced by filterHidden(), and save().

◆ $instances

ilCalendarHidden::$instances = array()
staticprotected

Definition at line 34 of file class.ilCalendarHidden.php.

◆ $user_id

ilCalendarHidden::$user_id
protected

Definition at line 36 of file class.ilCalendarHidden.php.


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