Canned responses uses new UI

merge-requests/27/head
Mike Koch 8 years ago
parent 774d775c11
commit 34e58519f2

@ -37,6 +37,7 @@ define('PAGE_TITLE', 'ADMIN_CANNED');
require(HESK_PATH . 'hesk_settings.inc.php'); require(HESK_PATH . 'hesk_settings.inc.php');
require(HESK_PATH . 'inc/common.inc.php'); require(HESK_PATH . 'inc/common.inc.php');
require(HESK_PATH . 'inc/admin_functions.inc.php'); require(HESK_PATH . 'inc/admin_functions.inc.php');
require(HESK_PATH . 'inc/mail_functions.inc.php');
hesk_load_database_functions(); hesk_load_database_functions();
hesk_session_start(); hesk_session_start();
@ -125,82 +126,89 @@ $i = 1;
$j = 0; $j = 0;
$num = hesk_dbNumRows($result); $num = hesk_dbNumRows($result);
?> ?>
<div class="row move-down-20"> <section class="content">
<div class="col-md-4"> <div class="box">
<div class="panel panel-default"> <div class="box-header with-border">
<div class="panel-heading"><?php echo $hesklang['savedResponses']; ?></div> <h1 class="box-title">
<div class="panel-body"> <?php echo $hesklang['savedResponses']; ?>
<?php if ($num < 1) </h1>
{ <div class="box-tools pull-right">
echo '<p>' . $hesklang['no_saved'] . '</p>'; <button type="button" class="btn btn-box-tool" data-widget="collapse">
} <i class="fa fa-minus"></i>
else </button>
{ ?> </div>
<table class="table table-hover"> </div>
<tr> <div class="box-body">
<th><?php echo $hesklang['saved_title']; ?></th> <?php if ($num < 1)
<th><?php echo $hesklang['opt']; ?></th> {
</tr> echo '<p>' . $hesklang['no_saved'] . '</p>';
<?php }
else
while ($mysaved = hesk_dbFetchAssoc($result)) { { ?>
$j++; <table class="table table-hover">
<tr>
if (isset($_SESSION['canned']['selcat2']) && $mysaved['id'] == $_SESSION['canned']['selcat2']) { <th><?php echo $hesklang['saved_title']; ?></th>
$color = 'admin_green'; <th><?php echo $hesklang['opt']; ?></th>
unset($_SESSION['canned']['selcat2']); </tr>
} else { <?php
$color = $i ? 'admin_white' : 'admin_gray';
} while ($mysaved = hesk_dbFetchAssoc($result)) {
$j++;
if (isset($_SESSION['canned']['selcat2']) && $mysaved['id'] == $_SESSION['canned']['selcat2']) {
$color = 'admin_green';
unset($_SESSION['canned']['selcat2']);
} else {
$color = $i ? 'admin_white' : 'admin_gray';
}
$tmp = $i ? 'White' : 'Blue'; $tmp = $i ? 'White' : 'Blue';
$style = 'class="option' . $tmp . 'OFF" onmouseover="this.className=\'option' . $tmp . 'ON\'" onmouseout="this.className=\'option' . $tmp . 'OFF\'"'; $style = 'class="option' . $tmp . 'OFF" onmouseover="this.className=\'option' . $tmp . 'ON\'" onmouseout="this.className=\'option' . $tmp . 'OFF\'"';
$i = $i ? 0 : 1; $i = $i ? 0 : 1;
$options .= '<option value="' . $mysaved['id'] . '"'; $options .= '<option value="' . $mysaved['id'] . '"';
$options .= (isset($_SESSION['canned']['id']) && $_SESSION['canned']['id'] == $mysaved['id']) ? ' selected="selected" ' : ''; $options .= (isset($_SESSION['canned']['id']) && $_SESSION['canned']['id'] == $mysaved['id']) ? ' selected="selected" ' : '';
$options .= '>' . $mysaved['title'] . '</option>'; $options .= '>' . $mysaved['title'] . '</option>';
$javascript_titles .= 'myTitle[' . $mysaved['id'] . ']=\'' . addslashes($mysaved['title']) . "';\n"; $javascript_titles .= 'myTitle[' . $mysaved['id'] . ']=\'' . addslashes($mysaved['title']) . "';\n";
if ($modsForHesk_settings['rich_text_for_tickets']) { if ($modsForHesk_settings['rich_text_for_tickets']) {
$theMessage = hesk_html_entity_decode($mysaved['message']); $theMessage = hesk_html_entity_decode($mysaved['message']);
$theMessage = addslashes($theMessage); $theMessage = addslashes($theMessage);
$javascript_messages .= 'myMsgTxt[' . $mysaved['id'] . ']=\'' . str_replace("\r\n", "\\r\\n' + \r\n'", $theMessage) . "';\n"; $javascript_messages .= 'myMsgTxt[' . $mysaved['id'] . ']=\'' . str_replace("\r\n", "\\r\\n' + \r\n'", $theMessage) . "';\n";
} else { } else {
$javascript_messages .= 'myMsgTxt[' . $mysaved['id'] . ']=\'' . str_replace("\r\n", "\\r\\n' + \r\n'", addslashes($mysaved['message'])) . "';\n"; $javascript_messages .= 'myMsgTxt[' . $mysaved['id'] . ']=\'' . str_replace("\r\n", "\\r\\n' + \r\n'", addslashes($mysaved['message'])) . "';\n";
} }
echo ' echo '
<tr> <tr>
<td>' . $mysaved['title'] . '</td> <td>' . $mysaved['title'] . '</td>
<td> <td>
'; ';
if ($num > 1) { if ($num > 1) {
if ($j == 1) { if ($j == 1) {
echo '<img src="../img/blank.gif" width="16" height="16" alt="" style="padding:3px;border:none;" /> <a href="manage_canned.php?a=order&amp;replyid=' . $mysaved['id'] . '&amp;move=15&amp;token=' . hesk_token_echo(0) . '"><i class="fa fa-arrow-down icon-link green" data-toggle="tooltip" data-placement="top" title="' . $hesklang['move_dn'] . '"></i></a>'; echo '<img src="../img/blank.gif" width="16" height="16" alt="" style="padding:3px;border:none;" /> <a href="manage_canned.php?a=order&amp;replyid=' . $mysaved['id'] . '&amp;move=15&amp;token=' . hesk_token_echo(0) . '"><i class="fa fa-arrow-down icon-link green" data-toggle="tooltip" data-placement="top" title="' . $hesklang['move_dn'] . '"></i></a>';
} elseif ($j == $num) { } elseif ($j == $num) {
echo '<a href="manage_canned.php?a=order&amp;replyid=' . $mysaved['id'] . '&amp;move=-15&amp;token=' . hesk_token_echo(0) . '"><i class="fa fa-arrow-up icon-link green" data-toggle="tooltip" data-placement="top" title="' . $hesklang['move_up'] . '"></i></a> <img src="../img/blank.gif" width="16" height="16" alt="" style="padding:3px;border:none;" />'; echo '<a href="manage_canned.php?a=order&amp;replyid=' . $mysaved['id'] . '&amp;move=-15&amp;token=' . hesk_token_echo(0) . '"><i class="fa fa-arrow-up icon-link green" data-toggle="tooltip" data-placement="top" title="' . $hesklang['move_up'] . '"></i></a> <img src="../img/blank.gif" width="16" height="16" alt="" style="padding:3px;border:none;" />';
} else { } else {
echo ' echo '
<a href="manage_canned.php?a=order&amp;replyid=' . $mysaved['id'] . '&amp;move=-15&amp;token=' . hesk_token_echo(0) . '"><i class="fa fa-arrow-up icon-link green" data-toggle="tooltip" data-placement="top" title="' . $hesklang['move_up'] . '"></i></a> <a href="manage_canned.php?a=order&amp;replyid=' . $mysaved['id'] . '&amp;move=-15&amp;token=' . hesk_token_echo(0) . '"><i class="fa fa-arrow-up icon-link green" data-toggle="tooltip" data-placement="top" title="' . $hesklang['move_up'] . '"></i></a>
<a href="manage_canned.php?a=order&amp;replyid=' . $mysaved['id'] . '&amp;move=15&amp;token=' . hesk_token_echo(0) . '"><i class="fa fa-arrow-down icon-link green" data-toggle="tooltip" data-placement="top" title="' . $hesklang['move_dn'] . '"></i></a> <a href="manage_canned.php?a=order&amp;replyid=' . $mysaved['id'] . '&amp;move=15&amp;token=' . hesk_token_echo(0) . '"><i class="fa fa-arrow-down icon-link green" data-toggle="tooltip" data-placement="top" title="' . $hesklang['move_dn'] . '"></i></a>
'; ';
}
} else {
echo '';
} }
} else {
echo '';
}
echo ' echo '
<a href="manage_canned.php?a=remove&amp;id=' . $mysaved['id'] . '&amp;token=' . hesk_token_echo(0) . '" onclick="return confirm_delete();"><i class="fa fa-times icon-link red" data-toggle="tooltip" data-placement="top" title="' . $hesklang['delete'] . '"></i></a>&nbsp;</td> <a href="manage_canned.php?a=remove&amp;id=' . $mysaved['id'] . '&amp;token=' . hesk_token_echo(0) . '" onclick="return confirm_delete();"><i class="fa fa-times icon-link red" data-toggle="tooltip" data-placement="top" title="' . $hesklang['delete'] . '"></i></a>&nbsp;</td>
</tr> </tr>
'; ';
} // End while } // End while
} }
?> ?>
</table> </table>
</div>
</div> </div>
</div> </div>
<?php if ($modsForHesk_settings['rich_text_for_tickets']): ?> <?php if ($modsForHesk_settings['rich_text_for_tickets']): ?>
@ -225,117 +233,123 @@ $num = hesk_dbNumRows($result);
/* ]]> */ /* ]]> */
</script> </script>
<?php endif; ?> <?php endif; ?>
<div class="col-md-8"> <div class="box">
<script language="javascript" type="text/javascript"><!-- <div class="box-header with-border">
// --> <h1 class="box-title">
var myMsgTxt = new Array(); <?php echo $hesklang['manage_saved']; ?> <a href="javascript:void(0)"
var myTitle = new Array(); onclick="javascript:alert('<?php echo hesk_makeJsString($hesklang['manage_intro']); ?>')"><i
myMsgTxt[0] = ''; class="fa fa-question-circle settingsquestionmark"></i></a>
myTitle[0] = ''; </h1>
<div class="box-tools pull-right">
<?php <button type="button" class="btn btn-box-tool" data-widget="collapse">
echo $javascript_titles; <i class="fa fa-minus"></i>
echo $javascript_messages; </button>
?> </div>
</div>
function setMessage(msgid) { <div class="box-body">
var useHtmlEditor = <?php echo $modsForHesk_settings['rich_text_for_tickets']; ?>; <script language="javascript" type="text/javascript"><!--
var myMsg = myMsgTxt[msgid]; // -->
var mySubject = myTitle[msgid]; var myMsgTxt = new Array();
var myTitle = new Array();
if (myMsg == '') { myMsgTxt[0] = '';
if (useHtmlEditor) { myTitle[0] = '';
tinymce.get("message").setContent('');
tinymce.get("message").execCommand('mceInsertRawHTML', false, ''); <?php
echo $javascript_titles;
echo $javascript_messages;
?>
function setMessage(msgid) {
var useHtmlEditor = <?php echo $modsForHesk_settings['rich_text_for_tickets']; ?>;
var myMsg = myMsgTxt[msgid];
var mySubject = myTitle[msgid];
if (myMsg == '') {
if (useHtmlEditor) {
tinymce.get("message").setContent('');
tinymce.get("message").execCommand('mceInsertRawHTML', false, '');
}
else {
$('#message').val('');
}
$('#subject').val('');
return true;
}
if (document.getElementById) {
if (useHtmlEditor) {
tinymce.get("message").setContent('');
tinymce.get("message").execCommand('mceInsertRawHTML', false, myMsg);
} else {
myMsg = $('<textarea />').html(myMsg).text();
$('#message').val(myMsg).trigger('input');
}
mySubject = $('<textarea />').html(mySubject).text();
$('#subject').val(mySubject).trigger('input');
} }
else { else {
$('#message').val(''); document.form1.message.value = myMsg;
document.form1.subject.value = mySubject;
} }
$('#subject').val('');
return true; if (msgid == 0) {
} document.form1.a[0].checked = true;
if (document.getElementById) {
if (useHtmlEditor) {
tinymce.get("message").setContent('');
tinymce.get("message").execCommand('mceInsertRawHTML', false, myMsg);
} else { } else {
myMsg = $('<textarea />').html(myMsg).text(); document.form1.a[1].checked = true;
$('#message').val(myMsg).trigger('input');
} }
mySubject = $('<textarea />').html(mySubject).text();
$('#subject').val(mySubject).trigger('input');
}
else {
document.form1.message.value = myMsg;
document.form1.subject.value = mySubject;
}
if (msgid == 0) {
document.form1.a[0].checked = true;
} else {
document.form1.a[1].checked = true;
} }
//-->
</script>
<?php
/* This will handle error, success and notice messages */
hesk_handle_messages();
?>
<?php
$onsubmit = '';
if ($modsForHesk_settings['rich_text_for_tickets']) {
$onsubmit = 'onsubmit="return validateRichText(\'message-help-block\', \'message-group\', \'message\', \''.htmlspecialchars($hesklang['this_field_is_required']).'\')"';
} }
//--> ?>
</script> <form action="manage_canned.php" method="post" name="form1" class="form-horizontal" role="form" data-toggle="validator" <?php echo $onsubmit; ?>>
<?php <div class="form-group">
/* This will handle error, success and notice messages */ <div class="col-sm-12">
hesk_handle_messages(); <?php
?> if ($num > 0) {
<h3><?php echo $hesklang['manage_saved']; ?> <a href="javascript:void(0)" ?>
onclick="javascript:alert('<?php echo hesk_makeJsString($hesklang['manage_intro']); ?>')"><i <div class="row">
class="fa fa-question-circle settingsquestionmark"></i></a></h3> <div class="col-sm-12">
<div class="radio">
<div class="footerWithBorder blankSpace"></div> <label><input type="radio" name="a"
value="new" <?php echo (!isset($_SESSION['canned']['what']) || $_SESSION['canned']['what'] != 'EDIT') ? 'checked="checked"' : ''; ?> /> <?php echo $hesklang['canned_add']; ?>
<?php </label>
$onsubmit = ''; </div>
if ($modsForHesk_settings['rich_text_for_tickets']) {
$onsubmit = 'onsubmit="return validateRichText(\'message-help-block\', \'message-group\', \'message\', \''.htmlspecialchars($hesklang['this_field_is_required']).'\')"';
}
?>
<form action="manage_canned.php" method="post" name="form1" class="form-horizontal" role="form" data-toggle="validator" <?php echo $onsubmit; ?>>
<h3><?php echo $hesklang['new_saved']; ?></h3>
<div class="footerWithBorder blankSpace"></div>
<div class="form-group">
<div class="col-sm-12">
<?php
if ($num > 0) {
?>
<div class="col-sm-12">
<div class="radio">
<label><input type="radio" name="a"
value="new" <?php echo (!isset($_SESSION['canned']['what']) || $_SESSION['canned']['what'] != 'EDIT') ? 'checked="checked"' : ''; ?> /> <?php echo $hesklang['canned_add']; ?>
</label>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="radio">
<label><input type="radio" name="a"
value="edit" <?php echo (isset($_SESSION['canned']['what']) && $_SESSION['canned']['what'] == 'EDIT') ? 'checked="checked"' : ''; ?> /> <?php echo $hesklang['canned_edit']; ?>
</label>:
</div> </div>
</div> </div>
<div class="col-sm-6"> <div class="row">
<select class="form-control" name="saved_replies" onchange="setMessage(this.value)"> <div class="col-sm-6">
<option value="0"> - <?php echo $hesklang['select_empty']; ?>- <div class="radio">
</option><?php echo $options; ?></select> <label><input type="radio" name="a"
value="edit" <?php echo (isset($_SESSION['canned']['what']) && $_SESSION['canned']['what'] == 'EDIT') ? 'checked="checked"' : ''; ?> /> <?php echo $hesklang['canned_edit']; ?>
</label>:
</div>
</div>
<div class="col-sm-6">
<select class="form-control" name="saved_replies" onchange="setMessage(this.value)">
<option value="0"> - <?php echo $hesklang['select_empty']; ?>-
</option><?php echo $options; ?></select>
</div>
</div> </div>
</div> <?php
<?php } else {
} else { echo '<input type="hidden" name="a" value="new" /><label> ' . $hesklang['canned_add'] . '</label>';
echo '<input type="hidden" name="a" value="new" /><label> ' . $hesklang['canned_add'] . '</label>'; }
} ?>
?> </div>
</div> </div>
</div> <div class="form-group">
<div class="form-group"> <label for="name" class="col-sm-2 control-label"><?php echo $hesklang['saved_title']; ?></label>
<label for="name" class="col-sm-2 control-label"><?php echo $hesklang['saved_title']; ?></label>
<div class="col-sm-10"> <div class="col-sm-10">
<span id="HeskTitle"><input id="subject" class="form-control" <span id="HeskTitle"><input id="subject" class="form-control"
placeholder="<?php echo htmlspecialchars($hesklang['saved_title']); ?>" placeholder="<?php echo htmlspecialchars($hesklang['saved_title']); ?>"
type="text" name="name" size="40" type="text" name="name" size="40"
@ -343,13 +357,13 @@ $num = hesk_dbNumRows($result);
maxlength="50" <?php if (isset($_SESSION['canned']['name'])) { maxlength="50" <?php if (isset($_SESSION['canned']['name'])) {
echo ' value="' . stripslashes($_SESSION['canned']['name']) . '" '; echo ' value="' . stripslashes($_SESSION['canned']['name']) . '" ';
} ?> required></span> } ?> required></span>
<div class="help-block with-errors"></div> <div class="help-block with-errors"></div>
</div>
</div> </div>
</div> <div class="form-group" id="message-group">
<div class="form-group" id="message-group"> <label for="msg" class="col-sm-2 control-label"><?php echo $hesklang['message']; ?></label>
<label for="msg" class="col-sm-2 control-label"><?php echo $hesklang['message']; ?></label>
<div class="col-sm-10"> <div class="col-sm-10">
<span id="HeskMsg"> <span id="HeskMsg">
<textarea id="message" class="htmlEditor form-control" <textarea id="message" class="htmlEditor form-control"
placeholder="<?php echo htmlspecialchars($hesklang['message']); ?>" name="msg" placeholder="<?php echo htmlspecialchars($hesklang['message']); ?>" name="msg"
@ -360,38 +374,39 @@ $num = hesk_dbNumRows($result);
} }
?></textarea> ?></textarea>
</span> </span>
<div class="help-block with-errors" id="message-help-block"></div> <div class="help-block with-errors" id="message-help-block"></div>
<?php echo $hesklang['insert_special']; ?>: <?php echo $hesklang['insert_special']; ?>:
<a href="javascript:void(0)" <a href="javascript:void(0)"
onclick="hesk_insertTag('HESK_ID')"><?php echo $hesklang['seqid']; ?></a> | onclick="hesk_insertTag('HESK_ID')"><?php echo $hesklang['seqid']; ?></a> |
<a href="javascript:void(0)" <a href="javascript:void(0)"
onclick="hesk_insertTag('HESK_TRACK_ID')"><?php echo $hesklang['trackID']; ?></a> | onclick="hesk_insertTag('HESK_TRACK_ID')"><?php echo $hesklang['trackID']; ?></a> |
<a href="javascript:void(0)" <a href="javascript:void(0)"
onclick="hesk_insertTag('HESK_NAME')"><?php echo $hesklang['name']; ?></a> | onclick="hesk_insertTag('HESK_NAME')"><?php echo $hesklang['name']; ?></a> |
<a href="javascript:void(0)" <a href="javascript:void(0)"
onclick="hesk_insertTag('HESK_EMAIL')"><?php echo $hesklang['email']; ?></a> | onclick="hesk_insertTag('HESK_EMAIL')"><?php echo $hesklang['email']; ?></a> |
<a href="javascript:void(0)" <a href="javascript:void(0)"
onclick="hesk_insertTag('HESK_OWNER')"><?php echo $hesklang['owner']; ?></a> onclick="hesk_insertTag('HESK_OWNER')"><?php echo $hesklang['owner']; ?></a>
<?php <?php
foreach ($hesk_settings['custom_fields'] as $k => $v) { foreach ($hesk_settings['custom_fields'] as $k => $v) {
if ($v['use']) { if ($v['use']) {
if ($modsForHesk_settings['custom_field_setting']) { if ($modsForHesk_settings['custom_field_setting']) {
$v['name'] = $hesklang[$v['name']]; $v['name'] = $hesklang[$v['name']];
} }
echo '| <a href="javascript:void(0)" onclick="hesk_insertTag(\'HESK_' . $k . '\')">' . $v['name'] . '</a> '; echo '| <a href="javascript:void(0)" onclick="hesk_insertTag(\'HESK_' . $k . '\')">' . $v['name'] . '</a> ';
}
} }
} ?>
?> </div>
</div> </div>
</div> <div class="form-group text-center">
<div class="form-group text-center"> <input type="hidden" name="token" value="<?php hesk_token_echo(); ?>"/>
<input type="hidden" name="token" value="<?php hesk_token_echo(); ?>"/> <input type="submit" value="<?php echo $hesklang['save_changes']; ?>" class="btn btn-default"/>
<input type="submit" value="<?php echo $hesklang['save_changes']; ?>" class="btn btn-default"/> </div>
</div> </form>
</form> </div>
</div> </div>
</div> </section>
<?php <?php
require_once(HESK_PATH . 'inc/footer.inc.php'); require_once(HESK_PATH . 'inc/footer.inc.php');

Loading…
Cancel
Save