#202 Start adding TinyMCE to admin pages.

Still need to fix canned responses on admin_ticket though
merge-requests/2/head
Mike Koch 9 years ago
parent 035c5f092a
commit fc5b47072b

@ -34,6 +34,7 @@
define('IN_SCRIPT',1);
define('HESK_PATH','../');
define('WYSIWYG',1);
/* Get all the required files and functions */
require(HESK_PATH . 'hesk_settings.inc.php');
@ -1870,9 +1871,31 @@ function hesk_printTicketReplies() {
function hesk_printReplyForm() {
global $hesklang, $hesk_settings, $ticket, $admins, $can_options, $options, $can_assign_self, $isManager;
global $hesklang, $hesk_settings, $ticket, $admins, $can_options, $options, $can_assign_self, $isManager, $modsForHesk_settings;
?>
<!-- START REPLY FORM -->
<?php if ($modsForHesk_settings['rich_text_for_tickets']): ?>
<script type="text/javascript">
/* <![CDATA[ */
tinyMCE.init({
mode : "textareas",
editor_selector : "htmlEditor",
elements : "content",
theme : "advanced",
convert_urls : false,
theme_advanced_buttons1 : "cut,copy,paste,|,undo,redo,|,formatselect,fontselect,fontsizeselect,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull",
theme_advanced_buttons2 : "sub,sup,|,charmap,|,bullist,numlist,|,outdent,indent,insertdate,inserttime,preview,|,forecolor,backcolor,|,hr,removeformat,visualaid,|,link,unlink,anchor,image,cleanup,code",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true
});
/* ]]> */
</script>
<?php endif; ?>
<h3 class="text-left"><?php echo $hesklang['add_reply']; ?></h3>
<div class="footerWithBorder"></div>
@ -1935,7 +1958,7 @@ function hesk_printReplyForm() {
<label for="message" class="col-sm-3 control-label"><?php echo $hesklang['message']; ?>: <font class="important">*</font></label>
<div class="col-sm-9">
<span id="HeskMsg">
<textarea class="form-control" name="message" id="message" rows="12" placeholder="<?php echo htmlspecialchars($hesklang['message']); ?>" cols="72"><?php
<textarea class="form-control htmlEditor" name="message" id="message" rows="12" placeholder="<?php echo htmlspecialchars($hesklang['message']); ?>" cols="72"><?php
// Do we have any message stored in session?
if ( isset($_SESSION['ticket_message']) )

@ -34,6 +34,7 @@
define('IN_SCRIPT',1);
define('HESK_PATH','../');
define('WYSIWYG',1);
// Auto-focus first empty or error field
define('AUTOFOCUS', true);
@ -162,6 +163,28 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<div class="footerWithBorder blankSpace"></div>
<!-- START FORM -->
<?php if ($modsForHesk_settings['rich_text_for_tickets']): ?>
<script type="text/javascript">
/* <![CDATA[ */
tinyMCE.init({
mode : "textareas",
editor_selector : "htmlEditor",
elements : "content",
theme : "advanced",
convert_urls : false,
theme_advanced_buttons1 : "cut,copy,paste,|,undo,redo,|,formatselect,fontselect,fontsizeselect,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull",
theme_advanced_buttons2 : "sub,sup,|,charmap,|,bullist,numlist,|,outdent,indent,insertdate,inserttime,preview,|,forecolor,backcolor,|,hr,removeformat,visualaid,|,link,unlink,anchor,image,cleanup,code",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true
});
/* ]]> */
</script>
<?php endif; ?>
<form role="form" class="form-horizontal" method="post" action="admin_submit_ticket.php" name="form1" enctype="multipart/form-data">
<?php if ($hesk_settings['can_sel_lang']) { ?>
<div class="form-group">
@ -443,7 +466,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
echo '<div class="form-group">
<label for="'.$v['name'].'" class="col-sm-3 control-label">'.$v['name'].': '.$v['req'].'</label>
<div class="col-sm-9"><textarea class="form-control" placeholder="'.htmlspecialchars($v['name']).'" id="'.$formattedId.'" name="'.$k.'" rows="'.$size[0].'" cols="'.$size[1].'" '.$cls.'>'.$k_value.'</textarea></div>
<div class="col-sm-9"><textarea class="form-control htmlEditor" placeholder="'.htmlspecialchars($v['name']).'" id="'.$formattedId.'" name="'.$k.'" rows="'.$size[0].'" cols="'.$size[1].'" '.$cls.'>'.$k_value.'</textarea></div>
</div>';
break;
@ -548,6 +571,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
function setMessage(msgid)
{
var useHtmlEditor = <?php echo $modsForHesk_settings['rich_text_for_tickets']; ?>;
var myMsg=myMsgTxt[msgid];
var mySubject=mySubjectTxt[msgid];
@ -555,7 +579,13 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
{
if (document.form1.mode[1].checked)
{
document.getElementById('message').value = '';
if (useHtmlEditor) {
tinymce.get("message").setContent('');
tinymce.get("message").execCommand('mceInsertRawHTML', false, '');
}
else {
document.getElementById('message').value = '';
}
document.getElementById('subject').value = '';
}
return true;
@ -564,16 +594,27 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
{
if (document.getElementById('moderep').checked)
{
document.getElementById('HeskMsg').innerHTML='<textarea class="form-control" name="message" id="message" rows="12" cols="60">'+myMsg+'</textarea>';
document.getElementById('HeskSub').innerHTML='<input class="form-control" type="text" name="subject" id="subject" size="40" maxlength="40" value="'+mySubject+'" />';
if (useHtmlEditor) {
tinymce.get("message").setContent('');
tinymce.get("message").execCommand('mceInsertRawHTML', false, myMsg);
} else {
document.getElementById('message').value = myMsg;
}
document.getElementById('subject').value = mySubject;
}
else
{
var oldMsg = document.getElementById('message').value;
document.getElementById('HeskMsg').innerHTML='<textarea class="form-control" name="message" id="message" rows="12" cols="60">'+oldMsg+myMsg+'</textarea>';
if (useHtmlEditor) {
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;
}
if (document.getElementById('subject').value == '')
{
document.getElementById('HeskSub').innerHTML='<input class="form-control" type="text" name="subject" id="subject" size="40" maxlength="40" value="'+mySubject+'" />';
document.getElementById('subject').value = mySubject;
}
}
}
@ -649,7 +690,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<?php if (in_array('message',$_SESSION['iserror'])) {echo '<div class="form-group has-error">';} else {echo '<div class="form-group">';} ?>
<div class="col-sm-12">
<span id="HeskMsg">
<textarea class="form-control" name="message" id="message" rows="12" cols="60" placeholder="<?php echo htmlspecialchars($hesklang['message']); ?>" ><?php if (isset($_SESSION['as_message'])) {echo stripslashes(hesk_input($_SESSION['as_message']));} ?></textarea>
<textarea class="form-control htmlEditor" name="message" id="message" rows="12" cols="60" placeholder="<?php echo htmlspecialchars($hesklang['message']); ?>" ><?php if (isset($_SESSION['as_message'])) {echo stripslashes(hesk_input($_SESSION['as_message']));} ?></textarea>
</span>
</div>
</div>
@ -805,7 +846,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
echo '<div class="form-group">
<label for="'.$v['name'].'" class="col-sm-3 control-label">'.$v['name'].': '.$v['req'].'</label>
<div class="col-sm-9"><textarea class="form-control" placeholder="'.htmlspecialchars($v['name']).'" id="'.$formattedId.'" name="'.$k.'" rows="'.$size[0].'" cols="'.$size[1].'" '.$cls.'>'.$k_value.'</textarea></div>
<div class="col-sm-9"><textarea class="form-control htmlEditor" placeholder="'.htmlspecialchars($v['name']).'" id="'.$formattedId.'" name="'.$k.'" rows="'.$size[0].'" cols="'.$size[1].'" '.$cls.'>'.$k_value.'</textarea></div>
</div>';
break;

@ -52,4 +52,4 @@ $modsForHesk_settings['request_location'] = 0;
$modsForHesk_settings['category_order_column'] = 'cat_order';
//-- Setting for using rich-text editor for tickets. 0 = Disable, 1 = Enable
$modsForHesk_settings['rich_text_for_tickets'] = 0;
$modsForHesk_settings['rich_text_for_tickets'] = 1;
Loading…
Cancel
Save