diff --git a/admin/manage_ticket_templates.php b/admin/manage_ticket_templates.php new file mode 100644 index 00000000..c961022d --- /dev/null +++ b/admin/manage_ticket_templates.php @@ -0,0 +1,417 @@ + + +
+ +
+ + + + +
+
+
+
+ +
+
+ '.$hesklang['no_ticket_tpl'].'

'; + } else { + ?> + + + + + + + + + '.$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"; + + echo ' + + + + + '; + } // End while + + ?> + +
'.$mysaved['title'].' + '; + + if ($num > 1) + { + if ($j == 1) + { + echo' + + '; + } + elseif ($j == $num) + { + echo' '; + } + else + { + echo' + + + '; + } + } + else + { + echo ''; + } + + echo ' +
+ +
+
+
+
+ +
+

+
+ 0) + { + ?> +
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+ ' . $hesklang['ticket_tpl_add'] . '

'; + } + ?> +
+ +
+ + > + +
+
+
+ +
+ + + +
+
+
+
+ + +
+
+
+
+
+ + + +' . $hesklang['sel_ticket_tpl'] . ''; + $savename = hesk_input( hesk_POST('name') ) or $hesk_error_buffer .= '
  • ' . $hesklang['ent_ticket_tpl_title'] . '
  • '; + $msg = hesk_input( hesk_POST('msg') ) or $hesk_error_buffer .= '
  • ' . $hesklang['ent_ticket_tpl_msg'] . '
  • '; + + // 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'; + $_SESSION['canned']['id'] = $id; + $_SESSION['canned']['name'] = $savename; + $_SESSION['canned']['msg'] = $msg; + + /* Any errors? */ + if (strlen($hesk_error_buffer)) + { + $hesk_error_buffer = $hesklang['rfm'].'

    '; + hesk_process_messages($hesk_error_buffer,'manage_ticket_templates.php?saved_replies='.$id); + } + + $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"); + + unset($_SESSION['canned']['what']); + unset($_SESSION['canned']['id']); + unset($_SESSION['canned']['name']); + unset($_SESSION['canned']['msg']); + + hesk_process_messages($hesklang['ticket_tpl_saved'],'manage_ticket_templates.php?saved_replies='.$id,'SUCCESS'); +} // End edit_saved() + + +function new_saved() +{ + global $hesk_settings, $hesklang; + + /* A security check */ + hesk_token_check('POST'); + + $hesk_error_buffer = ''; + $savename = hesk_input( hesk_POST('name') ) or $hesk_error_buffer .= '
  • ' . $hesklang['ent_ticket_tpl_title'] . '
  • '; + $msg = hesk_input( hesk_POST('msg') ) or $hesk_error_buffer .= '
  • ' . $hesklang['ent_ticket_tpl_msg'] . '
  • '; + + // 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'] = 'NEW'; + $_SESSION['canned']['name'] = $savename; + $_SESSION['canned']['msg'] = $msg; + + /* Any errors? */ + if (strlen($hesk_error_buffer)) + { + $hesk_error_buffer = $hesklang['rfm'].'

    '; + hesk_process_messages($hesk_error_buffer,'manage_ticket_templates.php'); + } + + /* 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; + + 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)."')"); + + unset($_SESSION['canned']['what']); + unset($_SESSION['canned']['name']); + unset($_SESSION['canned']['msg']); + + hesk_process_messages($hesklang['ticket_tpl_saved'],'manage_ticket_templates.php','SUCCESS'); +} // End new_saved() + + +function remove() +{ + global $hesk_settings, $hesklang; + + /* A security check */ + hesk_token_check(); + + $mysaved = intval( hesk_GET('id') ) or hesk_error($hesklang['id_not_valid']); + + 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]."); + } + + hesk_process_messages($hesklang['ticket_tpl_removed'],'manage_ticket_templates.php','SUCCESS'); +} // End remove() + + +function order_saved() +{ + global $hesk_settings, $hesklang; + + /* A security check */ + hesk_token_check(); + + $tplid = intval( hesk_GET('replyid') ) or hesk_error($hesklang['ticket_tpl_id']); + $_SESSION['canned']['selcat2'] = $tplid; + + $tpl_move = intval( hesk_GET('move') ); + + 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].");} + + /* 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'); + + $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; + } + + header('Location: manage_ticket_templates.php'); + exit(); +} // End order_saved() + +?>