issue 2119. supporting php 5.4. communication module.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12722 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
flyskyko 2013-02-07 07:57:54 +00:00
parent 78b90cb3cd
commit 687fe8683b
8 changed files with 643 additions and 200 deletions

View file

@ -1,5 +1,6 @@
<?php
require_once(_XE_PATH_.'modules/communication/communication.view.php');
require_once(_XE_PATH_ . 'modules/communication/communication.view.php');
/**
* @class communicationMobile
@ -8,9 +9,10 @@ require_once(_XE_PATH_.'modules/communication/communication.view.php');
*/
class communicationMobile extends communicationView
{
function init()
{
$oCommunicationModel = &getModel('communication');
$oCommunicationModel = getModel('communication');
$this->communication_config = $oCommunicationModel->getConfig();
$skin = $this->communication_config->mskin;
@ -20,7 +22,7 @@ class communicationMobile extends communicationView
$tpl_path = sprintf('%sm.skins/%s', $this->module_path, $skin);
$this->setTemplatePath($tpl_path);
$oLayoutModel = &getModel('layout');
$oLayoutModel = getModel('layout');
$layout_info = $oLayoutModel->getLayout($this->communication_config->mlayout_srl);
if($layout_info)
{
@ -50,18 +52,20 @@ class communicationMobile extends communicationView
// Set the variables
$message_srl = Context::get('message_srl');
$message_type = Context::get('message_type');
if(!in_array($message_type, array('R','S','T')))
if(!in_array($message_type, array('R', 'S', 'T')))
{
$message_type = 'R';
Context::set('message_type', $message_type);
}
$oCommunicationModel = &getModel('communication');
$oCommunicationModel = getModel('communication');
// extract contents if message_srl exists
if($message_srl)
if($message_srl)
{
$templateFile = 'read_message';
$columnList = array('message_srl', 'sender_srl', 'receiver_srl', 'message_type', 'title', 'content', 'readed', 'regdate');
$message = $oCommunicationModel->getSelectedMessage($message_srl, $columnList);
switch($message->message_type)
{
case 'R':
@ -70,12 +74,14 @@ class communicationMobile extends communicationView
return $this->stop('msg_invalid_request');
}
break;
case 'S':
if($message->sender_srl != $logged_info->member_srl)
{
return $this->stop('msg_invalid_request');
}
break;
case 'T':
if($message->receiver_srl != $logged_info->member_srl && $message->sender_srl != $logged_info->member_srl)
{
@ -83,7 +89,8 @@ class communicationMobile extends communicationView
}
break;
}
if($message->message_srl == $message_srl && ($message->receiver_srl == $logged_info->member_srl || $message->sender_srl == $logged_info->member_srl) )
if($message->message_srl == $message_srl && ($message->receiver_srl == $logged_info->member_srl || $message->sender_srl == $logged_info->member_srl))
{
stripEmbedTagForAdmin($message->content, $message->sender_srl);
Context::set('message', $message);
@ -93,6 +100,7 @@ class communicationMobile extends communicationView
{
$templateFile = 'messages';
}
// Extract a list
$columnList = array('message_srl', 'readed', 'title', 'member.member_srl', 'member.nick_name', 'message.regdate', 'readed_date');
$output = $oCommunicationModel->getMessages($message_type, $columnList);
@ -125,19 +133,31 @@ class communicationMobile extends communicationView
*/
function dispCommunicationSendMessage()
{
$oCommunicationModel = &getModel('communication');
$oMemberModel = &getModel('member');
// Error appears if not logged-in
if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
// get receipient's information
$oCommunicationModel = getModel('communication');
$oMemberModel = getModel('member');
// Error appears if not logged-in
if(!Context::get('is_logged'))
{
return $this->stop('msg_not_logged');
}
$logged_info = Context::get('logged_info');
// get receipient's information
// check inalid request
$receiver_srl = Context::get('receiver_srl');
if(!$receiver_srl) return $this->stop('msg_invalid_request');
if(!$receiver_srl)
{
return $this->stop('msg_invalid_request');
}
// check receiver and sender are same
if($logged_info->member_srl == $receiver_srl) return $this->stop('msg_cannot_send_to_yourself');
if($logged_info->member_srl == $receiver_srl)
{
return $this->stop('msg_cannot_send_to_yourself');
}
// get message_srl of the original message if it is a reply
$message_srl = Context::get('message_srl');
if($message_srl)
@ -145,8 +165,8 @@ class communicationMobile extends communicationView
$source_message = $oCommunicationModel->getSelectedMessage($message_srl);
if($source_message->message_srl == $message_srl && $source_message->sender_srl == $receiver_srl)
{
$source_message->title = "[re] ".$source_message->title;
$source_message->content = "\r\n<br />\r\n<br /><div style=\"padding-left:5px; border-left:5px solid #DDDDDD;\">".trim($source_message->content)."</div>";
$source_message->title = "[re] " . $source_message->title;
$source_message->content = "\r\n<br />\r\n<br /><div style=\"padding-left:5px; border-left:5px solid #DDDDDD;\">" . trim($source_message->content) . "</div>";
Context::set('source_message', $source_message);
}
}