From 8fa5bc95b800c4447212469dcf4f080839364cac Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Sun, 9 Aug 2015 17:02:04 -0400 Subject: [PATCH] #304 Fix inserting canned templates/responses in the TinyMCE editor --- admin/admin_ticket.php | 27 ++++++++++++++++++++++----- admin/manage_canned.php | 6 +++++- admin/new_ticket.php | 6 +++++- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/admin/admin_ticket.php b/admin/admin_ticket.php index 02073ebd..9842b6bd 100644 --- a/admin/admin_ticket.php +++ b/admin/admin_ticket.php @@ -1943,7 +1943,7 @@ function hesk_printReplyForm() { function hesk_printCanned() { - global $hesklang, $hesk_settings, $can_reply, $ticket; + global $hesklang, $hesk_settings, $can_reply, $ticket, $modsForHesk_settings; /* Can user reply to tickets? */ if ( ! $can_reply) @@ -1972,13 +1972,19 @@ function hesk_printCanned() while ($mysaved = hesk_dbFetchRow($res)) { $can_options .= '\n"; - echo 'myMsgTxt['.$mysaved[0].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", addslashes($mysaved[2]))."';\n"; + if ($modsForHesk_settings['rich_text_for_tickets']) { + echo 'myMsgTxt['.$mysaved[0].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", hesk_html_entity_decode($mysaved[2]))."';\n"; + } else { + echo 'myMsgTxt['.$mysaved[0].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", addslashes($mysaved[2]))."';\n"; + } } ?> function setMessage(msgid) { + var isHtml = ; + var myMsg=myMsgTxt[msgid]; if (myMsg == '') @@ -2021,12 +2027,23 @@ function hesk_printCanned() { if (document.getElementById('moderep').checked) { - document.getElementById('HeskMsg').innerHTML=''; + if (isHtml){ + tinymce.get("message").setContent(''); + tinymce.get("message").execCommand('mceInsertRawHTML', false, myMsg); + } else { + document.getElementById('message').value = myMsg; + } } else { - var oldMsg = document.getElementById('message').value; - document.getElementById('HeskMsg').innerHTML=''; + if (isHtml) { + var oldMsg = tinymce.get("message").getContent(); + tinymce.get("message").setContent(''); + tinymce.get("message").execCommand('mceInsertRawHTML', false, oldMsg + myMsg); + } else { + var oldMsg = document.getElementById('message').value; + document.getElementById('message').value = oldMsg + myMsg; + } } } else diff --git a/admin/manage_canned.php b/admin/manage_canned.php index d6fa2b6a..19c38d66 100644 --- a/admin/manage_canned.php +++ b/admin/manage_canned.php @@ -159,8 +159,12 @@ function hesk_insertAtCursor(myField, myValue) { $options .= '>'.$mysaved['title'].''; - $javascript_messages.='myMsgTxt['.$mysaved['id'].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", addslashes($mysaved['message']) )."';\n"; $javascript_titles.='myTitle['.$mysaved['id'].']=\''.addslashes($mysaved['title'])."';\n"; + if ($modsForHesk_settings['rich_text_for_tickets']) { + $javascript_messages.='myMsgTxt['.$mysaved['id'].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", hesk_html_entity_decode($mysaved['message']) )."';\n"; + } else { + $javascript_messages.='myMsgTxt['.$mysaved['id'].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", addslashes($mysaved['message']) )."';\n"; + } echo ' diff --git a/admin/new_ticket.php b/admin/new_ticket.php index 8799deac..fcb65702 100644 --- a/admin/new_ticket.php +++ b/admin/new_ticket.php @@ -563,7 +563,11 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); while ($mysaved = hesk_dbFetchRow($res)) { $can_options .= '\n"; - echo 'myMsgTxt['.$mysaved[0].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", addslashes($mysaved[2]))."';\n"; + if ($modsForHesk_settings['rich_text_for_tickets']) { + echo 'myMsgTxt['.$mysaved[0].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", hesk_html_entity_decode($mysaved[2]))."';\n"; + } else { + echo 'myMsgTxt['.$mysaved[0].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", addslashes($mysaved[2]))."';\n"; + } echo 'mySubjectTxt['.$mysaved[0].']=\''.str_replace("\r\n","\\r\\n' + \r\n'", addslashes($mysaved[1]))."';\n"; }