Inheritance diagram for ilObjChat:
Collaboration diagram for ilObjChat:Public Member Functions | |
| ilObjChat ($a_id=0, $a_call_by_reference=true) | |
| Constructor public. | |
| cloneObject ($a_target_id, $a_copy_id=0) | |
| Clone Object. | |
| cloneAutoGeneratedRoles ($new_obj) | |
| Clone forum moderator role. | |
| read () | |
| initDefaultRoles () | |
| init default roles settings public | |
| 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 () | |
Static Public Member Functions | |
| static | _lookupModeratorRole ($a_ref_id) |
| Lookup moderator role. | |
Data Fields | |
| $server_conf | |
| $server_comm | |
| $chat_room | |
| $chat_user | |
| $chat_recording = null | |
Class ilObjTest.
Definition at line 40 of file class.ilObjChat.php.
| ilObjChat::__formatBody | ( | &$ | user, | |
| &$ | lang | |||
| ) |
Definition at line 268 of file class.ilObjChat.php.
References $lang, ilObject::getRefId(), and ilObject::getTitle().
Referenced by sendMessage().
{
global $ilClientIniFile;
$room_id = $this->chat_room->getRoomId();
$room_title = $this->chat_room->getTitle();
$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->getTitle();
if ($room_title != '')
{
$body .= ', '.$room_title;
}
$body .= "\n\n";
$body .= $lang->txt('chat_to_chat_body');
$body .= ': '.ILIAS_HTTP_PATH."/chat.php?room_id=".$room_id."&ref_id=".$this->getRefId();
return $body;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjChat::__formatRecipient | ( | &$ | user | ) |
Definition at line 254 of file class.ilObjChat.php.
References $user.
Referenced by sendMessage().
Here is the caller graph for this function:| ilObjChat::__formatSubject | ( | &$ | lang | ) |
Definition at line 263 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::__initChatRecording | ( | ) |
Definition at line 292 of file class.ilObjChat.php.
References ilObject::getId().
{
if(!is_object($this->chat_recording))
{
include_once 'Modules/Chat/classes/class.ilChatRecording.php';
$this->chat_recording = new ilChatRecording($this->getId());
return true;
}
return false;
}
Here is the call graph for this function:| ilObjChat::_getPublicChatRefId | ( | ) |
Definition at line 305 of file class.ilObjChat.php.
Referenced by ilUsersOnlineBlockGUI::__showChatInvitation(), and ilChatRoom::getAllRooms().
{
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;
}
Here is the caller graph for this function:| static ilObjChat::_lookupModeratorRole | ( | $ | a_ref_id | ) | [static] |
Lookup moderator role.
public
| int | ref_id of forum |
Definition at line 73 of file class.ilObjChat.php.
References $res.
Referenced by cloneAutoGeneratedRoles().
{
global $ilDB;
$mod_title = 'il_chat_moderator_'.$a_ref_id;
$query = "SELECT * FROM object_data WHERE title = ".$ilDB->quote($mod_title);
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
return $row->obj_id;
}
return 0;
}
Here is the caller graph for this function:| ilObjChat::cloneAutoGeneratedRoles | ( | $ | new_obj | ) |
Clone forum moderator role.
public
| object | forum object |
Definition at line 112 of file class.ilObjChat.php.
References $ilLog, _lookupModeratorRole(), and ilObject::getRefId().
Referenced by cloneObject().
{
global $ilLog,$rbacadmin,$rbacreview;
$moderator = ilObjChat::_lookupModeratorRole($this->getRefId());
$new_moderator = ilObjChat::_lookupModeratorRole($new_obj->getRefId());
$source_rolf = $rbacreview->getRoleFolderIdOfObject($this->getRefId());
$target_rolf = $rbacreview->getRoleFolderIdOfObject($new_obj->getRefId());
if(!$moderator || !$new_moderator || !$source_rolf || !$target_rolf)
{
$ilLog->write(__METHOD__.' : Error cloning auto generated role: il_chat_moderator');
}
$rbacadmin->copyRolePermissions($moderator,$source_rolf,$target_rolf,$new_moderator,true);
$ilLog->write(__METHOD__.' : Finished copying of role il_chat_moderator.');
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjChat::cloneObject | ( | $ | a_target_id, | |
| $ | a_copy_id = 0 | |||
| ) |
Clone Object.
public
| int | source_id int copy id |
Reimplemented from ilObject.
Definition at line 97 of file class.ilObjChat.php.
References cloneAutoGeneratedRoles().
{
global $ilDB,$ilUser;
$new_obj = parent::cloneObject($a_target_id,$a_copy_id);
$this->cloneAutoGeneratedRoles($new_obj);
}
Here is the call 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
Reimplemented from ilObject.
Definition at line 167 of file class.ilObjChat.php.
References $data, $res, ilObject::getId(), and ilObject::getRefId().
{
global $ilDB;
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 = ".$ilDB->quote($this->getRefId())."";
$res = $this->ilias->db->query($query);
// AND ALL USERS
$query = "DELETE FROM chat_user ".
"WHERE chat_id = ".$ilDB->quote($this->getRefId())."";
$res = $this->ilias->db->query($query);
// AND ALL RECORDINGS
$query = "SELECT record_id FROM chat_records WHERE
chat_id = ".$ilDB->quote($this->getId())."";
$res = $this->ilias->db->query($query);
if (DB::isError($res)) die("ilObjChat::delete(): " . $res->getMessage() . "<br>SQL-Statement: ".$query);
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 = ".$ilDB->quote($data["record_id"])."");
}
}
$query = "DELETE FROM chat_records WHERE
chat_id = ".$ilDB->quote($this->getId())."";
$res = $this->ilias->db->query($query);
return true;
}
Here is the call graph for this function:| ilObjChat::getHTMLDirectory | ( | ) |
Reimplemented from ilObject.
Definition at line 237 of file class.ilObjChat.php.
References 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::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 54 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());
}
Here is the call graph for this function:| ilObjChat::initDefaultRoles | ( | ) |
init default roles settings public
Reimplemented from ilObject.
Definition at line 146 of file class.ilObjChat.php.
References 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());
}
Here is the call graph for this function:| ilObjChat::read | ( | ) |
Definition at line 130 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());
}
Here is the call graph for this function:| ilObjChat::sendMessage | ( | $ | a_id | ) |
Definition at line 214 of file class.ilObjChat.php.
References $_SESSION, __formatBody(), __formatRecipient(), __formatSubject(), and ilObjectFactory::getInstanceByObjId().
{
include_once "Services/Mail/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:| ilObjChat::$chat_recording = null |
Definition at line 46 of file class.ilObjChat.php.
| ilObjChat::$chat_room |
Definition at line 44 of file class.ilObjChat.php.
| ilObjChat::$chat_user |
Definition at line 45 of file class.ilObjChat.php.
| ilObjChat::$server_comm |
Definition at line 43 of file class.ilObjChat.php.
| ilObjChat::$server_conf |
Definition at line 42 of file class.ilObjChat.php.
1.7.1