ILIAS  release_4-4 Revision
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjDataCollection Class Reference

Class ilObjDataCollection. More...

+ Inheritance diagram for ilObjDataCollection:
+ Collaboration diagram for ilObjDataCollection:

Public Member Functions

 initType ()
 
 doRead ()
 
 doClone ()
 doClone More...
 
 doUpdate ()
 
 setMainTableId ($a_val)
 set main Table Id More...
 
 getMainTableId ()
 get main Table Id More...
 
 doCloneObject (ilObjDataCollection $new_obj, $a_target_id, $a_copy_id=0)
 Clone DCL. More...
 
 cloneStructure ($original_id)
 Attention only use this for objects who have not yet been created (use like: $x = new ilObjDataCollection; $x->cloneStructure($id)) More...
 
 setOnline ($a_val)
 setOnline More...
 
 getOnline ()
 getOnline More...
 
 setRating ($a_val)
 setRating More...
 
 getRating ()
 getRating More...
 
 setPublicNotes ($a_val)
 setPublicNotes More...
 
 getPublicNotes ()
 getPublicNotes More...
 
 setApproval ($a_val)
 setApproval More...
 
 getApproval ()
 getApproval More...
 
 setNotification ($a_val)
 setNotification More...
 
 getNotification ()
 getNotification More...
 
 hasPermissionToAddTable ()
 
 _hasRecords ()
 _hasRecords More...
 
 getTables ()
 
 getVisibleTables ()
 
- Public Member Functions inherited from ilObject2
 __construct ($a_id=0, $a_reference=true)
 Constructor public. More...
 
 withReferences ()
 
 read ($a_force_db=false)
 Read data from db. More...
 
 getId ()
 
 setId ($a_id)
 
 setRefId ($a_id)
 
 getRefId ()
 
 getType ()
 
 setType ($a_type)
 
 getPresentationTitle ()
 
 getTitle ()
 
 getUntranslatedTitle ()
 
 setTitle ($a_title)
 
 getDescription ()
 
 setDescription ($a_desc)
 
 getLongDescription ()
 
 getImportId ()
 
 setImportId ($a_import_id)
 
 getOwner ()
 
 getOwnerName ()
 
 _lookupOwnerName ($a_owner_id)
 
 setOwner ($a_owner)
 
 getCreateDate ()
 
 getLastUpdateDate ()
 
 setObjDataRecord ($a_record)
 
 create ($a_clone_mode=false)
 
 update ()
 
 MDUpdateListener ($a_element)
 
 createMetaData ()
 
 updateMetaData ()
 
 deleteMetaData ()
 
 updateOwner ()
 
 _getIdForImportId ($a_import_id)
 
 _lookupOwner ($a_id)
 
 _lookupLastUpdate ($a_id, $a_as_string=false)
 
 _getLastUpdateOfObjects ($a_objs)
 
 _setDeletedDate ($a_ref_id)
 
 _resetDeletedDate ($a_ref_id)
 
 _lookupDeletedDate ($a_ref_id)
 
 _writeTitle ($a_obj_id, $a_title)
 
 _writeDescription ($a_obj_id, $a_desc)
 
 _writeImportId ($a_obj_id, $a_import_id)
 
 _isInTrash ($a_ref_id)
 
 _hasUntrashedReference ($a_obj_id)
 
 _getObjectsDataForType ($a_type, $a_omit_trash=false)
 
 putInTree ($a_parent_ref)
 
 setPermissions ($a_parent_ref)
 
 createReference ()
 
 countReferences ()
 
 delete ()
 
 initDefaultRoles ()
 
 createRoleFolder ()
 
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 
 setRegisterMode ($a_bool)
 
 isUserRegistered ($a_user_id=0)
 
 requireRegistration ()
 
 appendCopyInfo ($a_target_id, $a_copy_id)
 
 cloneMetaData ($target_obj)
 
 cloneObject ($a_target_id, $a_copy_id=null, $a_omit_tree=false)
 
 cloneDependencies ($a_target_id, $a_copy_id)
 
- 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...
 
 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...
 
 createRoleFolder ()
 creates a local role folder 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 sendNotification ($a_action, $a_table_id, $a_record_id=NULL)
 
static _checkAccess ($data_collection_id)
 
static _hasWriteAccess ($ref)
 
static _hasReadAccess ($ref)
 
static _hasTableByTitle ($title, $obj_id)
 Checks if a DataCollection has a table with a given title. More...
 
- Static Public Member Functions inherited from ilObject2
static _lookupObjIdByImportId ($a_import_id)
 
static _getAllReferences ($a_id)
 
static _lookupTitle ($a_id)
 
static _getIdsForTitle ($title, $type='', $partialmatch=false)
 
static _lookupDescription ($a_id)
 
static _lookupObjId ($a_id)
 
static _lookupType ($a_id, $a_reference=false)
 
static _lookupObjectId ($a_ref_id)
 
static _exists ($a_id, $a_reference=false)
 
static _getObjectsByType ($a_obj_type="", $a_owner="")
 
static _prepareCloneSelection ($a_ref_ids, $new_type)
 
static _getIcon ($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
 
- 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...
 

Protected Member Functions

 doCreate ()
 
 doDelete ()
 
- Protected Member Functions inherited from ilObject2
 initType ()
 
 doRead ()
 
 doCreate ()
 
 beforeCreate ()
 
 doUpdate ()
 
 beforeUpdate ()
 
 doMDUpdateListener ($a_element)
 
 beforeMDUpdateListener ($a_element)
 
 doCreateMetaData ()
 
 beforeCreateMetaData ()
 
 doUpdateMetaData ()
 
 beforeUpdateMetaData ()
 
 doDelete ()
 
 beforeDelete ()
 
 doCloneObject ($new_obj, $a_target_id, $a_copy_id=null)
 
 beforeCloneObject ()
 

Additional Inherited Members

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

Detailed Description

Class ilObjDataCollection.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
Id
class.ilObjFolder.php 25528 2010-09-03 10:37:11Z smeyer

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

Member Function Documentation

◆ _checkAccess()

static ilObjDataCollection::_checkAccess (   $data_collection_id)
static

Definition at line 415 of file class.ilObjDataCollection.php.

Referenced by ilDataCollectionTableEditGUI\save().

416  {
417  global $ilAccess;
418 
419  $perm = false;
420  $references = self::_getAllReferences($data_collection_id);
421 
422  if($ilAccess->checkAccess("add_entry", "", array_shift($references)))
423  {
424  $perm = true;
425  }
426 
427  return $perm;
428  }
+ Here is the caller graph for this function:

◆ _hasReadAccess()

static ilObjDataCollection::_hasReadAccess (   $ref)
static
Parameters
$refint the reference id of the datacollection object to check.
Returns
bool whether or not the current user has add/edit_entry access to the referenced datacollection

Definition at line 445 of file class.ilObjDataCollection.php.

Referenced by ilDataCollectionTable\hasPermissionToAddRecord(), ilDataCollectionTable\hasPermissionToDeleteRecord(), and ilDataCollectionTable\hasPermissionToEditRecord().

446  {
447  global $ilAccess;
448 
449  return $ilAccess->checkAccess("add_entry", "", $ref);
450  }
+ Here is the caller graph for this function:

◆ _hasRecords()

ilObjDataCollection::_hasRecords ( )

_hasRecords

Returns
boolean

Definition at line 456 of file class.ilObjDataCollection.php.

457  {
458  /*foreach($this->getTables() as $table)
459  {
460  if($table->_hasRecords())
461  {
462  return true;
463  }
464  }
465  return false;
466  */
467  return true;
468  }

◆ _hasTableByTitle()

static ilObjDataCollection::_hasTableByTitle (   $title,
  $obj_id 
)
static

Checks if a DataCollection has a table with a given title.

Parameters
$titleTitle of table
$obj_idObj-ID of the table
Returns
bool

Definition at line 504 of file class.ilObjDataCollection.php.

References $result, and ilObject\$title.

Referenced by ilDataCollectionTableEditGUI\checkInput().

504  {
505  global $ilDB;
506  $result = $ilDB->query('SELECT * FROM il_dcl_table WHERE obj_id = ' . $ilDB->quote($obj_id, 'integer') . ' AND title = ' . $ilDB->quote($title, 'text'));
507  return ($ilDB->numRows($result)) ? true : false;
508  }
$result
+ Here is the caller graph for this function:

◆ _hasWriteAccess()

static ilObjDataCollection::_hasWriteAccess (   $ref)
static
Parameters
$refint the reference id of the datacollection object to check.
Returns
bool whether or not the current user has admin/write access to the referenced datacollection

Definition at line 434 of file class.ilObjDataCollection.php.

Referenced by ilDataCollectionFieldListGUI\checkAccess(), ilDataCollectionTableEditGUI\checkPermission(), ilDataCollectionRecordViewGUI\doExtReplace(), ilDataCollectionTable\hasPermissionToAddRecord(), ilDataCollectionTable\hasPermissionToAddTable(), ilDataCollectionTable\hasPermissionToDeleteRecord(), ilDataCollectionTable\hasPermissionToEditRecord(), ilDataCollectionTable\hasPermissionToFields(), ilDataCollectionRecordEditGUI\initForm(), ilDataCollectionRecordListGUI\listRecords(), and ilDataCollectionRecordEditGUI\save().

435  {
436  global $ilAccess;
437 
438  return $ilAccess->checkAccess("write", "", $ref);
439  }
+ Here is the caller graph for this function:

◆ cloneStructure()

ilObjDataCollection::cloneStructure (   $original_id)

Attention only use this for objects who have not yet been created (use like: $x = new ilObjDataCollection; $x->cloneStructure($id))

Parameters
$original_idThe original ID of the dataselection you want to clone it's structure

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

References ilDataCollectionField\_getFieldIdByTitle(), ilDataCollectionTable\_getTableIdByTitle(), doUpdate(), ilDataCollectionCache\getFieldCache(), ilObject2\getId(), ilDataCollectionCache\getTableCache(), getTables(), ilDataCollectionDatatype\INPUTFORMAT_REFERENCE, ilDataCollectionField\PROPERTYID_REFERENCE, setApproval(), setMainTableId(), setNotification(), setOnline(), setPublicNotes(), and setRating().

Referenced by doCloneObject().

267  {
268  $original = new ilObjDataCollection($original_id);
269 
270  $this->setApproval($original->getApproval());
271  $this->setNotification($original->getNotification());
272  $this->setOnline($original->getOnline());
273  $this->setPublicNotes($original->getPublicNotes());
274  $this->setRating($original->getRating());
275 
276  //delete old tables.
277  foreach($this->getTables() as $table)
278  {
279  $table->doDelete(true);
280  }
281 
282  //add new tables.
283  foreach($original->getTables() as $table)
284  {
286  $new_table->setObjId($this->getId());
287  $new_table->cloneStructure($table->getId());
288 
289  if($table->getId() == $original->getMainTableId())
290  {
291  $this->setMainTableId($new_table->getId());
292  }
293  }
294 
295 
296  // update because maintable id is now set.
297  $this->doUpdate();
298 
299  // Set new field-ID of referenced fields
300  foreach ($original->getTables() as $origTable) {
301  foreach ($origTable->getRecordFields() as $origField) {
302  if ($origField->getDatatypeId() == ilDataCollectionDatatype::INPUTFORMAT_REFERENCE) {
303  $newRefId = null;
304  $origFieldRefObj = ilDataCollectionCache::getFieldCache($origField->getFieldRef());
305  $origRefTable = ilDataCollectionCache::getTableCache($origFieldRefObj->getTableId());
306  // Lookup the new ID of the referenced field in the actual DC
307  $tableId = ilDataCollectionTable::_getTableIdByTitle($origRefTable->getTitle(), $this->getId());
308  $fieldId = ilDataCollectionField::_getFieldIdByTitle($origFieldRefObj->getTitle(), $tableId);
309  $field = ilDataCollectionCache::getFieldCache($fieldId);
310  $newRefId = $field->getId();
311  // Set the new refID in the actual DC
312  $tableId = ilDataCollectionTable::_getTableIdByTitle($origTable->getTitle(), $this->getId());
313  $fieldId = ilDataCollectionField::_getFieldIdByTitle($origField->getTitle(), $tableId);
314  $field = ilDataCollectionCache::getFieldCache($fieldId);
315  $field->setPropertyvalue($newRefId, ilDataCollectionField::PROPERTYID_REFERENCE);
316  $field->doUpdate();
317  }
318  }
319  }
320 
321  }
setMainTableId($a_val)
set main Table Id
setPublicNotes($a_val)
setPublicNotes
static _getFieldIdByTitle($title, $table_id)
setApproval($a_val)
setApproval
static _getTableIdByTitle($title, $obj_id)
Class ilObjDataCollection.
setNotification($a_val)
setNotification
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doClone()

ilObjDataCollection::doClone ( )

doClone

Returns
boolean

Definition at line 82 of file class.ilObjDataCollection.php.

83  {
84  global $x;
85 
86 
87 
88  return true;
89  }

◆ doCloneObject()

ilObjDataCollection::doCloneObject ( ilObjDataCollection  $new_obj,
  $a_target_id,
  $a_copy_id = 0 
)

Clone DCL.

Parameters
ilObjDataCollectionnew object
inttarget ref_id
intcopy id
Returns
ilObjPoll

Definition at line 252 of file class.ilObjDataCollection.php.

References cloneStructure(), and ilObject2\getRefId().

253  {
254  $new_obj->cloneStructure($this->getRefId());
255 
256  return $new_obj;
257  }
cloneStructure($original_id)
Attention only use this for objects who have not yet been created (use like: $x = new ilObjDataCollec...
+ Here is the call graph for this function:

◆ doCreate()

ilObjDataCollection::doCreate ( )
protected

Definition at line 51 of file class.ilObjDataCollection.php.

References getApproval(), ilObject2\getId(), getNotification(), getOnline(), getPublicNotes(), getRating(), ilDataCollectionCache\getTableCache(), and ilObject2\getTitle().

52  {
53  global $ilDB;
54 
55  //Create Main Table - The title of the table is per default the title of the data collection object
56  include_once("./Modules/DataCollection/classes/class.ilDataCollectionTable.php");
58  $main_table->setObjId($this->getId());
59  $main_table->setTitle($this->getTitle());
60  $main_table->setAddPerm(1);
61  $main_table->setEditPerm(1);
62  $main_table->setDeletePerm(1);
63  $main_table->setEditByOwner(1);
64  $main_table->setLimited(0);
65  $main_table->doCreate();
66 
67  $ilDB->insert("il_dcl_data", array(
68  "id" => array("integer", $this->getId()),
69  "main_table_id" => array("integer", (int) $main_table->getId()),
70  "is_online" => array("integer", (int) $this->getOnline()),
71  "rating" => array("integer", (int) $this->getRating()),
72  "public_notes" => array("integer", (int) $this->getPublicNotes()),
73  "approval" => array("integer", (int) $this->getApproval()),
74  "notification" => array("integer", (int) $this->getNotification()),
75  ));
76  }
+ Here is the call graph for this function:

◆ doDelete()

ilObjDataCollection::doDelete ( )
protected

Definition at line 94 of file class.ilObjDataCollection.php.

References $query, ilObject2\getId(), and getTables().

95  {
96  global $ilDB;
97 
98  foreach($this->getTables() as $table)
99  {
100  $table->doDelete(true);
101  }
102 
103  $query = "DELETE FROM il_dcl_data WHERE id = ".$ilDB->quote($this->getId(), "integer");
104  $ilDB->manipulate($query);
105  }
+ Here is the call graph for this function:

◆ doRead()

ilObjDataCollection::doRead ( )

Definition at line 31 of file class.ilObjDataCollection.php.

References $data, $result, ilDB\fetchObject(), setApproval(), setMainTableId(), setNotification(), setOnline(), setPublicNotes(), and setRating().

32  {
33  global $ilDB;
34 
35  $result = $ilDB->query("SELECT * FROM il_dcl_data WHERE id = ".$ilDB->quote($this->getId(), "integer"));
36 
37  $data = $ilDB->fetchObject($result);
38  $this->setMainTableId($data->main_table_id);
39  $this->setOnline($data->is_online);
40  $this->setRating($data->rating);
41  $this->setApproval($data->approval);
42  $this->setPublicNotes($data->public_notes);
43  $this->setNotification($data->notification);
44  }
$result
setMainTableId($a_val)
set main Table Id
setPublicNotes($a_val)
setPublicNotes
fetchObject($a_set)
Fetch row as object from result set.
while($lm_rec=$ilDB->fetchAssoc($lm_set)) $data
setApproval($a_val)
setApproval
setNotification($a_val)
setNotification
+ Here is the call graph for this function:

◆ doUpdate()

ilObjDataCollection::doUpdate ( )

Definition at line 110 of file class.ilObjDataCollection.php.

References getApproval(), ilObject2\getId(), getMainTableId(), getNotification(), getOnline(), getPublicNotes(), and getRating().

Referenced by cloneStructure().

111  {
112  global $ilDB;
113 
114  $ilDB->update("il_dcl_data", array(
115  "id" => array("integer", $this->getId()),
116  "main_table_id" => array("integer", (int) $this->getMainTableId()),
117  "is_online" => array("integer", (int) $this->getOnline()),
118  "rating" => array("integer", (int) $this->getRating()),
119  "public_notes" => array("integer", (int) $this->getPublicNotes()),
120  "approval" => array("integer", (int) $this->getApproval()),
121  "notification" => array("integer", (int) $this->getNotification()),
122  ),
123  array(
124  "id" => array("integer", $this->getId())
125  )
126  );
127  }
getMainTableId()
get main Table Id
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getApproval()

ilObjDataCollection::getApproval ( )

getApproval

Definition at line 383 of file class.ilObjDataCollection.php.

Referenced by doCreate(), and doUpdate().

384  {
385  return $this->approval;
386  }
+ Here is the caller graph for this function:

◆ getMainTableId()

ilObjDataCollection::getMainTableId ( )

get main Table Id

Definition at line 238 of file class.ilObjDataCollection.php.

Referenced by doUpdate().

239  {
240  return $this->main_table_id;
241  }
+ Here is the caller graph for this function:

◆ getNotification()

ilObjDataCollection::getNotification ( )

getNotification

Definition at line 399 of file class.ilObjDataCollection.php.

Referenced by doCreate(), and doUpdate().

400  {
401  return $this->notification;
402  }
+ Here is the caller graph for this function:

◆ getOnline()

ilObjDataCollection::getOnline ( )

getOnline

Definition at line 335 of file class.ilObjDataCollection.php.

Referenced by doCreate(), and doUpdate().

336  {
337  return $this->is_online;
338  }
+ Here is the caller graph for this function:

◆ getPublicNotes()

ilObjDataCollection::getPublicNotes ( )

getPublicNotes

Definition at line 367 of file class.ilObjDataCollection.php.

Referenced by doCreate(), and doUpdate().

368  {
369  return $this->public_notes;
370  }
+ Here is the caller graph for this function:

◆ getRating()

ilObjDataCollection::getRating ( )

getRating

Definition at line 351 of file class.ilObjDataCollection.php.

Referenced by doCreate(), and doUpdate().

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

◆ getTables()

ilObjDataCollection::getTables ( )
Returns
ilDataCollectionTable[] Returns an array of tables of this collection with ids of the tables as keys.

Definition at line 473 of file class.ilObjDataCollection.php.

References $query, ilObject2\getId(), and ilDataCollectionCache\getTableCache().

Referenced by cloneStructure(), doDelete(), and getVisibleTables().

474  {
475  global $ilDB;
476 
477  $query = "SELECT id FROM il_dcl_table WHERE obj_id = ".$ilDB->quote($this->getId(), "integer");
478  $set = $ilDB->query($query);
479  $tables = array();
480 
481  while($rec = $ilDB->fetchAssoc($set))
482  {
483  $tables[$rec['id']] = ilDataCollectionCache::getTableCache($rec['id']);
484  }
485 
486  return $tables;
487  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getVisibleTables()

ilObjDataCollection::getVisibleTables ( )

Definition at line 489 of file class.ilObjDataCollection.php.

References getTables().

489  {
490  $tables = array();
491  foreach($this->getTables() as $table){
492  if($table->getIsVisible())
493  $tables[$table->getId()] = $table;
494  }
495  return $tables;
496  }
+ Here is the call graph for this function:

◆ hasPermissionToAddTable()

ilObjDataCollection::hasPermissionToAddTable ( )

Definition at line 407 of file class.ilObjDataCollection.php.

References ilObject2\getId().

408  {
409  return self::_checkAccess($this->getId());
410  }
+ Here is the call graph for this function:

◆ initType()

ilObjDataCollection::initType ( )

Definition at line 23 of file class.ilObjDataCollection.php.

24  {
25  $this->type = "dcl";
26  }

◆ sendNotification()

static ilObjDataCollection::sendNotification (   $a_action,
  $a_table_id,
  $a_record_id = NULL 
)
static

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

References $_GET, $ilUser, $t, ilLanguageFactory\_getLanguageOfUser(), ilLink\_getLink(), ilObjUser\_lookupFullname(), ilObjUser\_lookupLogin(), ilUserUtil\getNamePresentation(), ilNotification\getNotificationsForObject(), ilDataCollectionCache\getRecordCache(), ilDataCollectionCache\getTableCache(), ilNotification\TYPE_DATA_COLLECTION, and ilNotification\updateNotificationTime().

Referenced by ilDataCollectionRecord\doDelete(), ilDataCollectionRecord\doUpdate(), and ilDataCollectionRecordEditGUI\save().

134  {
135  global $ilUser, $ilAccess;
136 
137  // If coming from trash, never send notifications and don't load dcl Object
138  if ($_GET['ref_id'] == SYSTEM_FOLDER_ID) {
139  return;
140  }
141 
142  $dclObj = new ilObjDataCollection($_GET['ref_id']);
143 
144  if($dclObj->getNotification() != 1)
145  {
146  return;
147  }
148  $obj_table = ilDataCollectionCache::getTableCache($a_table_id);
149  $obj_dcl = $obj_table->getCollectionObject();
150 
151  // recipients
152  include_once "./Services/Notification/classes/class.ilNotification.php";
154  if(!sizeof($users))
155  {
156  return;
157  }
158 
160 
161  //FIXME $_GET['ref_id]
162  include_once "./Services/Link/classes/class.ilLink.php";
163  $link = ilLink::_getLink($_GET['ref_id']);
164 
165  // prepare mail content
166  // use language of recipient to compose message
167  include_once "./Services/Language/classes/class.ilLanguageFactory.php";
168 
169 
170  // send mails
171  include_once "./Services/Mail/classes/class.ilMail.php";
172  include_once "./Services/User/classes/class.ilObjUser.php";
173  include_once "./Services/Language/classes/class.ilLanguageFactory.php";
174  include_once("./Services/User/classes/class.ilUserUtil.php");
175  include_once("./Services/User/classes/class.ilUserUtil.php");
176  include_once("./Modules/DataCollection/classes/class.ilDataCollectionTable.php");
177 
178  foreach(array_unique($users) as $idx => $user_id)
179  {
180  // the user responsible for the action should not be notified
181  // FIXME $_GET['ref_id]
182  if($user_id != $ilUser->getId() && $ilAccess->checkAccessOfUser($user_id, 'read', '', $_GET['ref_id']))
183  {
184  // use language of recipient to compose message
185  $ulng = ilLanguageFactory::_getLanguageOfUser($user_id);
186  $ulng->loadLanguageModule('dcl');
187 
188  $subject = sprintf($ulng->txt('dcl_change_notification_subject'), $obj_dcl->getTitle());
189  // update/delete
190  $message = $ulng->txt("dcl_hello")." ".ilObjUser::_lookupFullname($user_id).",\n\n";
191  $message .= $ulng->txt('dcl_change_notification_dcl_'.$a_action).":\n\n";
192  $message .= $ulng->txt('obj_dcl').": ".$obj_dcl->getTitle()."\n\n";
193  $message .= $ulng->txt('dcl_table').": ".$obj_table->getTitle()."\n\n";
194  $message .= $ulng->txt('dcl_record').":\n";
195  $message .= "------------------------------------\n";
196  if($a_record_id)
197  {
198  $record = ilDataCollectionCache::getRecordCache($a_record_id);
199  if(!$record->getTableId())
200  $record->setTableId($a_table_id);
201 // $message .= $ulng->txt('dcl_record_id').": ".$a_record_id.":\n";
202  $t = "";
203  foreach($record->getTable()->getVisibleFields() as $field){
204  if($record->getRecordField($field->getId())){
205  $t .= $field->getTitle().": ".$record->getRecordField($field->getId())->getPlainText()."\n";
206  }
207  }
208  $message .= $t."\n";
209  }
210  $message .= "------------------------------------\n";
211  $message .= $ulng->txt('dcl_changed_by').": ".$ilUser->getFullname()." ".ilUserUtil::getNamePresentation($ilUser->getId())."\n\n";
212  $message .= $ulng->txt('dcl_change_notification_link').": ".$link."\n\n";
213 
214  $message .= $ulng->txt('dcl_change_why_you_receive_this_email');
215 
216  $mail_obj = new ilMail(ANONYMOUS_USER_ID);
217  $mail_obj->appendInstallationSignature(true);
218  $mail_obj->sendMail(ilObjUser::_lookupLogin($user_id), "", "", $subject, $message, array(), array("system"));
219  }
220  else
221  {
222  unset($users[$idx]);
223  }
224  }
225  }
static getRecordCache($record_id=0)
$_GET["client_id"]
static updateNotificationTime($type, $id, array $user_ids, $page_id=false)
Update the last mail timestamp for given object and users.
static getNotificationsForObject($type, $id, $page_id=null, $ignore_threshold=false)
Get all users for given object.
_lookupFullname($a_user_id)
Lookup Full Name.
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true)
Default behaviour is:
Class Mail this class handles base functions for mail handling.
_lookupLogin($a_user_id)
lookup login
static _getLanguageOfUser($a_usr_id)
Get language object of user.
global $ilUser
Definition: imgupload.php:15
Class ilObjDataCollection.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setApproval()

ilObjDataCollection::setApproval (   $a_val)

setApproval

Definition at line 375 of file class.ilObjDataCollection.php.

Referenced by cloneStructure(), and doRead().

376  {
377  $this->approval = $a_val;
378  }
+ Here is the caller graph for this function:

◆ setMainTableId()

ilObjDataCollection::setMainTableId (   $a_val)

set main Table Id

Definition at line 230 of file class.ilObjDataCollection.php.

Referenced by cloneStructure(), and doRead().

231  {
232  $this->main_table_id = $a_val;
233  }
+ Here is the caller graph for this function:

◆ setNotification()

ilObjDataCollection::setNotification (   $a_val)

setNotification

Definition at line 391 of file class.ilObjDataCollection.php.

Referenced by cloneStructure(), and doRead().

392  {
393  $this->notification = $a_val;
394  }
+ Here is the caller graph for this function:

◆ setOnline()

ilObjDataCollection::setOnline (   $a_val)

setOnline

Definition at line 327 of file class.ilObjDataCollection.php.

Referenced by cloneStructure(), and doRead().

328  {
329  $this->is_online = $a_val;
330  }
+ Here is the caller graph for this function:

◆ setPublicNotes()

ilObjDataCollection::setPublicNotes (   $a_val)

setPublicNotes

Definition at line 359 of file class.ilObjDataCollection.php.

Referenced by cloneStructure(), and doRead().

360  {
361  $this->public_notes = $a_val;
362  }
+ Here is the caller graph for this function:

◆ setRating()

ilObjDataCollection::setRating (   $a_val)

setRating

Definition at line 343 of file class.ilObjDataCollection.php.

Referenced by cloneStructure(), and doRead().

344  {
345  $this->rating = $a_val;
346  }
+ Here is the caller graph for this function:

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