quick_reply.php
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:11k
源码类别:

电子政务应用

开发平台:

Java

  1. <?php
  2. // +-------------------------------------------------------------+
  3. // | DeskPRO v [2.0.1 Production]
  4. // | Copyright (C) 2001 - 2004 Headstart Solutions Limited
  5. // | Supplied by WTN-WDYL
  6. // | Nullified by WTN-WDYL
  7. // | Distribution via WebForum, ForumRU and associated file dumps
  8. // +-------------------------------------------------------------+
  9. // | DESKPRO IS NOT FREE SOFTWARE
  10. // +-------------------------------------------------------------+
  11. // | License ID : Full Enterprise License =) ...
  12. // | License Owner : WTN-WDYL Team
  13. // +-------------------------------------------------------------+
  14. // | $RCSfile: quick_reply.php,v $
  15. // | $Date: 2004/02/10 01:34:30 $
  16. // | $Revision: 1.17 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Quick reply management.
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL ^ E_NOTICE);
  22. // start file
  23. require("./../global.php");
  24. // globalise variables
  25. $global = array (
  26. array('id') // id
  27. );
  28. rg($global);
  29. tech_nav('Quick Replies');
  30. // default do
  31. $_REQUEST['do'] = trim($_REQUEST['do']);
  32. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  33. $_REQUEST['do'] = "view";
  34. }
  35. ############################### DELETE CATEGORY (2) ###############################
  36. if ($_REQUEST['do'] == "delete_cat") {
  37. if (!$_REQUEST['id']) {
  38. mistake('No category was specified for deletion.', 1);
  39. }
  40. $result = $db->query_return("SELECT * FROM quickreply_cat WHERE id = '$id'");
  41. if (!$db->num_rows()) {
  42. mistake('The specified category doesn't exist.', 1);
  43. }
  44. $result = $db->query("SELECT * FROM quickreply WHERE category = '$id'");
  45. if ($db->num_rows()) {
  46. mistake("The specified category isn't empty. Please delete the quick
  47. replies in this category before deleting it.");
  48. }
  49. if ($user['p_quickedit'] OR !$result['global']) {
  50. $db->query("DELETE FROM quickreply_cat WHERE id = '$id'");
  51. }
  52. update_cache();
  53. }
  54. ############################### ADD CATEGORY (2) ###############################
  55. if ($_REQUEST['do'] == "add_category2") {
  56. if ($_REQUEST['name'] == '') {
  57. $cat_error = "<B>Error: You have not entered a name for the category</b><br /><br />";
  58. } else {
  59. $name = xss_check($_REQUEST['name'], 'tech');
  60. $db->query("INSERT INTO quickreply_cat SET 
  61. name = '".mysql_escape_string($name)."', "
  62. . iff($user['p_quickedit'], "global = '" . iff($_REQUEST['global'], 1) . "',") .
  63. " techid = '$user[id]'
  64. ");
  65. }
  66. $_REQUEST['do'] = "add_category";
  67. update_cache();
  68. }
  69. ############################### BUILD NAVIGATION ###############################
  70. /*
  71. function stat_table($title, $data, $width='100%') {
  72. $html = "<table width="$width%" align="center" border="0" cellspacing="0" cellpadding="0">";
  73. $html .= '
  74. <tr>
  75.   <td height="1" colspan="20" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  76. </tr>
  77. <tr>
  78.   <td height="20" colspan="20" align="center" class="calendar1"><strong>' . " $title " . '</strong></td>
  79. </tr>
  80. <tr>
  81.   <td height="1" colspan="20" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  82. </tr>
  83. ';
  84. if (is_array($data)) {
  85. foreach ($data AS $key => $var) {
  86. if (is_array($var)) {
  87. $html .= "<tr>";
  88. foreach ($var AS $key2 => $var2) {
  89. $html .= "<td height="20">&nbsp;&nbsp;&nbsp;$var2</td>";
  90. }
  91. $html .= "</tr>";
  92. } else {
  93. $html .= "
  94. <tr>
  95.   <td height="20" colspan="20">&nbsp;&nbsp;&nbsp;$var</td>
  96. </tr>
  97. ";
  98. }
  99.  $html .= '
  100. <tr>
  101.   <td height="1" colspan="20" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  102. </tr>
  103. ';
  104. }
  105. }
  106.   $html .='</table>';
  107.   return $html;
  108. }
  109. */
  110. ?>
  111. <table width="100%"><tr><td valign="top" width="20%">
  112. <table width="100%%" align="center" border="0" cellspacing="0" cellpadding="0">
  113. <tr>
  114.   <td height="1" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  115. </tr>
  116. <tr>
  117.   <td height="20" align="center" class="calendar1"><strong>Categories:</strong></td>
  118. </tr>
  119. <tr>
  120.   <td height="1" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  121. </tr>
  122. <tr>
  123. <td><br />
  124. <?php
  125. echo "<a href="quick_reply.php">Top Category</a><br />";
  126. $db->query("SELECT * FROM quickreply_cat WHERE techid = $user[id] OR global");
  127. while ($result = $db->row_array()) {
  128. $quick[id] = $result[name];
  129. echo "&nbsp;&nbsp;<a href="quick_reply.php?id=$result[id]">$result[name]</a> [<B>".
  130. jprompt('This will delete the category',
  131. "quick_reply.php?do=delete_cat&id=$result[id]",
  132. 'x') . 
  133. '</b></a>]';
  134. if ($result['global']) {
  135. echo "&nbsp;<b>g</b>";
  136. }
  137. echo "<br />";
  138. }
  139. ?>
  140. <br /></td>
  141. </tr>
  142. <tr>
  143.   <td height="1" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  144. </tr>
  145. <tr>
  146.   <td height="20" align="center" class="calendar1"><strong>Actions:</strong></td>
  147. </tr>
  148. <tr>
  149.   <td height="1" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  150. </tr>
  151. <tr>
  152. <td><br />
  153. <a href="quick_reply.php?do=add_entry">Create Entry</a><br />
  154. <a href="quick_reply.php?do=add_category">Create Category</a>
  155. <br /><br /></td>
  156. </tr>
  157. <tr>
  158.   <td height="1" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  159. </tr>
  160. <tr>
  161.   <td height="20" align="center" class="calendar1"><strong>Key:</strong></td>
  162. </tr>
  163. <tr>
  164.   <td height="1" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  165. </tr>
  166. <tr>
  167. <td><br />
  168. (g) = global category</b><br />
  169. [x] = delete category</a>
  170. <br /><br />
  171. </td>
  172. </tr>
  173. <tr>
  174.   <td height="1" bgcolor="#BF4343"><img src="../../images/spacer.gif" width="1" height="1"></td>
  175. </tr>
  176. </table>
  177. </td><td width="25"></td><td valign="top" width="80%">
  178. <?php
  179. if ($cat_error != "") {
  180. echo $cat_error;
  181. }
  182. ############################### UPDATE ENTRIES ###############################
  183. if ($_REQUEST['do'] == "update") {
  184. foreach($_REQUEST[entryid] AS $key => $var) {
  185. if ($_REQUEST[delete][$key]) {
  186. $result = $db->query_return("SELECT techid FROM quickreply WHERE id = '$key'");
  187. if ($result[techid] == $user[id] OR $user['p_quickedit']) {
  188. $db->query("DELETE FROM quickreply WHERE id = '$key'");
  189. }
  190. } else {
  191. $checks = xss_check(array(
  192. $_REQUEST['name'][$key],
  193. $_REQUEST['response'][$key]), 'tech');
  194. $db->query("UPDATE quickreply 
  195. SET name = '" . mysql_escape_string($checks[0]) . "',
  196. response = '" . mysql_escape_string($checks[1]) . "'
  197. WHERE id = $key" . iff((!$user['p_quickedit']), " AND techid = $user[id]")
  198. );
  199. }
  200. }
  201. update_cache();
  202. $_REQUEST['do'] = "view";
  203. }
  204. ############################### LIST ENTRIES ###############################
  205. if ($_REQUEST['do'] == "view") {
  206. // need to check category is global or ours
  207. $category = $db->query_return("SELECT techid, global FROM quickreply_cat WHERE id = '$id'");
  208. if ((!$category['global']) AND ($category[techid] != $user[id]) AND $id) {
  209. echo "<b>You do not have permission to view this category</b>";
  210. exit();
  211. }
  212. if (!$id) {
  213. $id = 0;
  214. }
  215. $db->query("SELECT * FROM quickreply WHERE category = '$id'");
  216. while ($result = $db->row_array()) {
  217. $table[] = array("<b>Reference name:</B> " . 
  218. form_input($result[id], $result[name], '40', 'name') . "&nbsp;&nbsp;&nbsp;&nbsp;<b>delete:</b>&nbsp;&nbsp;
  219. <input type="checkbox" name="delete[$result[id]]" value="1"><br />" . 
  220. form_textarea($result[id], '90', '7', $result[response], 'response') . "<input type="hidden" name="entryid[$result[id]]" value="1">");
  221. }
  222. if ($db->num_rows() < 1) {
  223. echo "<B>There are currently no quick replies for this category</b>";
  224. } else {
  225. table_header('Update Quick Replies', 'quick_reply.php', array('do' => 'update', 'id' => $id));
  226. table_content('', $table);
  227. table_footer('Update Entries');
  228. unset($table, $width);
  229. }
  230. }
  231. ############################### ADD ENTRY (2) ###############################
  232. if ($_REQUEST['do'] == "add_entry2") {
  233. if ($_REQUEST['name'] == '') {
  234. echo "<B>Error: You have left the name for the quick reply empty</b><br /><br />";
  235. $error = 1;
  236. }
  237. if ($_REQUEST['response'] == '') {
  238. echo "<B>Error: You have left the reply empty</b><br /><br />";
  239. $error = 1;
  240. }
  241. if (!$error) {
  242. $checks = xss_check(array(
  243. $_REQUEST['name'],
  244. $_REQUEST['response']), 'tech');
  245. $db->query("INSERT INTO quickreply SET
  246. name = '".mysql_escape_string($checks[0])."',
  247. response = '".mysql_escape_string($checks[1])."',
  248. category = '".mysql_escape_string($_REQUEST['category'])."',
  249. techid = $user[id]
  250. ");
  251. echo "<b>Entry Created</b>";
  252. } else {
  253. $response = $_REQUEST['response'];
  254. $name = $_REQUEST['name'];
  255. $category2 = $_REQUEST['category'];
  256. }
  257. update_cache();
  258. $_REQUEST['do'] = "add_entry";
  259. }
  260. ############################### ADD ENTRY ###############################
  261. if ($_REQUEST['do'] == "add_entry") {
  262. $category[0] = "Top Level Category";
  263. $db->query("SELECT * FROM quickreply_cat WHERE techid = '$user[id]' OR global");
  264. while ($cat = $db->row_array()) {
  265. if ($cat['global'] AND !$user['p_quickedit']) {
  266. continue;
  267. }
  268. $category[$cat[id]] = $cat[name];
  269. }
  270. $table[] = array(table_thelp('<b>Name:</b>', 'Quick Replies', 'Name'), form_input('name', $name));
  271. $table[] = array(table_thelp('<b>Category:</b>', 'Quick Replies', 'Category'), form_select(category, $category, '', $category2));
  272. $table[] = array(table_thelp('<b>Quick Reply:</b>', 'Quick Replies', 'Response'), form_textarea('response', '90', '7', $response));
  273. table_header('Add New Quick Reply', 'quick_reply.php', array('do' => 'add_entry2'));
  274. table_content('', $table);
  275. table_footer('Create Entry');
  276. unset($table, $width);
  277. }
  278. ############################### ADD CATEGORY ###############################
  279. if ($_REQUEST['do'] == "add_category") {
  280. if (!$user['p_quickedit']) {
  281. mistake('You do not have permission to edit quick replies.', 1);
  282. }
  283. $table[] = array(table_thelp('<b>Name:</b>', 'Quick Replies', 'Category Name'), form_input('name'));
  284. if ($user['p_quickedit']) {
  285. $table[] = array(table_thelp('<B>Global:</B>', 'Quick Replies', 'Global'), form_radio_yn('global', NULL));
  286. }
  287. table_header('Create Category', 'quick_reply.php', array('do' => 'add_category2'));
  288. table_content('', $table);
  289. table_footer('Create Category');
  290. }
  291. ############################### END ###############################
  292. echo "</td></tr></table>";
  293. function update_cache() { ?>
  294. <script language="JavaScript">
  295. top.empty.location.reload();
  296. </script>
  297. <?php
  298. }