ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilObject2.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once("./Services/Object/classes/class.ilObject.php");
5 
14 abstract class ilObject2 extends ilObject
15 {
22  function __construct($a_id = 0, $a_reference = true)
23  {
24  $this->initType();
25  parent::ilObject($a_id, $a_reference);
26  }
27 
28  abstract protected function initType();
29 
30  final function withReferences() { return parent::withReferences(); }
31 
35  final function read($a_force_db = false)
36  {
37  parent::read($a_force_db);
38  $this->doRead();
39  }
40  protected function doRead()
41  {
42 
43  }
44 
45  final function getId() { return parent::getId(); }
46  final function setId($a_id) { return parent::setId($a_id); }
47  final function setRefId($a_id) { return parent::setRefId($a_id); }
48  final function getRefId() { return parent::getRefId(); }
49  final function getType() { return parent::getType(); }
50  final function setType($a_type) { return parent::setType($a_type); }
51  final function getPresentationTitle() { return parent::getPresentationTitle(); }
52  final function getTitle() { return parent::getTitle(); }
53  final function getUntranslatedTitle() { return parent::getUntranslatedTitle(); }
54  final function setTitle($a_title) { return parent::setTitle($a_title); }
55  final function getDescription() { return parent::getDescription(); }
56  final function setDescription($a_desc) { return parent::setDescription($a_desc); }
57  final function getLongDescription() { return parent::getLongDescription(); }
58  final function getImportId() { return parent::getImportId(); }
59  final function setImportId($a_import_id) { return parent::setImportId($a_import_id); }
60  final static function _lookupObjIdByImportId($a_import_id) { return parent::_lookupObjIdByImportId($a_import_id); }
61  final function getOwner() { return parent::getOwner(); }
62  final function getOwnerName() { return parent::getOwnerName(); }
63  final function _lookupOwnerName($a_owner_id) { return parent::_lookupOwnerName($a_owner_id); }
64  final function setOwner($a_owner) { return parent::setOwner($a_owner); }
65  final function getCreateDate() { return parent::getCreateDate(); }
66  final function getLastUpdateDate() { return parent::getLastUpdateDate(); }
67  final function setObjDataRecord($a_record) { return parent::setObjDataRecord($a_record); }
68 
69  final function create($a_clone_mode = false)
70  {
71  if($this->beforeCreate())
72  {
73  $id = parent::create();
74  if($id)
75  {
76  $this->doCreate($a_clone_mode);
77  return $id;
78  }
79  }
80  }
81 
82  protected function doCreate()
83  {
84 
85  }
86 
87  protected function beforeCreate()
88  {
89  return true;
90  }
91 
92  final function update()
93  {
94  if($this->beforeUpdate())
95  {
96  if (!parent::update())
97  {
98  return false;
99  }
100  $this->doUpdate();
101 
102  return true;
103  }
104 
105  return false;
106  }
107 
108  protected function doUpdate()
109  {
110 
111  }
112 
113  protected function beforeUpdate()
114  {
115  return true;
116  }
117 
118  final function MDUpdateListener($a_element)
119  {
120  if($this->beforeMDUpdateListener($a_element))
121  {
122  if(parent::MDUpdateListener($a_element))
123  {
124  $this->doMDUpdateListener($a_element);
125  return true;
126  }
127  }
128  return false;
129  }
130 
131  protected function doMDUpdateListener($a_element)
132  {
133 
134  }
135 
136  protected function beforeMDUpdateListener($a_element)
137  {
138  return true;
139  }
140 
141  final function createMetaData()
142  {
143  if($this->beforeCreateMetaData())
144  {
145  if(parent::createMetaData())
146  {
147  $this->doCreateMetaData();
148  return true;
149  }
150  }
151  return false;
152  }
153 
154  protected function doCreateMetaData()
155  {
156 
157  }
158 
159  protected function beforeCreateMetaData()
160  {
161  return true;
162  }
163 
164  final function updateMetaData()
165  {
166  if($this->beforeUpdateMetaData())
167  {
168  if(parent::updateMetaData())
169  {
170  $this->doUpdateMetaData();
171  return true;
172  }
173  }
174  return false;
175  }
176 
177  protected function doUpdateMetaData()
178  {
179 
180  }
181 
182  protected function beforeUpdateMetaData()
183  {
184  return true;
185  }
186 
187  final function deleteMetaData() { return parent::deleteMetaData(); }
188  final function updateOwner() { return parent::updateOwner(); }
189  final function _getIdForImportId($a_import_id) { return parent::_getIdForImportId($a_import_id); }
190  static final function _getAllReferences($a_id) { return parent::_getAllReferences($a_id); }
191  final static function _lookupTitle($a_id) { return parent::_lookupTitle($a_id); }
192  final function _lookupOwner($a_id) { return parent::_lookupOwner($a_id); }
193  final static function _getIdsForTitle($title, $type = '', $partialmatch = false) { return parent::_getIdsForTitle($title, $type, $partialmatch); }
194  final static function _lookupDescription($a_id) { return parent::_lookupDescription($a_id); }
195  final function _lookupLastUpdate($a_id, $a_as_string = false) { return parent::_lookupLastUpdate($a_id, $a_as_string); }
196  final function _getLastUpdateOfObjects($a_objs) { return parent::_getLastUpdateOfObjects($a_objs); }
197  final static function _lookupObjId($a_id) { return parent::_lookupObjId($a_id); }
198  final function _setDeletedDate($a_ref_id) { return parent::_setDeletedDate($a_ref_id); }
199  final function _resetDeletedDate($a_ref_id) { return parent::_resetDeletedDate($a_ref_id); }
200  final function _lookupDeletedDate($a_ref_id) { return parent::_lookupDeletedDate($a_ref_id); }
201  final function _writeTitle($a_obj_id, $a_title) { return parent::_writeTitle($a_obj_id, $a_title); }
202  final function _writeDescription($a_obj_id, $a_desc) { return parent::_writeDescription($a_obj_id, $a_desc); }
203  final function _writeImportId($a_obj_id, $a_import_id) { return parent::_writeImportId($a_obj_id, $a_import_id); }
204  final static function _lookupType($a_id,$a_reference = false) { return parent::_lookupType($a_id,$a_reference); }
205  final function _isInTrash($a_ref_id) { return parent::_isInTrash($a_ref_id); }
206  final function _hasUntrashedReference($a_obj_id) { return parent::_hasUntrashedReference($a_obj_id); }
207  final static function _lookupObjectId($a_ref_id) { return parent::_lookupObjectId($a_ref_id); }
208  final function _getObjectsDataForType($a_type, $a_omit_trash = false) { return parent::_getObjectsDataForType($a_type, $a_omit_trash); }
209  final function putInTree($a_parent_ref) { return parent::putInTree($a_parent_ref); }
210  final function setPermissions($a_parent_ref) { return parent::setPermissions($a_parent_ref); }
211  final function createReference() { return parent::createReference(); }
212  final function countReferences() { return parent::countReferences(); }
213 
214  final function delete()
215  {
216  if($this->beforeDelete())
217  {
218  if(parent::delete())
219  {
220  $this->doDelete();
221  $this->id = null;
222  return true;
223  }
224  }
225  return false;
226  }
227 
228  protected function doDelete()
229  {
230 
231  }
232 
233  protected function beforeDelete()
234  {
235  return true;
236  }
237 
238  function initDefaultRoles() { return array(); }
239 
240  final function createRoleFolder() { return parent::createRoleFolder(); }
241  final function _exists($a_id, $a_reference = false) { return parent::_exists($a_id, $a_reference); }
242  function notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params = 0) { return parent::notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params); }
243  final function setRegisterMode($a_bool) { return parent::setRegisterMode($a_bool); }
244  final function isUserRegistered($a_user_id = 0) { return parent::isUserRegistered($a_user_id); }
245  final function requireRegistration() { return parent::requireRegistration(); }
246  //final function getXMLZip() { return parent::getXMLZip(); }
247  //final function getHTMLDirectory() { return parent::getHTMLDirectory(); }
248  final static function _getObjectsByType($a_obj_type = "", $a_owner = "") { return parent::_getObjectsByType($a_obj_type, $a_owner); }
249 
250  final static function _prepareCloneSelection($a_ref_ids,$new_type) { return parent::_prepareCloneSelection($a_ref_ids,$new_type); }
251  final function appendCopyInfo($a_target_id,$a_copy_id) { return parent::appendCopyInfo($a_target_id,$a_copy_id); }
252  final function cloneMetaData($target_obj) { return parent::cloneMetaData($target_obj); }
253 
254  final function cloneObject($a_target_id, $a_copy_id = null, $a_omit_tree = false)
255  {
256  if($this->beforeCloneObject())
257  {
258  $new_obj = parent::cloneObject($a_target_id, $a_copy_id, $a_omit_tree);
259  if($new_obj)
260  {
261  $this->doCloneObject($new_obj, $a_target_id, $a_copy_id);
262  return $new_obj;
263  }
264  }
265  }
266 
267  protected function doCloneObject($new_obj, $a_target_id, $a_copy_id = null)
268  {
269 
270  }
271 
272  protected function beforeCloneObject()
273  {
274  return true;
275  }
276 
277  function cloneDependencies($a_target_id,$a_copy_id) { return parent::cloneDependencies($a_target_id,$a_copy_id); }
278 
279  final public static function _getIcon($a_obj_id = "", $a_size = "big", $a_type = "", $a_offline = false) { return parent::_getIcon($a_obj_id, $a_size, $a_type, $a_offline); }
280 
281 }
282 ?>