Skip to content
Snippets Groups Projects
Commit 57109f53 authored by Peter Rotich's avatar Peter Rotich
Browse files

Refactor how postMessage method is called - it now expects a hashtable

parent 269c5106
Branches
Tags
No related merge requests found
...@@ -419,7 +419,7 @@ class MailFetcher { ...@@ -419,7 +419,7 @@ class MailFetcher {
$errors=array(); $errors=array();
if($ticket) { if($ticket) {
if(!($msgid=$ticket->postMessage($var['message'], 'Email', $var['mid'], $var['header']))) if(!($msgid=$ticket->postMessage($vars, 'Email')))
return false; return false;
} elseif (($ticket=Ticket::create($var, $errors, 'Email'))) { } elseif (($ticket=Ticket::create($var, $errors, 'Email'))) {
......
...@@ -1379,40 +1379,43 @@ class Ticket { ...@@ -1379,40 +1379,43 @@ class Ticket {
} }
//Insert message from client //Insert message from client
function postMessage($message,$source='',$emsgid=null,$headers='',$newticket=false){ function postMessage($vars, $source='', $alerts=true) {
global $cfg; global $cfg;
if(!$this->getId()) return 0; if(!$vars || !$vars['message'])
return 0;
//Strip quoted reply...on emailed replies //Strip quoted reply...on emailed replies
if(!strcasecmp($source, 'Email') if(!strcasecmp($source, 'Email')
&& $cfg->stripQuotedReply() && $cfg->stripQuotedReply()
&& ($tag=$cfg->getReplySeparator()) && strpos($message, $tag)) && ($tag=$cfg->getReplySeparator()) && strpos($vars['message'], $tag))
list($message)=split($tag, $message); list($vars['message']) = split($tag, $vars['message']);
# XXX: Refuse auto-response messages? (via email) XXX: No - but kill our auto-responder. # XXX: Refuse auto-response messages? (via email) XXX: No - but kill our auto-responder.
$sql='INSERT INTO '.TICKET_THREAD_TABLE.' SET created=NOW()' $sql='INSERT INTO '.TICKET_THREAD_TABLE.' SET created=NOW()'
.' ,thread_type="M" ' .' ,thread_type="M" '
.' ,ticket_id='.db_input($this->getId()) .' ,ticket_id='.db_input($this->getId())
# XXX: Put Subject header into the 'title' field # XXX: Put Subject header into the 'title' field
.' ,body='.db_input(Format::striptags($message)) //Tags/code stripped...meaning client can not send in code..etc .' ,body='.db_input(Format::striptags($vars['message'])) //Tags/code stripped...meaning client can not send in code..etc
.' ,source='.db_input($source?$source:$_SERVER['REMOTE_ADDR']) .' ,source='.db_input($source?$source:$_SERVER['REMOTE_ADDR'])
.' ,ip_address='.db_input($_SERVER['REMOTE_ADDR']); .' ,ip_address='.db_input($_SERVER['REMOTE_ADDR']);
if(!db_query($sql) || !($msgid=db_insert_id())) return 0; //bail out.... if(!db_query($sql) || !($msgid=db_insert_id()))
return 0; //bail out....
$this->setLastMsgId($msgid); $this->setLastMsgId($msgid);
if ($emsgid !== null) { if (isset($vars['mid'])) {
$sql='INSERT INTO '.TICKET_EMAIL_INFO_TABLE $sql='INSERT INTO '.TICKET_EMAIL_INFO_TABLE
.' SET message_id='.db_input($msgid) .' SET message_id='.db_input($msgid)
.', email_mid='.db_input($emsgid) .', email_mid='.db_input($vars['mid'])
.', headers='.db_input($headers); .', headers='.db_input($vars['header']);
db_query($sql); db_query($sql);
} }
if($newticket) return $msgid; //Our work is done... if(!$alerts) return $msgid; //Our work is done...
$autorespond = true; $autorespond = true;
if ($autorespond && $headers && TicketFilter::isAutoResponse(Mail_Parse::splitHeaders($headers))) if ($autorespond && $headers && TicketFilter::isAutoResponse(Mail_Parse::splitHeaders($headers)))
...@@ -1431,7 +1434,7 @@ class Ticket { ...@@ -1431,7 +1434,7 @@ class Ticket {
//If enabled...send alert to staff (New Message Alert) //If enabled...send alert to staff (New Message Alert)
if($cfg->alertONNewMessage() && $tpl && $email && ($msg=$tpl->getNewMessageAlertMsgTemplate())) { if($cfg->alertONNewMessage() && $tpl && $email && ($msg=$tpl->getNewMessageAlertMsgTemplate())) {
$msg = $this->replaceVars($msg, array('message' => $message)); $msg = $this->replaceVars($msg, array('message' => $vars['message']));
//Build list of recipients and fire the alerts. //Build list of recipients and fire the alerts.
$recipients=array(); $recipients=array();
...@@ -2219,7 +2222,7 @@ class Ticket { ...@@ -2219,7 +2222,7 @@ class Ticket {
$dept = $ticket->getDept(); $dept = $ticket->getDept();
//post the message. //post the message.
$msgid=$ticket->postMessage($vars['message'],$source,$vars['mid'],$vars['header'],true); $msgid=$ticket->postMessage($vars , $source, false);
// Configure service-level-agreement for this ticket // Configure service-level-agreement for this ticket
$ticket->selectSLAId($vars['slaId']); $ticket->selectSLAId($vars['slaId']);
......
...@@ -40,7 +40,7 @@ if($_POST && is_object($ticket) && $ticket->getId()): ...@@ -40,7 +40,7 @@ if($_POST && is_object($ticket) && $ticket->getId()):
if(!$errors) { if(!$errors) {
//Everything checked out...do the magic. //Everything checked out...do the magic.
if(($msgid=$ticket->postMessage($_POST['message'],'Web'))) { if(($msgid=$ticket->postMessage(array('message'=>$_POST['message']), 'Web'))) {
//Upload files //Upload files
if($cfg->allowOnlineAttachments() && $_FILES['attachments']) if($cfg->allowOnlineAttachments() && $_FILES['attachments'])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment