diff --git a/include/class.thread.php b/include/class.thread.php index 29e1b1d574c44e79bc8c1045b3fbf021fc58f3c4..a1a79e3916ccdea3a16c51adc9ed4b1afdd92a77 100644 --- a/include/class.thread.php +++ b/include/class.thread.php @@ -215,6 +215,19 @@ class Thread { && $thread->getId() )?$thread:null; } + + function getVar($name) { + switch ($name) { + case 'original': + return Message::firstByTicketId($this->ticket->getId()) + ->getBody(); + break; + case 'last_message': + case 'lastmessage': + return $this->ticket->getLastMessage()->getBody(); + break; + } + } } @@ -806,10 +819,18 @@ class Message extends ThreadEntry { } function lastByTicketId($ticketId) { + return self::byTicketId($ticketId); + } + + function firstByTicketId($ticketId) { + return self::byTicketId($ticketId, false); + } + + function byTicketId($ticketId, $last=true) { $sql=' SELECT thread.id FROM '.TICKET_THREAD_TABLE.' thread ' .' WHERE thread_type=\'M\' AND thread.ticket_id = '.db_input($ticketId) - .' ORDER BY thread.id DESC LIMIT 1'; + .sprintf(' ORDER BY thread.id %s LIMIT 1', $last ? 'DESC' : 'ASC'); if (($res = db_query($sql)) && ($id = db_result($res))) return Message::lookup($id); diff --git a/include/class.ticket.php b/include/class.ticket.php index 247d869db5d439c311a3a4dee3ff9904ec60ea00..c3eb29d8db0708ab626b225a3d75318a6f33fe72 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -1293,8 +1293,9 @@ class Ticket { //Strip quoted reply...on emailed replies if(!strcasecmp($origin, 'Email') && $cfg->stripQuotedReply() - && ($tag=$cfg->getReplySeparator()) && strpos($vars['message'], $tag)) - if(list($msg) = split($tag, $vars['message'])) + && ($tag=$cfg->getReplySeparator()) + && strpos($vars['message'], $tag)) + if((list($msg) = explode($tag, $vars['message'], 2)) && trim($msg)) $vars['message'] = $msg; if(isset($vars['ip'])) diff --git a/include/client/faq-category.inc.php b/include/client/faq-category.inc.php index 50a51782f214b8fc28b78f54afdd005c3f1a71df..32b4a9c63c3bb16a3c973d469b5975aa3f6ea5d5 100644 --- a/include/client/faq-category.inc.php +++ b/include/client/faq-category.inc.php @@ -11,7 +11,8 @@ $sql='SELECT faq.faq_id, question, count(attach.file_id) as attachments ' .' FROM '.FAQ_TABLE.' faq ' .' LEFT JOIN '.FAQ_ATTACHMENT_TABLE.' attach ON(attach.faq_id=faq.faq_id) ' .' WHERE faq.ispublished=1 AND faq.category_id='.db_input($category->getId()) - .' GROUP BY faq.faq_id'; + .' GROUP BY faq.faq_id ' + .' ORDER BY question'; if(($res=db_query($sql)) && db_num_rows($res)) { echo ' <h2>Frequently Asked Questions</h2> diff --git a/include/client/knowledgebase.inc.php b/include/client/knowledgebase.inc.php index 1d00ca59ca9ca0b5e6e42724986b61ccef4090fc..79bfa6836857a8b3123d030d8dbfd34c34e2da8a 100644 --- a/include/client/knowledgebase.inc.php +++ b/include/client/knowledgebase.inc.php @@ -78,7 +78,7 @@ if($_REQUEST['q'] || $_REQUEST['cid'] || $_REQUEST['topicId']) { //Search. )"; } - $sql.=' GROUP BY faq.faq_id'; + $sql.=' GROUP BY faq.faq_id ORDER BY question'; echo "<div><strong>Search Results</strong></div><div class='clear'></div>"; if(($res=db_query($sql)) && ($num=db_num_rows($res))) { echo '<div id="faq">'.$num.' FAQs matched your search criteria. diff --git a/include/staff/faq-categories.inc.php b/include/staff/faq-categories.inc.php index 89c2e95d16882d3cd8e82aabef5e64b212e0fd0f..4d05df1be7d4e41170e81250814860b2aa5984c8 100644 --- a/include/staff/faq-categories.inc.php +++ b/include/staff/faq-categories.inc.php @@ -76,7 +76,7 @@ if($_REQUEST['q'] || $_REQUEST['cid'] || $_REQUEST['topicId']) { //Search. )"; } - $sql.=' GROUP BY faq.faq_id'; + $sql.=' GROUP BY faq.faq_id ORDER BY question'; echo "<div><strong>Search Results</strong></div><div class='clear'></div>"; if(($res=db_query($sql)) && db_num_rows($res)) { diff --git a/include/staff/faq-category.inc.php b/include/staff/faq-category.inc.php index f12ed8ae8f3d4c90b0245235525ce4160b6cd836..5f22cb6f89e5b063d3b2a3877226ab2b3de900a0 100644 --- a/include/staff/faq-category.inc.php +++ b/include/staff/faq-category.inc.php @@ -33,7 +33,7 @@ $sql='SELECT faq.faq_id, question, ispublished, count(attach.file_id) as attachm .' FROM '.FAQ_TABLE.' faq ' .' LEFT JOIN '.FAQ_ATTACHMENT_TABLE.' attach ON(attach.faq_id=faq.faq_id) ' .' WHERE faq.category_id='.db_input($category->getId()) - .' GROUP BY faq.faq_id'; + .' GROUP BY faq.faq_id ORDER BY question'; if(($res=db_query($sql)) && db_num_rows($res)) { echo '<div id="faq"> <ol>';