ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjBookingPool Class Reference

Class ilObjBookingPool. More...

+ Inheritance diagram for ilObjBookingPool:
+ Collaboration diagram for ilObjBookingPool:

Public Member Functions

 __construct ($a_id=0, $a_call_by_reference=true)
 Constructor. More...
 
 create ()
 create object More...
 
 update ()
 update object data More...
 
 read ()
 
 delete ()
 delete object and all related data More...
 
 cloneObject ($a_target_id, $a_copy_id=0, $a_omit_tree=false)
 
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 notifys an object about an event occured Based on the event happend, each object may decide how it reacts. More...
 
 setOffline ($a_value=true)
 Toggle offline property. More...
 
 isOffline ()
 Get offline property. More...
 
 setPublicLog ($a_value=true)
 Toggle public log property. More...
 
 hasPublicLog ()
 Get public log property. More...
 
 setScheduleType ($a_value)
 Set schedule type. More...
 
 getScheduleType ()
 Get schedule type. More...
 
 setOverallLimit ($a_value=null)
 Set overall / global booking limit. More...
 
 getOverallLimit ()
 Get overall / global booking limit. More...
 
- Public Member Functions inherited from ilObject
 ilObject ($a_id=0, $a_reference=true)
 Constructor public. More...
 
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not) More...
 
 read ($a_force_db=false)
 read object data from db into object More...
 
 getId ()
 get object id public More...
 
 setId ($a_id)
 set object id public More...
 
 setRefId ($a_id)
 set reference id public More...
 
 getRefId ()
 get reference id public More...
 
 getType ()
 get object type public More...
 
 setType ($a_type)
 set object type public More...
 
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions More...
 
 getTitle ()
 get object title public More...
 
 getUntranslatedTitle ()
 get untranslated object title public More...
 
 setTitle ($a_title)
 set object title More...
 
 getDescription ()
 get object description More...
 
 setDescription ($a_desc)
 set object description More...
 
 getLongDescription ()
 get object long description (stored in object_description) More...
 
 getImportId ()
 get import id More...
 
 setImportId ($a_import_id)
 set import id More...
 
 getOwner ()
 get object owner More...
 
 getOwnerName ()
 
 _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id More...
 
 setOwner ($a_owner)
 set object owner More...
 
 getCreateDate ()
 get create date public More...
 
 getLastUpdateDate ()
 get last update date public More...
 
 getDiskUsage ()
 Gets the disk usage of the object in bytes. More...
 
 setObjDataRecord ($a_record)
 set object_data record (note: this method should only be called from the ilObjectFactory class) More...
 
 create ()
 create More...
 
 update ()
 update object in db More...
 
 MDUpdateListener ($a_element)
 Meta data update listener. More...
 
 createMetaData ()
 create meta data entry More...
 
 updateMetaData ()
 update meta data entry More...
 
 deleteMetaData ()
 delete meta data entry More...
 
 updateOwner ()
 update owner of object in db More...
 
 _getIdForImportId ($a_import_id)
 get current object id for import id (static) More...
 
 _lookupOwner ($a_id)
 lookup object owner More...
 
 _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update More...
 
 _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects. More...
 
 _setDeletedDate ($a_ref_id)
 only called in ilTree::saveSubTree More...
 
 _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes More...
 
 _lookupDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes More...
 
 _writeTitle ($a_obj_id, $a_title)
 write title to db (static) More...
 
 _writeDescription ($a_obj_id, $a_desc)
 write description to db (static) More...
 
 _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static) More...
 
 _isInTrash ($a_ref_id)
 checks wether object is in trash More...
 
 _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash More...
 
 _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type More...
 
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!? More...
 
 setPermissions ($a_parent_ref)
 set permissions of object More...
 
 setParentRolePermissions ($a_parent_ref)
 Initialize the permissions of parent roles (local roles of categories, global roles...) This method is overwritten in e.g courses, groups for building permission intersections with non_member templates. More...
 
 createReference ()
 creates reference for object More...
 
 countReferences ()
 count references of object More...
 
 delete ()
 delete object or referenced object (in the case of a referenced object, object data is only deleted if last reference is deleted) This function removes an object entirely from system!! More...
 
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public More...
 
 applyDidacticTemplate ($a_tpl_id)
 Apply template. More...
 
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 notifys an object about an event occured Based on the event passed, each object may decide how it reacts. More...
 
 setRegisterMode ($a_bool)
 
 isUserRegistered ($a_user_id=0)
 
 requireRegistration ()
 
 getXMLZip ()
 
 getHTMLDirectory ()
 
 cloneObject ($a_target_id, $a_copy_id=0, $a_omit_tree=false)
 Clone object permissions, put in tree ... More...
 
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container. More...
 
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies. More...
 
 cloneMetaData ($target_obj)
 Copy meta data. More...
 
 _lookupCreationDate ($a_id)
 Lookup creation date. More...
 

Static Public Member Functions

static _lookupOnline ($a_obj_id)
 Check object status. More...
 
- Static Public Member Functions inherited from ilObject
static _lookupObjIdByImportId ($a_import_id)
 
static _getAllReferences ($a_id)
 get all reference ids of object More...
 
static _lookupTitle ($a_id)
 lookup object title More...
 
static _getIdsForTitle ($title, $type='', $partialmatch=false)
 
static _lookupDescription ($a_id)
 lookup object description More...
 
static _lookupObjId ($a_id)
 
static setDeletedDates ($a_ref_ids)
 Set deleted date type $ilDB. More...
 
static _lookupType ($a_id, $a_reference=false)
 lookup object type More...
 
static _lookupObjectId ($a_ref_id)
 lookup object id More...
 
static _exists ($a_id, $a_reference=false, $a_type=null)
 checks if an object exists in object_data More...
 
static _getObjectsByType ($a_obj_type="", $a_owner="")
 Get objects by type. More...
 
static _prepareCloneSelection ($a_ref_ids, $new_type, $show_path=true)
 Prepare copy wizard object selection. More...
 
static _getIcon ($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
 Get icon for repository item. More...
 
static collectDeletionDependencies (&$deps, $a_ref_id, $a_obj_id, $a_type, $a_depth=0)
 Collect deletion dependencies. More...
 
static getDeletionDependencies ($a_obj_id)
 Get deletion dependencies. More...
 
static getLongDescriptions (array $a_obj_ids)
 Get long description data. More...
 
static getAllOwnedRepositoryObjects ($a_user_id)
 Get all ids of objects user owns. More...
 
static hasAutoRating ($a_type, $a_ref_id)
 Check if auto rating is active for parent group/course. More...
 

Data Fields

const TYPE_FIX_SCHEDULE = 1
 
const TYPE_NO_SCHEDULE = 2
 
- Data Fields inherited from ilObject
const TITLE_LENGTH = 255
 max length of object title More...
 
const DESC_LENGTH = 128
 
 $ilias
 
 $lng
 
 $id
 
 $ref_id
 
 $type
 
 $title
 
 $untranslatedTitle
 
 $desc
 
 $long_desc
 
 $owner
 
 $create_date
 
 $last_update
 
 $import_id
 
 $register = false
 
 $referenced
 
 $objectList
 
 $max_title
 
 $max_desc
 
 $add_dots
 
 $obj_data_record
 object_data record More...
 

Protected Member Functions

 getDBFields ()
 Parse properties for sql statements. More...
 

Protected Attributes

 $offline = true
 
 $public_log
 
 $schedule_type
 
 $overall_limit
 

Detailed Description

Class ilObjBookingPool.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 13 of file class.ilObjBookingPool.php.

Constructor & Destructor Documentation

◆ __construct()

ilObjBookingPool::__construct (   $a_id = 0,
  $a_call_by_reference = true 
)

Constructor.

Parameters
int$a_idreference_id or object_id
bool$a_call_by_referencetreat the id as reference_id (true) or object_id (false)

Definition at line 29 of file class.ilObjBookingPool.php.

References ilObject\ilObject(), and setScheduleType().

30  {
31  $this->type = "book";
32  $this->setScheduleType(self::TYPE_FIX_SCHEDULE);
33  $this->ilObject($a_id,$a_call_by_reference);
34  }
setScheduleType($a_value)
Set schedule type.
ilObject($a_id=0, $a_reference=true)
Constructor public.
+ Here is the call graph for this function:

Member Function Documentation

◆ _lookupOnline()

static ilObjBookingPool::_lookupOnline (   $a_obj_id)
static

Check object status.

Parameters
int$a_obj_id
Returns
boolean

Definition at line 322 of file class.ilObjBookingPool.php.

References $ilDB, and $row.

Referenced by ilObjBookingPoolListGUI\getProperties().

323  {
324  global $ilDB;
325 
326  $set = $ilDB->query("SELECT pool_offline".
327  " FROM booking_settings".
328  " WHERE booking_pool_id = ".$ilDB->quote($a_obj_id, "integer"));
329  $row = $ilDB->fetchAssoc($set);
330  return !(bool)$row["pool_offline"];
331  }
global $ilDB
+ Here is the caller graph for this function:

◆ cloneObject()

ilObjBookingPool::cloneObject (   $a_target_id,
  $a_copy_id = 0,
  $a_omit_tree = false 
)

Definition at line 155 of file class.ilObjBookingPool.php.

References ilCopyWizardOptions\_getInstance(), ilObject\getId(), ilBookingSchedule\getList(), ilBookingObject\getList(), getOverallLimit(), getScheduleType(), hasPublicLog(), and isOffline().

156  {
157  $new_obj = parent::cloneObject($a_target_id, $a_copy_id, $a_omit_tree);
158 
159  //copy online status if object is not the root copy object
160  $cp_options = ilCopyWizardOptions::_getInstance($a_copy_id);
161 
162  if(!$cp_options->isRootNode($this->getRefId()))
163  {
164  $new_obj->setOffline($this->isOffline());
165  }
166 
167  $new_obj->setScheduleType($this->getScheduleType());
168  $new_obj->setPublicLog($this->hasPublicLog());
169  $new_obj->setOverallLimit($this->getOverallLimit());
170 
171  $smap = null;
172  if($this->getScheduleType() == self::TYPE_FIX_SCHEDULE)
173  {
174  // schedules
175  include_once "Modules/BookingManager/classes/class.ilBookingSchedule.php";
176  foreach(ilBookingSchedule::getList($this->getId()) as $item)
177  {
178  $schedule = new ilBookingSchedule($item["booking_schedule_id"]);
179  $smap[$item["booking_schedule_id"]] = $schedule->doClone($new_obj->getId());
180  }
181  }
182 
183  // objects
184  include_once "Modules/BookingManager/classes/class.ilBookingObject.php";
185  foreach(ilBookingObject::getList($this->getId()) as $item)
186  {
187  $bobj = new ilBookingObject($item["booking_object_id"]);
188  $bobj->doClone($new_obj->getId(), $smap);
189  }
190 
191  $new_obj->update();
192 
193  return $new_obj;
194  }
a bookable ressource
getScheduleType()
Get schedule type.
schedule for booking ressource
hasPublicLog()
Get public log property.
static _getInstance($a_copy_id)
Get instance of copy wizard options.
getId()
get object id public
static getList($a_pool_id)
Get list of booking objects for given type.
isOffline()
Get offline property.
getOverallLimit()
Get overall / global booking limit.
static getList($a_pool_id)
Get list of booking objects for given pool.
+ Here is the call graph for this function:

◆ create()

ilObjBookingPool::create ( )

create object

Returns
integer

Definition at line 55 of file class.ilObjBookingPool.php.

References $ilDB, and getDBFields().

56  {
57  global $ilDB;
58 
59  $new_id = parent::create();
60 
61  $fields = $this->getDBFields();
62  $fields["booking_pool_id"] = array("integer", $new_id);
63 
64  $ilDB->insert("booking_settings", $fields);
65 
66  return $new_id;
67  }
getDBFields()
Parse properties for sql statements.
global $ilDB
+ Here is the call graph for this function:

◆ delete()

ilObjBookingPool::delete ( )

delete object and all related data

Returns
boolean true if all object data were removed; false if only a references were removed

Definition at line 115 of file class.ilObjBookingPool.php.

References ilObject\$id, $ilDB, $row, and ilObject\getId().

116  {
117  global $ilDB;
118 
119  $id = $this->getId();
120 
121  // always call parent delete function first!!
122  if (!parent::delete())
123  {
124  return false;
125  }
126 
127  // put here your module specific stuff
128 
129  $ilDB->manipulate('DELETE FROM booking_settings'.
130  ' WHERE booking_pool_id = '.$ilDB->quote($id, 'integer'));
131 
132  $ilDB->manipulate('DELETE FROM booking_schedule'.
133  ' WHERE pool_id = '.$ilDB->quote($id, 'integer'));
134 
135  $objects = array();
136  $set = $ilDB->query('SELECT booking_object_id FROM booking_object'.
137  ' WHERE pool_id = '.$ilDB->quote($id, 'integer'));
138  while($row = $ilDB->fetchAssoc($set))
139  {
140  $objects[] = $row['booking_object_id'];
141  }
142 
143  if(sizeof($objects))
144  {
145  $ilDB->manipulate('DELETE FROM booking_reservation'.
146  ' WHERE '.$ilDB->in('object_id', $objects, '', 'integer'));
147  }
148 
149  $ilDB->manipulate('DELETE FROM booking_object'.
150  ' WHERE pool_id = '.$ilDB->quote($id, 'integer'));
151 
152  return true;
153  }
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:

◆ getDBFields()

ilObjBookingPool::getDBFields ( )
protected

Parse properties for sql statements.

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

References getOverallLimit(), getScheduleType(), hasPublicLog(), and isOffline().

Referenced by create(), and update().

40  {
41  $fields = array(
42  "schedule_type" => array("integer", $this->getScheduleType()),
43  "pool_offline" => array("integer", $this->isOffline()),
44  "public_log" => array("integer", $this->hasPublicLog()),
45  "ovlimit" => array("integer", $this->getOverallLimit())
46  );
47 
48  return $fields;
49  }
getScheduleType()
Get schedule type.
hasPublicLog()
Get public log property.
isOffline()
Get offline property.
getOverallLimit()
Get overall / global booking limit.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getOverallLimit()

ilObjBookingPool::getOverallLimit ( )

Get overall / global booking limit.

Returns
int $a_value

Definition at line 352 of file class.ilObjBookingPool.php.

References $overall_limit.

Referenced by cloneObject(), and getDBFields().

353  {
354  return $this->overall_limit;
355  }
+ Here is the caller graph for this function:

◆ getScheduleType()

ilObjBookingPool::getScheduleType ( )

Get schedule type.

Returns
int

Definition at line 311 of file class.ilObjBookingPool.php.

References $schedule_type.

Referenced by cloneObject(), and getDBFields().

312  {
313  return $this->schedule_type;
314  }
+ Here is the caller graph for this function:

◆ hasPublicLog()

ilObjBookingPool::hasPublicLog ( )

Get public log property.

Returns
bool

Definition at line 293 of file class.ilObjBookingPool.php.

References $public_log.

Referenced by cloneObject(), and getDBFields().

294  {
295  return (bool)$this->public_log;
296  }
+ Here is the caller graph for this function:

◆ isOffline()

ilObjBookingPool::isOffline ( )

Get offline property.

Returns
bool

Definition at line 275 of file class.ilObjBookingPool.php.

References $offline.

Referenced by cloneObject(), and getDBFields().

276  {
277  return (bool)$this->offline;
278  }
+ Here is the caller graph for this function:

◆ notify()

ilObjBookingPool::notify (   $a_event,
  $a_ref_id,
  $a_parent_non_rbac_id,
  $a_node_id,
  $a_params = 0 
)

notifys an object about an event occured Based on the event happend, each object may decide how it reacts.

If you are not required to handle any events related to your module, just delete this method. (For an example how this method is used, look at ilObjGroup)

Parameters
stringevent
integerreference id of object where the event occured
arraypasses optional parameters if required
Returns
boolean

Definition at line 209 of file class.ilObjBookingPool.php.

References $_GET, and ilObject\getType().

210  {
211  global $tree;
212 
213  switch ($a_event)
214  {
215  case "link":
216 
217  //var_dump("<pre>",$a_params,"</pre>");
218  //echo "Module name ".$this->getRefId()." triggered by link event. Objects linked into target object ref_id: ".$a_ref_id;
219  //exit;
220  break;
221 
222  case "cut":
223 
224  //echo "Module name ".$this->getRefId()." triggered by cut event. Objects are removed from target object ref_id: ".$a_ref_id;
225  //exit;
226  break;
227 
228  case "copy":
229 
230  //var_dump("<pre>",$a_params,"</pre>");
231  //echo "Module name ".$this->getRefId()." triggered by copy event. Objects are copied into target object ref_id: ".$a_ref_id;
232  //exit;
233  break;
234 
235  case "paste":
236 
237  //echo "Module name ".$this->getRefId()." triggered by paste (cut) event. Objects are pasted into target object ref_id: ".$a_ref_id;
238  //exit;
239  break;
240 
241  case "new":
242 
243  //echo "Module name ".$this->getRefId()." triggered by paste (new) event. Objects are applied to target object ref_id: ".$a_ref_id;
244  //exit;
245  break;
246  }
247 
248  // At the beginning of the recursive process it avoids second call of the notify function with the same parameter
249  if ($a_node_id==$_GET["ref_id"])
250  {
251  $parent_obj =& $this->ilias->obj_factory->getInstanceByRefId($a_node_id);
252  $parent_type = $parent_obj->getType();
253  if($parent_type == $this->getType())
254  {
255  $a_node_id = (int) $tree->getParentId($a_node_id);
256  }
257  }
258 
259  parent::notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params);
260  }
$_GET["client_id"]
redirection script todo: (a better solution should control the processing via a xml file) ...
getType()
get object type public
+ Here is the call graph for this function:

◆ read()

ilObjBookingPool::read ( )

Definition at line 92 of file class.ilObjBookingPool.php.

References $ilDB, $row, ilObject\getId(), setOffline(), setOverallLimit(), setPublicLog(), and setScheduleType().

93  {
94  global $ilDB;
95 
96  parent::read();
97 
98  // put here object specific stuff
99  if($this->getId())
100  {
101  $set = $ilDB->query('SELECT * FROM booking_settings'.
102  ' WHERE booking_pool_id = '.$ilDB->quote($this->getId(), 'integer'));
103  $row = $ilDB->fetchAssoc($set);
104  $this->setOffline($row['pool_offline']);
105  $this->setPublicLog($row['public_log']);
106  $this->setScheduleType($row['schedule_type']);
107  $this->setOverallLimit($row['ovlimit']);
108  }
109  }
setOffline($a_value=true)
Toggle offline property.
setScheduleType($a_value)
Set schedule type.
setPublicLog($a_value=true)
Toggle public log property.
getId()
get object id public
global $ilDB
setOverallLimit($a_value=null)
Set overall / global booking limit.
+ Here is the call graph for this function:

◆ setOffline()

ilObjBookingPool::setOffline (   $a_value = true)

Toggle offline property.

Parameters
bool$a_value

Definition at line 266 of file class.ilObjBookingPool.php.

Referenced by read().

267  {
268  $this->offline = (bool)$a_value;
269  }
+ Here is the caller graph for this function:

◆ setOverallLimit()

ilObjBookingPool::setOverallLimit (   $a_value = null)

Set overall / global booking limit.

Parameters
int$a_value

Definition at line 338 of file class.ilObjBookingPool.php.

Referenced by read().

339  {
340  if($a_value !== null)
341  {
342  $a_value = (int)$a_value;
343  }
344  $this->overall_limit = $a_value;
345  }
+ Here is the caller graph for this function:

◆ setPublicLog()

ilObjBookingPool::setPublicLog (   $a_value = true)

Toggle public log property.

Parameters
bool$a_value

Definition at line 284 of file class.ilObjBookingPool.php.

Referenced by read().

285  {
286  $this->public_log = (bool)$a_value;
287  }
+ Here is the caller graph for this function:

◆ setScheduleType()

ilObjBookingPool::setScheduleType (   $a_value)

Set schedule type.

Parameters
int$a_value

Definition at line 302 of file class.ilObjBookingPool.php.

Referenced by __construct(), and read().

303  {
304  $this->schedule_type = (int)$a_value;
305  }
+ Here is the caller graph for this function:

◆ update()

ilObjBookingPool::update ( )

update object data

Returns
boolean

Definition at line 73 of file class.ilObjBookingPool.php.

References $ilDB, getDBFields(), and ilObject\getId().

74  {
75  global $ilDB;
76 
77  if (!parent::update())
78  {
79  return false;
80  }
81 
82  // put here object specific stuff
83  if($this->getId())
84  {
85  $ilDB->update("booking_settings", $this->getDBFields(),
86  array("booking_pool_id" => array("integer", $this->getId())));
87  }
88 
89  return true;
90  }
getDBFields()
Parse properties for sql statements.
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:

Field Documentation

◆ $offline

ilObjBookingPool::$offline = true
protected

Definition at line 16 of file class.ilObjBookingPool.php.

Referenced by isOffline().

◆ $overall_limit

ilObjBookingPool::$overall_limit
protected

Definition at line 19 of file class.ilObjBookingPool.php.

Referenced by getOverallLimit().

◆ $public_log

ilObjBookingPool::$public_log
protected

Definition at line 17 of file class.ilObjBookingPool.php.

Referenced by hasPublicLog().

◆ $schedule_type

ilObjBookingPool::$schedule_type
protected

Definition at line 18 of file class.ilObjBookingPool.php.

Referenced by getScheduleType().

◆ TYPE_FIX_SCHEDULE

const ilObjBookingPool::TYPE_FIX_SCHEDULE = 1

◆ TYPE_NO_SCHEDULE


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