ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilObjChatroom Class Reference

Class ilObjChatroom. More...

+ Inheritance diagram for ilObjChatroom:
+ Collaboration diagram for ilObjChatroom:

Public Member Functions

 __construct ($a_id=0, $a_call_by_reference=true)
 {} More...
 
 setAccessVisibility ($a_value)
 
 getAccessVisibility ()
 
 getAccessType ()
 
 setAccessType ($access_type)
 
 getAccessBegin ()
 
 setAccessBegin ($access_begin)
 
 getAccessEnd ()
 
 setAccessEnd ($access_end)
 
 update ()
 
 read ()
 
 getPersonalInformation (ilChatroomUser $user)
 Prepares and returns $userInfo using given $user object. More...
 
 initDefaultRoles ()
 {} More...
 
 cloneObject ($a_target_id, $a_copy_id=0, $a_omit_tree=false)
 {} More...
 
 delete ()
 {} More...
 
- Public Member Functions inherited from ilObject
 __construct ($a_id=0, $a_reference=true)
 Constructor public. More...
 
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not) More...
 
 read ()
 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 ()
 
 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...
 
 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...
 
 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...
 
 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...
 
 setRegisterMode ($a_bool)
 
 isUserRegistered ($a_user_id=0)
 
 requireRegistration ()
 
 getXMLZip ()
 
 getHTMLDirectory ()
 
 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...
 
 getPossibleSubObjects ($a_filter=true)
 get all possible subobjects of this type the object can decide which types of subobjects are possible jut in time overwrite if the decision distinguish from standard model More...
 

Static Public Member Functions

static _getPublicRefId ()
 
static _getPublicObjId ()
 
- Static Public Member Functions inherited from ilObject
static _lookupObjIdByImportId ($a_import_id)
 
static _lookupImportId ($a_obj_id)
 
static _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id More...
 
static _getIdForImportId ($a_import_id)
 get current object id for import id (static) More...
 
static _getAllReferences ($a_id)
 get all reference ids of object More...
 
static _lookupTitle ($a_id)
 lookup object title More...
 
static _lookupOwner ($a_id)
 lookup object owner More...
 
static _getIdsForTitle ($title, $type='', $partialmatch=false)
 
static _lookupDescription ($a_id)
 lookup object description More...
 
static _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update More...
 
static _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects. More...
 
static _lookupObjId ($a_id)
 
static _setDeletedDate ($a_ref_id)
 only called in ilTree::saveSubTree More...
 
static setDeletedDates ($a_ref_ids)
 Set deleted date type $ilDB. More...
 
static _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes More...
 
static _lookupDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes More...
 
static _writeTitle ($a_obj_id, $a_title)
 write title to db (static) More...
 
static _writeDescription ($a_obj_id, $a_desc)
 write description to db (static) More...
 
static _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static) More...
 
static _lookupType ($a_id, $a_reference=false)
 lookup object type More...
 
static _isInTrash ($a_ref_id)
 checks wether object is in trash More...
 
static _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash More...
 
static _lookupObjectId ($a_ref_id)
 lookup object id More...
 
static _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type 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 fixMissingTitles ($a_type, array &$a_obj_title_map)
 Try to fix missing object titles. More...
 
static _lookupCreationDate ($a_id)
 Lookup creation date. More...
 
static hasAutoRating ($a_type, $a_ref_id)
 Check if auto rating is active for parent group/course. More...
 

Protected Member Functions

 createDefaultRole ()
 

Protected Attributes

 $access_type
 
 $access_begin
 
 $access_end
 
 $access_visibility
 
- Protected Attributes inherited from ilObject
 $objDefinition
 
 $db
 
 $log
 
 $error
 
 $tree
 
 $app_event_handler
 
 $rbacadmin
 
 $rbacreview
 

Additional Inherited Members

- Data Fields inherited from ilObject
const TITLE_LENGTH = 255
 max length of object title More...
 
const DESC_LENGTH = 128
 
 $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
 

Detailed Description

Class ilObjChatroom.

Author
Jan Posselt <jposselt at databay.de>
Version
$Id$

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

Constructor & Destructor Documentation

◆ __construct()

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

{}

Definition at line 38 of file class.ilObjChatroom.php.

References setAccessType(), and ilObjectActivation\TIMINGS_DEACTIVATED.

39  {
41 
42  $this->type = 'chtr';
43  parent::__construct($a_id, $a_call_by_reference);
44  }
setAccessType($access_type)
+ Here is the call graph for this function:

Member Function Documentation

◆ _getPublicObjId()

static ilObjChatroom::_getPublicObjId ( )
static

Definition at line 151 of file class.ilObjChatroom.php.

References $DIC, and $row.

Referenced by ilObjChatroomListGUI\__construct().

152  {
153  global $DIC;
154 
155  $rset = $DIC->database()->query('SELECT object_id FROM chatroom_settings WHERE room_type=' . $DIC->database()->quote('default', 'text'));
156  if ($row = $DIC->database()->fetchAssoc($rset)) {
157  return $row['object_id'];
158  }
159  return 0;
160  }
global $DIC
Definition: saml.php:7
+ Here is the caller graph for this function:

◆ _getPublicRefId()

static ilObjChatroom::_getPublicRefId ( )
static

Definition at line 145 of file class.ilObjChatroom.php.

Referenced by ilChatUserActionProvider\__construct(), ilUsersOnlineBlockGUI\__showChatInvitation(), ilChatroom\checkPermissions(), ilUsersOnlineBlockGUI\fillRow(), ilChatroomAdminViewGUI\forcePublicRoom(), and ilOnScreenChatMenuGUI\init().

146  {
147  $settings = new ilSetting('chatroom');
148  return $settings->get('public_room_ref', 0);
149  }
+ Here is the caller graph for this function:

◆ cloneObject()

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

{}

Definition at line 204 of file class.ilObjChatroom.php.

References $DIC, ilRbacLog\add(), ilChatroom\byObjectId(), ilRbacLog\CREATE_OBJECT, ilRbacLog\gatherFaPa(), ilChatroomAdmin\getDefaultConfiguration(), and ilObject\getId().

205  {
206  global $DIC;
207 
208  require_once 'Modules/Chatroom/classes/class.ilChatroom.php';
209  $original_room = ilChatroom::byObjectId($this->getId());
210 
211  $newObj = parent::cloneObject($a_target_id, $a_copy_id, $a_omit_tree);
212 
213  $objId = $newObj->getId();
214 
215  $original_settings = $original_room->getSettings();
216  $room = new ilChatroom();
217 
218  $original_settings['object_id'] = $objId;
219 
220  $room->saveSettings($original_settings);
221 
222  include_once "Services/AccessControl/classes/class.ilRbacLog.php";
223  $rbac_log_roles = $DIC->rbac()->review()->getParentRoleIds($newObj->getRefId(), false);
224  $rbac_log = ilRbacLog::gatherFaPa($newObj->getRefId(), array_keys($rbac_log_roles), true);
225  ilRbacLog::add(ilRbacLog::CREATE_OBJECT, $newObj->getRefId(), $rbac_log);
226 
227  require_once 'Modules/Chatroom/classes/class.ilChatroomServerConnector.php';
228  require_once 'Modules/Chatroom/classes/class.ilChatroomServerSettings.php';
229  require_once 'Modules/Chatroom/classes/class.ilChatroomAdmin.php';
230 
231  $settings = ilChatroomAdmin::getDefaultConfiguration()->getServerSettings();
232  $connector = new ilChatroomServerConnector($settings);
233 
234  $connector->sendCreatePrivateRoom($room->getRoomId(), 0, $newObj->getOwner(), $newObj->getTitle());
235 
236  return $newObj;
237  }
global $DIC
Definition: saml.php:7
static getDefaultConfiguration()
Instantiates and returns ilChatroomAdmin object using instance_id and settings from settingsTable...
static gatherFaPa($a_ref_id, array $a_role_ids, $a_add_action=false)
const CREATE_OBJECT
getId()
get object id public
Class ilChatroomServerConnector.
Class ilChatroom.
static add($a_action, $a_ref_id, array $a_diff, $a_source_ref_id=false)
static byObjectId($object_id)
Returns ilChatroom object by given $object_id.
+ Here is the call graph for this function:

◆ createDefaultRole()

ilObjChatroom::createDefaultRole ( )
protected
Returns
ilObjRole

Definition at line 191 of file class.ilObjChatroom.php.

References ilObjRole\createDefaultRole(), ilObject\getId(), and ilObject\getRefId().

Referenced by initDefaultRoles().

192  {
194  'il_chat_moderator_' . $this->getRefId(),
195  "Moderator of chat obj_no." . $this->getId(),
196  'il_chat_moderator',
197  $this->getRefId()
198  );
199  }
static createDefaultRole($a_title, $a_description, $a_tpl_name, $a_ref_id)
getId()
get object id public
getRefId()
get reference id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ delete()

ilObjChatroom::delete ( )

{}

Definition at line 242 of file class.ilObjChatroom.php.

References $DIC, array, ilObjectActivation\deleteAllEntries(), and ilObject\getId().

243  {
244  global $DIC;
245 
246  $DIC->database()->manipulateF(
247  'DELETE FROM chatroom_users WHERE chatroom_users.room_id IN (SELECT chatroom_settings.room_id FROM chatroom_settings WHERE chatroom_settings.object_id = %s)',
248  array('integer'),
249  array($this->getId())
250  );
251 
252  $DIC->database()->manipulateF(
253  'DELETE FROM chatroom_history WHERE chatroom_history.room_id IN (SELECT chatroom_settings.room_id FROM chatroom_settings WHERE chatroom_settings.object_id = %s)',
254  array('integer'),
255  array($this->getId())
256  );
257 
258  $DIC->database()->manipulateF(
259  'DELETE FROM chatroom_bans WHERE chatroom_bans.room_id IN (SELECT chatroom_settings.room_id FROM chatroom_settings WHERE chatroom_settings.object_id = %s)',
260  array('integer'),
261  array($this->getId())
262  );
263 
264  $DIC->database()->manipulateF(
265  'DELETE FROM chatroom_sessions WHERE chatroom_sessions.room_id IN (SELECT chatroom_settings.room_id FROM chatroom_settings WHERE chatroom_settings.object_id = %s)',
266  array('integer'),
267  array($this->getId())
268  );
269 
270  $DIC->database()->manipulateF(
271  '
272  DELETE FROM chatroom_proomaccess
273  WHERE chatroom_proomaccess.proom_id IN (
274  SELECT chatroom_prooms.proom_id
275  FROM chatroom_prooms WHERE chatroom_prooms.parent_id IN (
276  SELECT chatroom_settings.room_id
277  FROM chatroom_settings
278  WHERE chatroom_settings.object_id = %s
279  )
280  )',
281  array('integer'),
282  array($this->getId())
283  );
284 
285  $DIC->database()->manipulateF(
286  '
287  DELETE FROM chatroom_psessions
288  WHERE chatroom_psessions.proom_id IN (
289  SELECT chatroom_prooms.proom_id
290  FROM chatroom_prooms WHERE chatroom_prooms.parent_id IN (
291  SELECT chatroom_settings.room_id
292  FROM chatroom_settings
293  WHERE chatroom_settings.object_id = %s
294  )
295  )',
296  array('integer'),
297  array($this->getId())
298  );
299 
300  $DIC->database()->manipulateF(
301  'DELETE FROM chatroom_prooms WHERE chatroom_prooms.parent_id IN (SELECT chatroom_settings.room_id FROM chatroom_settings WHERE chatroom_settings.object_id = %s)',
302  array('integer'),
303  array($this->getId())
304  );
305 
306  // Finally delete rooms
307  $DIC->database()->manipulateF(
308  'DELETE FROM chatroom_settings WHERE object_id = %s',
309  array('integer'),
310  array($this->getId())
311  );
312 
313  if ($this->getId()) {
314  if ($this->ref_id) {
316  }
317  }
318 
319  return parent::delete();
320  }
global $DIC
Definition: saml.php:7
getId()
get object id public
Create styles array
The data for the language used.
static deleteAllEntries($a_ref_id)
Delete all db entries for ref id.
+ Here is the call graph for this function:

◆ getAccessBegin()

ilObjChatroom::getAccessBegin ( )
Returns
int

Definition at line 81 of file class.ilObjChatroom.php.

References $access_begin.

Referenced by update().

82  {
83  return $this->access_begin;
84  }
+ Here is the caller graph for this function:

◆ getAccessEnd()

ilObjChatroom::getAccessEnd ( )
Returns
int

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

References $access_end.

Referenced by update().

98  {
99  return $this->access_end;
100  }
+ Here is the caller graph for this function:

◆ getAccessType()

ilObjChatroom::getAccessType ( )
Returns
int

Definition at line 65 of file class.ilObjChatroom.php.

References $access_type.

Referenced by read(), and update().

66  {
67  return $this->access_type;
68  }
+ Here is the caller graph for this function:

◆ getAccessVisibility()

ilObjChatroom::getAccessVisibility ( )
Returns
int

Definition at line 57 of file class.ilObjChatroom.php.

References $access_visibility.

Referenced by update().

58  {
60  }
+ Here is the caller graph for this function:

◆ getPersonalInformation()

ilObjChatroom::getPersonalInformation ( ilChatroomUser  $user)

Prepares and returns $userInfo using given $user object.

Parameters
ilChatroomUser$user
Returns
stdClass

Definition at line 167 of file class.ilObjChatroom.php.

References ilChatroomUser\getUserId(), and ilChatroomUser\getUsername().

168  {
169  $userInfo = new stdClass();
170  $userInfo->username = $user->getUsername();
171  $userInfo->id = $user->getUserId();
172 
173  return $userInfo;
174  }
getUserId()
Returns Ilias User ID.
getUsername()
Returns username from Object or SESSION.
+ Here is the call graph for this function:

◆ initDefaultRoles()

ilObjChatroom::initDefaultRoles ( )

{}

Definition at line 179 of file class.ilObjChatroom.php.

References array, and createDefaultRole().

180  {
181  include_once './Services/AccessControl/classes/class.ilObjRole.php';
182 
183  $role = $this->createDefaultRole();
184 
185  return array();
186  }
Create styles array
The data for the language used.
+ Here is the call graph for this function:

◆ read()

ilObjChatroom::read ( )

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

References getAccessType(), ilObjectActivation\getItem(), setAccessBegin(), setAccessEnd(), setAccessType(), setAccessVisibility(), and ilObjectActivation\TIMINGS_ACTIVATION.

131  {
132  if ($this->ref_id) {
133  $activation = ilObjectActivation::getItem($this->ref_id);
134  $this->setAccessType($activation['timing_type']);
136  $this->setAccessBegin($activation['timing_start']);
137  $this->setAccessEnd($activation['timing_end']);
138  $this->setAccessVisibility($activation['visible']);
139  }
140  }
141 
142  parent::read();
143  }
setAccessType($access_type)
setAccessBegin($access_begin)
static getItem($a_ref_id)
Get item data.
setAccessVisibility($a_value)
setAccessEnd($access_end)
+ Here is the call graph for this function:

◆ setAccessBegin()

ilObjChatroom::setAccessBegin (   $access_begin)
Parameters
int$access_begin

Definition at line 89 of file class.ilObjChatroom.php.

References $access_begin.

Referenced by read().

90  {
91  $this->access_begin = $access_begin;
92  }
+ Here is the caller graph for this function:

◆ setAccessEnd()

ilObjChatroom::setAccessEnd (   $access_end)
Parameters
int$access_end

Definition at line 105 of file class.ilObjChatroom.php.

References $access_end.

Referenced by read().

106  {
107  $this->access_end = $access_end;
108  }
+ Here is the caller graph for this function:

◆ setAccessType()

ilObjChatroom::setAccessType (   $access_type)
Parameters
int$access_type

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

References $access_type.

Referenced by __construct(), and read().

74  {
75  $this->access_type = $access_type;
76  }
+ Here is the caller graph for this function:

◆ setAccessVisibility()

ilObjChatroom::setAccessVisibility (   $a_value)
Parameters
int$a_value

Definition at line 49 of file class.ilObjChatroom.php.

Referenced by read().

50  {
51  $this->access_visibility = (bool) $a_value;
52  }
+ Here is the caller graph for this function:

◆ update()

ilObjChatroom::update ( )

Definition at line 113 of file class.ilObjChatroom.php.

References getAccessBegin(), getAccessEnd(), getAccessType(), getAccessVisibility(), and League\Flysystem\Adapter\Polyfill\update().

114  {
115  if ($this->ref_id) {
116  $activation = new ilObjectActivation();
117  $activation->setTimingType($this->getAccessType());
118  $activation->setTimingStart($this->getAccessBegin());
119  $activation->setTimingEnd($this->getAccessEnd());
120  $activation->toggleVisible($this->getAccessVisibility());
121  $activation->update($this->ref_id);
122  }
123 
124  return parent::update();
125  }
update($pash, $contents, Config $config)
Class ilObjectActivation.
+ Here is the call graph for this function:

Field Documentation

◆ $access_begin

ilObjChatroom::$access_begin
protected

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

Referenced by getAccessBegin(), and setAccessBegin().

◆ $access_end

ilObjChatroom::$access_end
protected

Definition at line 28 of file class.ilObjChatroom.php.

Referenced by getAccessEnd(), and setAccessEnd().

◆ $access_type

ilObjChatroom::$access_type
protected

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

Referenced by getAccessType(), and setAccessType().

◆ $access_visibility

ilObjChatroom::$access_visibility
protected

Definition at line 33 of file class.ilObjChatroom.php.

Referenced by getAccessVisibility().


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