Public Member Functions | Data Fields

ilObjChat Class Reference

Inheritance diagram for ilObjChat:
Collaboration diagram for ilObjChat:

Public Member Functions

 ilObjChat ($a_id=0, $a_call_by_reference=true)
 Constructor public.
 read ()
 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)

Data Fields

 $server_conf
 $server_comm
 $chat_room
 $chat_user

Detailed Description

Definition at line 41 of file class.ilObjChat.php.


Member Function Documentation

ilObjChat::__formatBody ( &$  user,
&$  lang 
)

Definition at line 163 of file class.ilObjChat.php.

References $lang, and ilObject::getRefId().

Referenced by sendMessage().

        {
                $room_id = $this->chat_room->getRoomId();

                $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 .= "<a class=\"navigation\" href=\"./chat/chat.php?room_id=".$room_id."&ref_id=".$this->getRefId()."\" target=\"_blank\">".
                        $lang->txt("chat_to_chat_body")."</a>";

                return $body;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjChat::__formatRecipient ( &$  user  ) 

Definition at line 149 of file class.ilObjChat.php.

References $user.

Referenced by sendMessage().

        {
                if(is_object($user))
                {
                        return $user->getLogin();
                }
                return false;
        }

Here is the caller graph for this function:

ilObjChat::__formatSubject ( &$  lang  ) 

Definition at line 158 of file class.ilObjChat.php.

References $lang.

Referenced by sendMessage().

        {
                return $lang->txt("chat_invitation_subject");
        }

Here is the caller graph for this function:

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

Returns:
boolean true if object was removed completely; false if only a references was removed

Reimplemented from ilObject.

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

References ilObject::$id, $query, and $res.

        {
                if(!parent::delete())
                {
                        return false;
                }
                $rooms = $this->chat_room->getAllRoomsOfObject();
                foreach($rooms as $id)
                {
                        $this->chat_room->delete($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);

                return true;
        }

ilObjChat::getHTMLDirectory (  ) 

Reimplemented from ilObject.

Definition at line 132 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());
        }

Here is the call graph for this function:

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

Parameters:
integer $a_parent_ref ref id of parent object
Returns:
integer new ref id

Reimplemented from ilObject.

Definition at line 76 of file class.ilObjChat.php.

References ilObjectFactory::getInstanceByRefId().

        {
                $tmp_obj =& ilObjectFactory::getInstanceByRefId(parent::ilClone($a_parent_ref));
        }

Here is the call graph for this function:

ilObjChat::ilObjChat ( a_id = 0,
a_call_by_reference = true 
)

Constructor public.

Parameters:
integer reference_id or object_id
boolean treat the id as reference_id (true) or object_id (false)

Definition at line 54 of file class.ilObjChat.php.

References ilObject::getRefId(), 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->getRefId());
        }

Here is the call graph for this function:

ilObjChat::read (  ) 

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

References ilObject::getRefId().

        {
                // 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->getRefId());
        }

Here is the call graph for this function:

ilObjChat::sendMessage ( a_id  ) 

Definition at line 109 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;
        }

Here is the call graph for this function:


Field Documentation

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.


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