Public Member Functions | |
ilObjChat ($a_id=0, $a_call_by_reference=true) | |
Constructor public. | |
read () | |
initDefaultRoles () | |
init default roles settings public | |
ilClone ($a_parent_ref) | |
ilClone object into tree basic clone function. | |
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!! | |
sendMessage ($a_id) | |
getHTMLDirectory () | |
__formatRecipient (&$user) | |
__formatSubject (&$lang) | |
__formatBody (&$user, &$lang) | |
__initChatRecording () | |
_getPublicChatRefId () | |
Data Fields | |
$server_conf | |
$server_comm | |
$chat_room | |
$chat_user | |
$chat_recording = null |
Definition at line 41 of file class.ilObjChat.php.
ilObjChat::__formatBody | ( | &$ | user, | |
&$ | lang | |||
) |
Definition at line 208 of file class.ilObjChat.php.
References $lang, and ilObject::getRefId().
Referenced by sendMessage().
{ global $ilClientIniFile; $room_id = $this->chat_room->getRoomId(); $body = sprintf($this->lng->txt("chat_notification_intro"), $ilClientIniFile->readVariable("client","name"), ILIAS_HTTP_PATH)."\n\n"; $body .= $lang->txt("chat_invitation_body")." "; $body .= $this->ilias->account->getFullname(); $body .= "\n"; $body .= $lang->txt("chat_chatroom_body")." ".$this->chat_room->getTitle()."\n\n"; $body .= $lang->txt('chat_to_chat_body'); $body .= (': '.ILIAS_HTTP_PATH."/chat/chat.php?room_id=".$room_id."&ref_id=".$this->getRefId()); return $body; }
ilObjChat::__formatRecipient | ( | &$ | user | ) |
Definition at line 194 of file class.ilObjChat.php.
References $user.
Referenced by sendMessage().
ilObjChat::__formatSubject | ( | &$ | lang | ) |
Definition at line 203 of file class.ilObjChat.php.
References $lang.
Referenced by sendMessage().
{ return $lang->txt("chat_invitation_subject"); }
ilObjChat::__initChatRecording | ( | ) |
Definition at line 226 of file class.ilObjChat.php.
References ilObject::getId().
{ if(!is_object($this->chat_recording)) { include_once 'chat/classes/class.ilChatRecording.php'; $this->chat_recording = new ilChatRecording($this->getId()); return true; } return false; }
ilObjChat::_getPublicChatRefId | ( | ) |
Definition at line 239 of file class.ilObjChat.php.
References $tree.
Referenced by ilPersonalDesktopGUI::__showChatInvitation().
{ static $public_chat_ref_id = 0; global $tree; if($public_chat_ref_id) { return $public_chat_ref_id; } else { foreach($tree->getSubTree($tree->getNodeData(SYSTEM_FOLDER_ID)) as $node) { if($node['type'] == 'chat') { return $public_chat_ref_id = $node['child']; } } } return false; }
ilObjChat::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!!
public
Reimplemented from ilObject.
Definition at line 109 of file class.ilObjChat.php.
References $data, $query, and $res.
{ if(!parent::delete()) { return false; } $rooms = $this->chat_room->getAllRoomsOfObject(); foreach($rooms as $room) { $this->chat_room->delete($room["room_id"]); } // FINALLY DELETE MESSAGES IN PUBLIC ROOM $query = "DELETE FROM chat_room_messages ". "WHERE chat_id = '".$this->getRefId()."'"; $res = $this->ilias->db->query($query); // AND ALL USERS $query = "DELETE FROM chat_user ". "WHERE chat_id = '".$this->getRefId()."'"; $res = $this->ilias->db->query($query); // AND ALL RECORDINGS $query = "SELECT record_id FROM chat_records WHERE chat_id = '".$this->getId()."'"; $res = $this->ilias->db->query($query); if (DB::isError($res)) die("ilObjChat::delete(): " . $res->getMessage() . "<br>SQL-Statement: ".$q); if (($num = $res->numRows()) > 0) { for ($i = 0; $i < $num; $i++) { $data = $res->fetchRow(DB_FETCHMODE_ASSOC); $this->ilias->db->query("DELETE FROM chat_record_data WHERE record_id = '" . $data["record_id"] . "'"); } } $query = "DELETE FROM chat_records WHERE chat_id = '".$this->getId()."'"; $res = $this->ilias->db->query($query); return true; }
ilObjChat::getHTMLDirectory | ( | ) |
Reimplemented from ilObject.
Definition at line 177 of file class.ilObjChat.php.
References $file_obj, and ilObject::getTitle().
{ $tmp_tpl =& new ilTemplate("tpl.chat_export.html",true,true); $this->chat_room->setRoomId(0); $tmp_tpl->setVariable("CHAT_NAME",$this->getTitle()); $tmp_tpl->setVariable("CHAT_DATE",strftime("%c",time())); $tmp_tpl->setVariable("CONTENT",$this->chat_room->getAllMessages()); $file_obj =& new ilFileDataChat($this); // return directory name of index.html return $file_obj->addFile('index.html',$tmp_tpl->get()); }
ilObjChat::ilClone | ( | $ | a_parent_ref | ) |
ilClone object into tree basic clone function.
Register new object in object_data, creates reference and insert reference ID in tree. All object specific data must be copied in the ilClone function of the appropriate object class. Look in ilObjForum::ilClone() for example code
public
integer | $a_parent_ref ref id of parent object |
Reimplemented from ilObject.
Definition at line 103 of file class.ilObjChat.php.
References ilObjectFactory::getInstanceByRefId().
{ $tmp_obj =& ilObjectFactory::getInstanceByRefId(parent::ilClone($a_parent_ref)); }
ilObjChat::ilObjChat | ( | $ | a_id = 0 , |
|
$ | a_call_by_reference = true | |||
) |
Constructor public.
integer | reference_id or object_id | |
boolean | treat the id as reference_id (true) or object_id (false) |
Definition at line 55 of file class.ilObjChat.php.
References ilObject::getId(), and ilObject::ilObject().
{ $this->type = "chat"; $this->ilObject($a_id,$a_call_by_reference); $this->server_conf =& new ilChatServerConfig(); $this->server_comm =& new ilChatServerCommunicator($this); $this->chat_user =& new ilChatUser(); $this->chat_room =& new ilChatRoom($this->getId()); }
ilObjChat::initDefaultRoles | ( | ) |
init default roles settings public
Reimplemented from ilObject.
Definition at line 82 of file class.ilObjChat.php.
References $permissions, $rbacadmin, ilRbacReview::_getOperationIdsByName(), ilObject::createRoleFolder(), ilObject::getId(), and ilObject::getRefId().
{ global $rbacadmin; // create a local role folder $rolf_obj =& $this->createRoleFolder(); // create moderator role and assign role to rolefolder... $role_obj = $rolf_obj->createRole("il_chat_moderator_".$this->getRefId(),"Moderator of chat obj_no.".$this->getId()); // grant permissions: visible,read,write,chat_moderate $permissions = ilRbacReview::_getOperationIdsByName(array('visible','read','moderate')); $rbacadmin->grantPermission($role_obj->getId(), $permissions, $this->getRefId()); unset($rolf_obj); return array($role_obj->getId()); }
ilObjChat::read | ( | ) |
Definition at line 66 of file class.ilObjChat.php.
References ilObject::getId().
{ // USED ilObjectFactory::getInstance... parent::read(); $this->server_conf =& new ilChatServerConfig(); $this->server_comm =& new ilChatServerCommunicator($this); $this->chat_user =& new ilChatUser(); $this->chat_room =& new ilChatRoom($this->getId()); }
ilObjChat::sendMessage | ( | $ | a_id | ) |
Definition at line 154 of file class.ilObjChat.php.
References $_SESSION, $tmp_user, __formatBody(), __formatRecipient(), __formatSubject(), and ilObjectFactory::getInstanceByObjId().
{ include_once "./classes/class.ilMail.php"; $tmp_mail_obj = new ilMail($_SESSION["AccountId"]); // GET USER OBJECT $tmp_user = ilObjectFactory::getInstanceByObjId($a_id); // GET USERS LANGUAGE $tmp_lang =& new ilLanguage($tmp_user->getLanguage()); $tmp_lang->loadLanguageModule("chat"); $message = $tmp_mail_obj->sendMail($this->__formatRecipient($tmp_user),"","",$this->__formatSubject($tmp_lang), $this->__formatBody($tmp_user,$tmp_lang),array(),array("normal")); unset($tmp_mail_obj); unset($tmp_lang); unset($tmp_user); return true; }
ilObjChat::$chat_recording = null |
Definition at line 47 of file class.ilObjChat.php.
ilObjChat::$chat_room |
Definition at line 45 of file class.ilObjChat.php.
ilObjChat::$chat_user |
Definition at line 46 of file class.ilObjChat.php.
ilObjChat::$server_comm |
Definition at line 44 of file class.ilObjChat.php.
ilObjChat::$server_conf |
Definition at line 43 of file class.ilObjChat.php.