2015-01-14 20:38:39 -05:00
< ? php
/*******************************************************************************
2015-09-12 00:46:46 -04:00
* Title : Help Desk Software HESK
* Version : 2.6 . 5 from 28 th August 2015
* Author : Klemen Stirn
* Website : http :// www . hesk . com
********************************************************************************
* COPYRIGHT AND TRADEMARK NOTICE
* Copyright 2005 - 2015 Klemen Stirn . All Rights Reserved .
* HESK is a registered trademark of Klemen Stirn .
* The HESK may be used and modified free of charge by anyone
* AS LONG AS COPYRIGHT NOTICES AND ALL THE COMMENTS REMAIN INTACT .
* By using this code you agree to indemnify Klemen Stirn from any
* liability that might arise from it ' s use .
* Selling the code for this program , in part or full , without prior
* written consent is expressly forbidden .
* Using this code , in part or full , to create derivate work ,
* new scripts or products is expressly forbidden . Obtain permission
* before redistributing this software over the Internet or in
* any other medium . In all cases copyright and header must remain intact .
* This Copyright is in full effect in any country that has International
* Trade Agreements with the United States of America or
* with the European Union .
* Removing any of the copyright notices without purchasing a license
* is expressly forbidden . To remove HESK copyright notice you must purchase
* a license for this script . For more information on how to obtain
* a license please visit the page below :
* https :// www . hesk . com / buy . php
*******************************************************************************/
define ( 'IN_SCRIPT' , 1 );
define ( 'HESK_PATH' , '../' );
2015-10-02 22:23:21 -04:00
define ( 'VALIDATOR' , 1 );
2015-01-14 20:38:39 -05:00
/* Get all the required files and functions */
require ( HESK_PATH . 'hesk_settings.inc.php' );
require ( HESK_PATH . 'inc/common.inc.php' );
require ( HESK_PATH . 'inc/admin_functions.inc.php' );
hesk_load_database_functions ();
hesk_session_start ();
hesk_dbConnect ();
hesk_isLoggedIn ();
2015-09-03 21:58:05 -04:00
$modsForHesk_settings = mfh_getSettings ();
2015-01-14 20:38:39 -05:00
/* Check permissions for this feature */
hesk_checkPermission ( 'can_man_ticket_tpl' );
// Define required constants
2015-09-12 00:46:46 -04:00
define ( 'LOAD_TABS' , 1 );
2015-01-14 20:38:39 -05:00
2015-09-03 21:58:05 -04:00
if ( $modsForHesk_settings [ 'rich_text_for_tickets' ]) {
2015-07-30 13:00:53 -04:00
define ( 'WYSIWYG' , 1 );
}
2015-01-14 20:38:39 -05:00
/* What should we do? */
2015-09-12 00:46:46 -04:00
if ( $action = hesk_REQUEST ( 'a' )) {
if ( defined ( 'HESK_DEMO' )) {
hesk_process_messages ( $hesklang [ 'ddemo' ], 'manage_ticket_templates.php' , 'NOTICE' );
} elseif ( $action == 'new' ) {
new_saved ();
} elseif ( $action == 'edit' ) {
edit_saved ();
} elseif ( $action == 'remove' ) {
remove ();
} elseif ( $action == 'order' ) {
order_saved ();
}
2015-01-14 20:38:39 -05:00
}
2015-09-03 21:58:05 -04:00
2015-01-14 20:38:39 -05:00
/* Print header */
require_once ( HESK_PATH . 'inc/headerAdmin.inc.php' );
/* Print main manage users page */
require_once ( HESK_PATH . 'inc/show_admin_nav.inc.php' );
?>
< div class = " row " >
</ div >
< script language = " javascript " type = " text/javascript " ><!--
2015-09-12 00:46:46 -04:00
function confirm_delete () {
if ( confirm ( '<?php echo hesk_makeJsString($hesklang[' delete_tpl ']); ?>' )) {
return true ;
}
else {
return false ;
}
}
//-->
2015-01-14 20:38:39 -05:00
</ script >
< ? php
// Get canned responses from database
2015-09-12 00:46:46 -04:00
$result = hesk_dbQuery ( 'SELECT * FROM `' . hesk_dbEscape ( $hesk_settings [ 'db_pfix' ]) . 'ticket_templates` ORDER BY `tpl_order` ASC' );
$options = '' ;
$javascript_messages = '' ;
$javascript_titles = '' ;
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
$i = 1 ;
$j = 0 ;
2015-01-14 20:38:39 -05:00
$num = hesk_dbNumRows ( $result );
?>
2015-09-10 13:30:58 -04:00
< div class = " row move-down-20 " >
2015-01-14 20:38:39 -05:00
< div class = " col-md-4 " >
< div class = " panel panel-default " >
< div class = " panel-heading " >
< ? php echo $hesklang [ 'saved_ticket_tpl' ]; ?>
</ div >
< div class = " panel-body " >
< ? php if ( $num < 1 ) {
2015-09-12 00:46:46 -04:00
echo '<p>' . $hesklang [ 'no_ticket_tpl' ] . '</p>' ;
2015-01-14 20:38:39 -05:00
} else {
?>
< table class = " table table-hover " >
< thead >
2015-09-12 00:46:46 -04:00
< tr >
< th >< ? php echo $hesklang [ 'ticket_tpl_title' ]; ?> </th>
< th >< ? php echo $hesklang [ 'opt' ]; ?> </th>
</ tr >
2015-01-14 20:38:39 -05:00
</ thead >
< tbody >
< ? php
2015-09-12 00:46:46 -04:00
while ( $mysaved = hesk_dbFetchAssoc ( $result )) {
2015-01-14 20:38:39 -05:00
$j ++ ;
$color = '' ;
2015-09-12 00:46:46 -04:00
if ( isset ( $_SESSION [ 'canned' ][ 'selcat2' ]) && $mysaved [ 'id' ] == $_SESSION [ 'canned' ][ 'selcat2' ]) {
2015-01-14 20:38:39 -05:00
$color = 'success' ;
unset ( $_SESSION [ 'canned' ][ 'selcat2' ]);
}
2015-09-12 00:46:46 -04:00
$options .= '<option class="form-control" value="' . $mysaved [ 'id' ] . '"' ;
2015-01-14 20:38:39 -05:00
$options .= ( isset ( $_SESSION [ 'canned' ][ 'id' ]) && $_SESSION [ 'canned' ][ 'id' ] == $mysaved [ 'id' ]) ? ' selected="selected" ' : '' ;
2015-09-12 00:46:46 -04:00
$options .= '>' . $mysaved [ 'title' ] . '</option>' ;
2015-01-14 20:38:39 -05:00
2015-09-03 21:58:05 -04:00
if ( $modsForHesk_settings [ 'rich_text_for_tickets' ]) {
2015-08-29 22:26:44 -04:00
$theMessage = html_entity_decode ( $mysaved [ 'message' ]);
$theMessage = addslashes ( $theMessage );
2015-09-12 00:46:46 -04:00
$javascript_messages .= 'myMsgTxt[' . $mysaved [ 'id' ] . ']=\'' . str_replace ( " \r \n " , " \\ r \\ n' + \r \n ' " , $theMessage ) . " '; \n " ;
2015-07-30 13:00:53 -04:00
} else {
2015-09-12 00:46:46 -04:00
$javascript_messages .= 'myMsgTxt[' . $mysaved [ 'id' ] . ']=\'' . str_replace ( " \r \n " , " \\ r \\ n' + \r \n ' " , addslashes ( $mysaved [ 'message' ])) . " '; \n " ;
2015-07-30 13:00:53 -04:00
}
2015-09-12 00:46:46 -04:00
$javascript_titles .= 'myTitle[' . $mysaved [ 'id' ] . ']=\'' . addslashes ( $mysaved [ 'title' ]) . " '; \n " ;
2015-01-14 20:38:39 -05:00
echo '
< tr >
2015-09-12 00:46:46 -04:00
< td > ' . $mysaved[' title '] . ' </ td >
2015-09-10 21:05:01 -04:00
< td class = " text-left " >
2015-01-14 20:38:39 -05:00
' ;
2015-09-12 00:46:46 -04:00
if ( $num > 1 ) {
if ( $j == 1 ) {
echo ' < img src = " ../img/blank.gif " width = " 16 " height = " 16 " alt = " " style = " padding:3px;border:none; " />
< a href = " manage_ticket_templates.php?a=order&replyid=' . $mysaved['id'] . '&move=15&token=' . hesk_token_echo(0) . ' " >
< i class = " fa fa-arrow-down icon-link green " data - toggle = " tooltip " data - placement = " top " data - original - title = " ' . $hesklang['move_dn'] . ' " ></ i ></ a > ' ;
} elseif ( $j == $num ) {
echo '<a href="manage_ticket_templates.php?a=order&replyid=' . $mysaved [ 'id' ] . '&move=-15&token=' . hesk_token_echo ( 0 ) . '"><i class="fa fa-arrow-up icon-link green" data-toggle="tooltip" data-placement="top" data-original-title="' . $hesklang [ 'move_up' ] . '"></i></a> <img src="../img/blank.gif" width="16" height="16" alt="" style="padding:3px;border:none;" />' ;
} else {
echo '
< a href = " manage_ticket_templates.php?a=order&replyid=' . $mysaved['id'] . '&move=-15&token=' . hesk_token_echo(0) . ' " >< i class = " fa fa-arrow-up icon-link green " data - toggle = " tooltip " data - placement = " top " data - original - title = " ' . $hesklang['move_up'] . ' " ></ i ></ a >
< a href = " manage_ticket_templates.php?a=order&replyid=' . $mysaved['id'] . '&move=15&token=' . hesk_token_echo(0) . ' " >< i class = " fa fa-arrow-down icon-link green " data - toggle = " tooltip " data - placement = " top " data - original - title = " ' . $hesklang['move_dn'] . ' " ></ i ></ a >
2015-01-14 20:38:39 -05:00
' ;
}
2015-09-12 00:46:46 -04:00
} else {
2015-01-14 20:38:39 -05:00
echo '' ;
}
echo '
2015-09-12 00:46:46 -04:00
< a href = " manage_ticket_templates.php?a=remove&id=' . $mysaved['id'] . '&token=' . hesk_token_echo(0) . ' " onclick = " return confirm_delete(); " >< i class = " fa fa-times icon-link red " data - toggle = " tooltip " data - placement = " top " data - original - title = " ' . $hesklang['delete'] . ' " ></ i ></ a ></ td >
2015-01-14 20:38:39 -05:00
</ tr >
' ;
} // End while
?>
</ tbody >
</ table >
2015-09-12 00:46:46 -04:00
< ? php
2015-01-14 20:38:39 -05:00
}
?>
</ div >
</ div >
</ div >
< div class = " col-md-8 " >
< ? php
/* This will handle error, success and notice messages */
hesk_handle_messages ();
2015-10-02 22:23:21 -04:00
$onsubmit = '' ;
if ( $modsForHesk_settings [ 'rich_text_for_tickets' ]) {
$onsubmit = 'onsubmit="return validateRichText(\'message-help-block\', \'message-group\', \'message\', \'' . htmlspecialchars ( $hesklang [ 'this_field_is_required' ]) . '\')"' ;
}
2015-01-14 20:38:39 -05:00
?>
2015-10-02 22:23:21 -04:00
< form class = " form-horizontal " action = " manage_ticket_templates.php " method = " post " name = " form1 " role = " form " data - toggle = " validator " < ? php echo $onsubmit ; ?> >
2015-09-12 00:46:46 -04:00
< h3 >< ? php echo $hesklang [ 'new_ticket_tpl' ]; ?> <a href="javascript:void(0)"
onclick = " javascript:alert('<?php echo hesk_makeJsString( $hesklang['ticket_tpl_intro'] ); ?>') " >< i
class = " fa fa-question-circle settingsquestionmark " ></ i ></ a ></ h3 >
2015-01-14 20:38:39 -05:00
< div class = " footerWithBorder blankSpace " ></ div >
< ? php
2015-09-12 00:46:46 -04:00
if ( $num > 0 ) {
2015-01-14 20:38:39 -05:00
?>
< div class = " form-group " >
< div class = " col-sm-12 " >
< div class = " radio " >
< label >
2015-09-12 00:46:46 -04:00
< input type = " radio " name = " a "
value = " new " < ? php echo ( ! isset ( $_SESSION [ 'canned' ][ 'what' ]) || $_SESSION [ 'canned' ][ 'what' ] != 'EDIT' ) ? 'checked=' : '' ; ?> >
2015-01-14 20:38:39 -05:00
< ? php echo $hesklang [ 'ticket_tpl_add' ]; ?>
</ label >
</ div >
</ div >
< div class = " row " >
< div class = " col-sm-6 " >
< div class = " radio " >
< label >
2015-09-12 00:46:46 -04:00
< input type = " radio " name = " a "
value = " edit " < ? php echo ( isset ( $_SESSION [ 'canned' ][ 'what' ]) && $_SESSION [ 'canned' ][ 'what' ] == 'EDIT' ) ? 'checked' : '' ; ?> >
2015-01-14 20:38:39 -05:00
< ? php echo $hesklang [ 'ticket_tpl_edit' ]; ?>
</ label >
</ div >
</ div >
< div class = " col-sm-6 " >
2015-09-12 00:46:46 -04:00
< select class = " form-control " name = " saved_replies " onchange = " setMessage(this.value) " >
< option value = " 0 " > - < ? php echo $hesklang [ 'select_empty' ]; ?> -
</ option >< ? php echo $options ; ?> </select>
2015-01-14 20:38:39 -05:00
</ div >
</ div >
</ div >
2015-09-12 00:46:46 -04:00
< ? php
} else {
2015-01-14 20:38:39 -05:00
echo '<p><input type="hidden" name="a" value="new" /> ' . $hesklang [ 'ticket_tpl_add' ] . '</label></p>' ;
}
?>
< div class = " form-group " >
< label for = " name " class = " col-sm-2 control-label " >< ? php echo $hesklang [ 'ticket_tpl_title' ]; ?> </label>
2015-09-12 00:46:46 -04:00
2015-01-14 20:38:39 -05:00
< div class = " col-sm-10 " >
< span id = " HeskTitle " >
2015-09-12 00:46:46 -04:00
< input id = " subject " class = " form-control " type = " text " name = " name " size = " 40 " maxlength = " 50 "
2015-10-02 22:23:21 -04:00
data - error = " <?php echo htmlspecialchars( $hesklang['this_field_is_required'] ); ?> "
2015-09-12 00:46:46 -04:00
placeholder = " <?php echo htmlspecialchars( $hesklang['ticket_tpl_title'] ); ?> "
< ? php if ( isset ( $_SESSION [ 'canned' ][ 'name' ])) {
echo ' value="' . stripslashes ( $_SESSION [ 'canned' ][ 'name' ]) . '" ' ;
2015-10-02 22:23:21 -04:00
} ?> required>
2015-01-14 20:38:39 -05:00
</ span >
2015-10-02 22:23:21 -04:00
< div class = " help-block with-errors " ></ div >
2015-01-14 20:38:39 -05:00
</ div >
</ div >
2015-10-02 22:23:21 -04:00
< div class = " form-group " id = " message-group " >
2015-01-14 20:38:39 -05:00
< label for = " msg " class = " col-sm-2 control-label " >< ? php echo $hesklang [ 'message' ]; ?> </label>
2015-09-12 00:46:46 -04:00
2015-01-14 20:38:39 -05:00
< div class = " col-sm-10 " >
< span id = " HeskMsg " >
2015-09-12 00:46:46 -04:00
< textarea id = " message " class = " form-control htmlEditor "
2015-10-02 22:23:21 -04:00
data - error = " <?php echo htmlspecialchars( $hesklang['this_field_is_required'] ); ?> "
2015-09-12 00:46:46 -04:00
placeholder = " <?php echo htmlspecialchars( $hesklang['message'] ); ?> " name = " msg "
2015-10-02 22:23:21 -04:00
rows = " 15 " cols = " 70 " required >< ? php
2015-09-12 00:46:46 -04:00
if ( isset ( $_SESSION [ 'canned' ][ 'msg' ])) {
2015-09-03 21:58:05 -04:00
if ( $modsForHesk_settings [ 'rich_text_for_tickets' ]) {
2015-07-30 13:00:53 -04:00
echo $_SESSION [ 'canned' ][ 'msg' ];
} else {
echo stripslashes ( $_SESSION [ 'canned' ][ 'msg' ]);
}
2015-01-14 20:38:39 -05:00
}
?> </textarea>
</ span >
2015-10-02 22:23:21 -04:00
< div class = " help-block with-errors " id = " message-help-block " ></ div >
2015-01-14 20:38:39 -05:00
</ div >
</ div >
< div class = " form-group " >
< div class = " col-sm-10 col-sm-offset-2 " >
2015-09-12 00:46:46 -04:00
< input type = " hidden " name = " token " value = " <?php hesk_token_echo(); ?> " />
2015-01-14 20:38:39 -05:00
< input type = " submit " value = " <?php echo $hesklang['save_ticket_tpl'] ; ?> " class = " btn btn-default " >
</ div >
</ div >
</ form >
</ div >
</ div >
2015-09-03 21:58:05 -04:00
< ? php if ( $modsForHesk_settings [ 'rich_text_for_tickets' ]) : ?>
2015-07-30 13:00:53 -04:00
< script type = " text/javascript " >
/* <![CDATA[ */
tinyMCE . init ({
2015-09-12 00:46:46 -04:00
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
2015-07-30 13:00:53 -04:00
});
/* ]]> */
</ script >
< ? php endif ; ?>
2015-01-14 20:38:39 -05:00
< script language = " javascript " type = " text/javascript " ><!--
2015-07-30 13:00:53 -04:00
// -->
var myMsgTxt = new Array ();
var myTitle = new Array ();
2015-09-12 00:46:46 -04:00
myMsgTxt [ 0 ] = '' ;
myTitle [ 0 ] = '' ;
2015-07-30 13:00:53 -04:00
< ? php
echo $javascript_titles ;
echo $javascript_messages ;
?>
2015-09-12 00:46:46 -04:00
function setMessage ( msgid ) {
2015-09-03 21:58:05 -04:00
var useHtmlEditor = < ? php echo $modsForHesk_settings [ 'rich_text_for_tickets' ]; ?> ;
2015-09-12 00:46:46 -04:00
var myMsg = myMsgTxt [ msgid ];
var mySubject = myTitle [ msgid ];
2015-07-30 13:00:53 -04:00
2015-09-12 00:46:46 -04:00
if ( myMsg == '' ) {
2015-07-30 13:00:53 -04:00
if ( useHtmlEditor ) {
tinymce . get ( " message " ) . setContent ( '' );
tinymce . get ( " message " ) . execCommand ( 'mceInsertRawHTML' , false , '' );
}
else {
document . getElementById ( 'message' ) . value = '' ;
}
document . getElementById ( 'subject' ) . value = '' ;
return true ;
}
2015-09-12 00:46:46 -04:00
if ( document . getElementById ) {
2015-07-30 13:00:53 -04:00
if ( useHtmlEditor ) {
tinymce . get ( " message " ) . setContent ( '' );
tinymce . get ( " message " ) . execCommand ( 'mceInsertRawHTML' , false , myMsg );
} else {
document . getElementById ( 'message' ) . value = myMsg ;
}
document . getElementById ( 'subject' ) . value = mySubject ;
}
2015-09-12 00:46:46 -04:00
else {
document . form1 . message . value = myMsg ;
document . form1 . subject . value = mySubject ;
2015-07-30 13:00:53 -04:00
}
2015-09-12 00:46:46 -04:00
if ( msgid == 0 ) {
document . form1 . a [ 0 ] . checked = true ;
2015-07-30 13:00:53 -04:00
} else {
2015-09-12 00:46:46 -04:00
document . form1 . a [ 1 ] . checked = true ;
2015-07-30 13:00:53 -04:00
}
2015-01-14 20:38:39 -05:00
}
2015-07-30 13:00:53 -04:00
//-->
2015-01-14 20:38:39 -05:00
</ script >
< ? php
require_once ( HESK_PATH . 'inc/footer.inc.php' );
exit ();
/*** START FUNCTIONS ***/
function edit_saved ()
{
2015-09-12 00:46:46 -04:00
global $hesk_settings , $hesklang ;
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
/* A security check */
hesk_token_check ( 'POST' );
2015-01-14 20:38:39 -05:00
$hesk_error_buffer = '' ;
2015-09-12 00:46:46 -04:00
$id = intval ( hesk_POST ( 'saved_replies' )) or $hesk_error_buffer .= '<li>' . $hesklang [ 'sel_ticket_tpl' ] . '</li>' ;
$savename = hesk_input ( hesk_POST ( 'name' )) or $hesk_error_buffer .= '<li>' . $hesklang [ 'ent_ticket_tpl_title' ] . '</li>' ;
$msg = hesk_input ( hesk_POST ( 'msg' )) or $hesk_error_buffer .= '<li>' . $hesklang [ 'ent_ticket_tpl_msg' ] . '</li>' ;
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
// Avoid problems with utf-8 newline chars in Javascript code, detect and remove them
$msg = preg_replace ( '/\R/u' , " \r \n " , $msg );
$_SESSION [ 'canned' ][ 'what' ] = 'EDIT' ;
2015-01-14 20:38:39 -05:00
$_SESSION [ 'canned' ][ 'id' ] = $id ;
$_SESSION [ 'canned' ][ 'name' ] = $savename ;
$_SESSION [ 'canned' ][ 'msg' ] = $msg ;
/* Any errors? */
2015-09-12 00:46:46 -04:00
if ( strlen ( $hesk_error_buffer )) {
$hesk_error_buffer = $hesklang [ 'rfm' ] . '<br /><br /><ul>' . $hesk_error_buffer . '</ul>' ;
hesk_process_messages ( $hesk_error_buffer , 'manage_ticket_templates.php?saved_replies=' . $id );
2015-01-14 20:38:39 -05:00
}
2015-09-12 00:46:46 -04:00
$result = hesk_dbQuery ( " UPDATE ` " . hesk_dbEscape ( $hesk_settings [ 'db_pfix' ]) . " ticket_templates` SET `title`=' " . hesk_dbEscape ( $savename ) . " ',`message`=' " . hesk_dbEscape ( $msg ) . " ' WHERE `id`=' " . intval ( $id ) . " ' LIMIT 1 " );
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
unset ( $_SESSION [ 'canned' ][ 'what' ]);
2015-01-14 20:38:39 -05:00
unset ( $_SESSION [ 'canned' ][ 'id' ]);
unset ( $_SESSION [ 'canned' ][ 'name' ]);
unset ( $_SESSION [ 'canned' ][ 'msg' ]);
2015-09-12 00:46:46 -04:00
hesk_process_messages ( $hesklang [ 'ticket_tpl_saved' ], 'manage_ticket_templates.php?saved_replies=' . $id , 'SUCCESS' );
2015-01-14 20:38:39 -05:00
} // End edit_saved()
function new_saved ()
{
2015-09-12 00:46:46 -04:00
global $hesk_settings , $hesklang ;
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
/* A security check */
hesk_token_check ( 'POST' );
2015-01-14 20:38:39 -05:00
$hesk_error_buffer = '' ;
2015-09-12 00:46:46 -04:00
$savename = hesk_input ( hesk_POST ( 'name' )) or $hesk_error_buffer .= '<li>' . $hesklang [ 'ent_ticket_tpl_title' ] . '</li>' ;
$msg = hesk_input ( hesk_POST ( 'msg' )) or $hesk_error_buffer .= '<li>' . $hesklang [ 'ent_ticket_tpl_msg' ] . '</li>' ;
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
// Avoid problems with utf-8 newline chars in Javascript code, detect and remove them
$msg = preg_replace ( '/\R/u' , " \r \n " , $msg );
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
$_SESSION [ 'canned' ][ 'what' ] = 'NEW' ;
2015-01-14 20:38:39 -05:00
$_SESSION [ 'canned' ][ 'name' ] = $savename ;
$_SESSION [ 'canned' ][ 'msg' ] = $msg ;
/* Any errors? */
2015-09-12 00:46:46 -04:00
if ( strlen ( $hesk_error_buffer )) {
$hesk_error_buffer = $hesklang [ 'rfm' ] . '<br /><br /><ul>' . $hesk_error_buffer . '</ul>' ;
hesk_process_messages ( $hesk_error_buffer , 'manage_ticket_templates.php' );
2015-01-14 20:38:39 -05:00
}
2015-09-12 00:46:46 -04:00
/* Get the latest tpl_order */
$result = hesk_dbQuery ( 'SELECT `tpl_order` FROM `' . hesk_dbEscape ( $hesk_settings [ 'db_pfix' ]) . 'ticket_templates` ORDER BY `tpl_order` DESC LIMIT 1' );
$row = hesk_dbFetchRow ( $result );
$my_order = $row [ 0 ] + 10 ;
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
hesk_dbQuery ( " INSERT INTO ` " . hesk_dbEscape ( $hesk_settings [ 'db_pfix' ]) . " ticket_templates` (`title`,`message`,`tpl_order`) VALUES (' " . hesk_dbEscape ( $savename ) . " ',' " . hesk_dbEscape ( $msg ) . " ',' " . intval ( $my_order ) . " ') " );
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
unset ( $_SESSION [ 'canned' ][ 'what' ]);
2015-01-14 20:38:39 -05:00
unset ( $_SESSION [ 'canned' ][ 'name' ]);
unset ( $_SESSION [ 'canned' ][ 'msg' ]);
2015-09-12 00:46:46 -04:00
hesk_process_messages ( $hesklang [ 'ticket_tpl_saved' ], 'manage_ticket_templates.php' , 'SUCCESS' );
2015-01-14 20:38:39 -05:00
} // End new_saved()
function remove ()
{
2015-09-12 00:46:46 -04:00
global $hesk_settings , $hesklang ;
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
/* A security check */
hesk_token_check ();
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
$mysaved = intval ( hesk_GET ( 'id' )) or hesk_error ( $hesklang [ 'id_not_valid' ]);
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
hesk_dbQuery ( " DELETE FROM ` " . hesk_dbEscape ( $hesk_settings [ 'db_pfix' ]) . " ticket_templates` WHERE `id`=' " . intval ( $mysaved ) . " ' LIMIT 1 " );
if ( hesk_dbAffectedRows () != 1 ) {
hesk_error ( " $hesklang[int_error] : $hesklang[ticket_tpl_not_found] . " );
2015-01-14 20:38:39 -05:00
}
2015-09-12 00:46:46 -04:00
hesk_process_messages ( $hesklang [ 'ticket_tpl_removed' ], 'manage_ticket_templates.php' , 'SUCCESS' );
2015-01-14 20:38:39 -05:00
} // End remove()
function order_saved ()
{
2015-09-12 00:46:46 -04:00
global $hesk_settings , $hesklang ;
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
/* A security check */
hesk_token_check ();
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
$tplid = intval ( hesk_GET ( 'replyid' )) or hesk_error ( $hesklang [ 'ticket_tpl_id' ]);
2015-01-14 20:38:39 -05:00
$_SESSION [ 'canned' ][ 'selcat2' ] = $tplid ;
2015-09-12 00:46:46 -04:00
$tpl_move = intval ( hesk_GET ( 'move' ));
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
hesk_dbQuery ( " UPDATE ` " . hesk_dbEscape ( $hesk_settings [ 'db_pfix' ]) . " ticket_templates` SET `tpl_order`=`tpl_order`+ " . intval ( $tpl_move ) . " WHERE `id`=' " . intval ( $tplid ) . " ' LIMIT 1 " );
if ( hesk_dbAffectedRows () != 1 ) {
hesk_error ( " $hesklang[int_error] : $hesklang[ticket_tpl_not_found] . " );
}
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
/* Update all category fields with new order */
$result = hesk_dbQuery ( 'SELECT `id` FROM `' . hesk_dbEscape ( $hesk_settings [ 'db_pfix' ]) . 'ticket_templates` ORDER BY `tpl_order` ASC' );
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
$i = 10 ;
while ( $mytpl = hesk_dbFetchAssoc ( $result )) {
hesk_dbQuery ( " UPDATE ` " . hesk_dbEscape ( $hesk_settings [ 'db_pfix' ]) . " ticket_templates` SET `tpl_order`= " . intval ( $i ) . " WHERE `id`=' " . intval ( $mytpl [ 'id' ]) . " ' LIMIT 1 " );
$i += 10 ;
}
2015-01-14 20:38:39 -05:00
2015-09-12 00:46:46 -04:00
header ( 'Location: manage_ticket_templates.php' );
exit ();
2015-01-14 20:38:39 -05:00
} // End order_saved()
?>