ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f87
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.

private

Parameters
intuser id

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

References $ilDB, and read().

48  {
49  global $ilDB;
50 
51  $this->db = $ilDB;
52  $this->user_id = $a_user_id;
53  $this->read();
54  }
global $ilDB
read()
read user selection
+ Here is the call graph for this function:

Member Function Documentation

◆ _deleteCategories()

static ilCalendarHidden::_deleteCategories (   $a_cat_id)
static

delete by category

public

Parameters
intcategory id

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

References $ilDB, $query, and $res.

Referenced by ilCalendarCategory\delete().

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  }
global $ilDB
+ Here is the caller graph for this function:

◆ _deleteUser()

static ilCalendarHidden::_deleteUser (   $a_user_id)
static

Delete by user.

public

Parameters
intuser_id
Returns

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

References $ilDB, $query, and $res.

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  }
global $ilDB

◆ _getInstanceByUserId()

static ilCalendarHidden::_getInstanceByUserId (   $a_user_id)
static

get instance by user id

public

Parameters
intuser id
Returns
object

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

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

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.
+ Here is the caller graph for this function:

◆ delete()

ilCalendarHidden::delete (   $a_cat_id = null)

delete

public

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

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

References $ilDB, $query, and $res.

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  }
global $ilDB

◆ 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.

References $hidden, and isHidden().

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.
+ Here is the call graph for this function:

◆ getHidden()

ilCalendarHidden::getHidden ( )

get hidden categories

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

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

public

Parameters

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

References ilCalendarCategoryAssignments\_lookupCategories().

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
+ 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.

Referenced by filterHidden().

131  {
132  return in_array($a_cat_id, $this->hidden);
133  }
+ Here is the caller graph for this function:

◆ read()

ilCalendarHidden::read ( )
protected

read user selection

protected

Returns
bool

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

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

Referenced by __construct().

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
global $ilDB
+ Here is the caller graph for this function:

◆ save()

ilCalendarHidden::save ( )

save hidden selection

public

Returns
bool

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

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

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  }
global $ilDB

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: