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

电子政务应用

开发平台:

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: category.php,v $
  15. // | $Date: 2004/02/10 01:34:26 $
  16. // | $Revision: 1.22 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - FAQ category maintenance
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL ^ E_NOTICE);
  22. include "./../global.php";
  23. tech_nav('faq');
  24. // default do
  25. $_REQUEST['do'] = trim($_REQUEST['do']);
  26. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  27. $_REQUEST['do'] = "edit";
  28. }
  29. // globalise variables
  30. $global = array (
  31. array('catid')
  32. );
  33. rg($global);
  34. include ("./faq_include.php");
  35. ############################### SQL: ADD CATEGORY ###############################
  36. if ($_REQUEST['do'] == "add2") {
  37. if ($_REQUEST['parent'] != "0") {
  38. $result = $db->query_return("SELECT parentlist,id FROM faq_cats WHERE id = '" . intval($_REQUEST['parent']) . "'");
  39. $parentlist = iff($result['parentlist'], ", $result[parentlist]") . $result['id'];
  40. }
  41. $db->query("INSERT INTO faq_cats SET
  42. name = '".mysql_escape_string($_REQUEST['name'])."',
  43. parent = '".mysql_escape_string($_REQUEST['parent'])."',
  44. description = '".mysql_escape_string($_REQUEST['description'])."',
  45. parentlist = '$parentlist',
  46. show_order = '".mysql_escape_string($_REQUEST['order'])."'
  47. ");
  48. $catid = $db->last_id();
  49. // update permissions; need to give permissions to parents as well to prevent orphan cats.
  50. if (is_array($_REQUEST['permission'])) {
  51. foreach ($_REQUEST['permission'] AS $key => $var) {
  52. if ($var == 1) {
  53. $data[] = array($catid, $key);
  54. // also add for parentlist
  55. $parents = explode(',', $parentlist);
  56. foreach ($parents AS $key2 => $var2) {
  57. $data[] = array($var2, $key);
  58. }
  59. }
  60. }
  61. }
  62. // permissions
  63. if (is_array($data)) {
  64. $db->query("REPLACE INTO faq_permissions
  65. (catid, groupid)
  66. VALUES " . insertsql($data) . "
  67. ");
  68. }
  69. unset($data);
  70. // related categories
  71. $related = explode(',', $_REQUEST['related']);
  72. foreach ($related AS $key => $var) {
  73. if ($var) {
  74. $data[] = array($catid, $var);
  75. }
  76. }
  77. if (is_array($data)) {
  78. $db->query("INSERT INTO faq_cats_related
  79. (show_cat, related_cat)
  80. VALUES " . insertsql($data) . "
  81. ");
  82. }
  83. jump('category.php?do=add', 'New Category Created');
  84. }
  85. ############################### EDIT CATEGORY ###############################
  86. if ($_REQUEST['do'] == "update") {
  87. $checks = xss_check(array($_REQUEST['name'], $_REQUEST['description']), 'user');
  88. $db->query("UPDATE faq_cats SET
  89. name = '" . mysql_escape_string($checks[0]) . "',
  90. description = '" . mysql_escape_string($checks[1]) . "'
  91. WHERE id = '$_REQUEST[catid]'
  92. ");
  93. $db->query("DELETE FROM faq_permissions WHERE catid = '$_REQUEST[catid]'");
  94. $category = $db->query_return("SELECT * FROM faq_cats WHERE id = '$_REQUEST[catid]'");
  95. // update permissions; need to give permissions to parents as well to prevent orphan cats.
  96. if (is_array($_REQUEST['permission'])) {
  97. foreach ($_REQUEST['permission'] AS $key => $var) {
  98. if ($var == 1) {
  99. $data[] = array($catid, $key);
  100. // also add for parentlist
  101. $parents = explode(',', $category['parentlist']);
  102. foreach ($parents AS $key2 => $var2) {
  103. $data[] = array($var2, $key);
  104. }
  105. }
  106. }
  107. }
  108. if (is_array($data)) {
  109. $db->query("REPLACE INTO faq_permissions
  110. (catid, groupid)
  111. VALUES " . insertsql($data) . "
  112. ");
  113. }
  114. unset($data);
  115. // related categories
  116. $db->query("DELETE FROM faq_cats_related WHERE show_cat = '$_REQUEST[catid]'");
  117. $related = explode(',', $_REQUEST['related']);
  118. foreach ($related AS $key => $var) {
  119. if ($var) {
  120. $data[] = array($_REQUEST['catid'], $var);
  121. }
  122. }
  123. if (is_array($data)) {
  124. $db->query("INSERT INTO faq_cats_related
  125. (show_cat, related_cat)
  126. VALUES " . insertsql($data) . "
  127. ");
  128. }
  129. jump('index.php?catid=' . $categorycache[$_REQUEST['catid']]['parent'], 'Category Updated');
  130. }
  131. ############################### VIEW CATEGORY ###############################
  132. if ($_REQUEST['do'] == "edit" OR $_REQUEST['do'] == "add") {
  133. echo "<form method="post" action="category.php">";
  134. if ($_REQUEST['do'] == "edit") {
  135. echo form_hidden('do', 'update');
  136. echo form_hidden('catid', $_REQUEST['catid']);
  137. } else {
  138. echo form_hidden('do', 'add2');
  139. }
  140. $catarray = faq_categoryjump();
  141. if ($_REQUEST['do'] == "edit") {
  142. if (!$catid) {
  143. $catid = 0;
  144. }
  145. $parent = $categorycache[$catid]['parent'];
  146. while ($parent > 0) {
  147. $nav = " >> <a href="index.php?catid=" . $parent . "">" . $categorycache[$parent]['name'] . "</a>" . $nav;
  148. $parent = $categorycache[$parent]['parent'];
  149. }
  150. $nav = "<a href="index.php">Top</a>" . $nav;
  151. if ($catid != "0") {
  152. $nav .= " >> <a href="index.php?catid=$catid">" . $categorycache[$catid]['name'] . "</a>";
  153. }
  154. echo "<BR><B>$nav</b><br /><br />";
  155. }
  156. $db->query("SELECT groupid FROM faq_permissions WHERE catid = '$_REQUEST[catid]'");
  157. while ($result = $db->row_array()) {
  158. $perms[] = $result['groupid'];
  159. }
  160. $db->query("SELECT * FROM user_groups");
  161. while ($result = $db->row_array()) {
  162. // make all permissions selected by default for new cats
  163. if ($_REQUEST['do'] == 'add') {
  164. $perms[] = $result['id'];
  165. }
  166. $html .= form_checkbox_single($result['id'], 1, @in_array($result['id'], $perms), 'permission') . "&nbsp;&nbsp; $result[name]<br />";
  167. }
  168. $result = $db->query_return("SELECT * FROM faq_cats WHERE id = '$_REQUEST[catid]'");
  169. $table[] = array(table_thelp('<b>Name</b>', 'FAQ', 'Name'), form_input('name', $result['name']));
  170. if ($_REQUEST['do'] == "add") {
  171. $table[] = array(table_thelp('<b>Parent</b>', 'FAQ', 'Parent'), form_select('parent', $catarray));
  172. }
  173. $table[] = array(table_thelp('<b>Description</b>', 'FAQ', 'Description'), form_textarea('description', 60, 10, $result['description']));
  174. $table[] = array(table_thelp('<b>Permissions</b>', 'FAQ', 'Permissions'), $html);
  175. if ($_REQUEST['do'] == "edit") {
  176. table_header('Edit FAQ Category');
  177. } else {
  178. table_header('Create FAQ Category');
  179. }
  180. table_content($columns, $table, $extra);
  181. table_footer();
  182. unset($columns, $table, $extra, $html, $html2);
  183. ///////////////////////// RELATED CATEGORIES ///////////////
  184. echo get_javascript('selectBox.js');
  185. $db->query("SELECT faq_cats.id, faq_cats.name
  186. FROM faq_cats_related
  187. LEFT JOIN faq_cats ON (faq_cats.id = faq_cats_related.related_cat)
  188. WHERE show_cat = '$catid'
  189. ORDER BY faq_cats.parent
  190. ");
  191. while ($result = $db->row_array()) {
  192. $resultarray[] = $result['id'];
  193. if ($catarray[$result['id']]) {
  194. $html2 .= "<option value="$result[id]">" . $catarray[$result['id']] . "</option>";
  195. }
  196. }
  197. $db->query("SELECT id, name FROM faq_cats ORDER BY parent, show_order");
  198. while ($result = $db->row_array()) {
  199. if ($catarray[$result['id']] AND (!@in_array($result['id'], $resultarray))) {
  200. $html .= "<option value="$result[id]"> " . $catarray[$result['id']] . "</option>";
  201. }
  202. }
  203. $table[] = array(table_thelp("<b>Related Categories</b>", 'FAQ', 'Related Categories'), "
  204. <TABLE BORDER=0>
  205. <TR>
  206. <TD VALIGN=MIDDLE ALIGN=CENTER>
  207. <b>Available Categories</b><br />
  208. <SELECT style="width:250px" NAME="list11" MULTIPLE SIZE=10 onDblClick="moveSelectedOptions(this.form.list11,this.form.list21,true)">
  209. $html
  210. </SELECT>
  211. </TD>
  212. <TD VALIGN=MIDDLE ALIGN=CENTER>
  213. <INPUT TYPE="button" NAME="right" VALUE="&gt;&gt;" onClick="moveSelectedOptions(this.form.list11,this.form.list21,true); return true;"><BR><BR>
  214. <INPUT TYPE="button" NAME="right" VALUE="All &gt;&gt;" onClick="moveAllOptions(this.form.list11,this.form.list21,true); return true;"><BR><BR>
  215. <INPUT TYPE="button" NAME="left" VALUE="&lt;&lt;" onClick="moveSelectedOptions(this.form.list21,this.form.list11,true); return true;"><BR><BR>
  216. <INPUT TYPE="button" NAME="left" VALUE="All &lt;&lt;" onClick="moveAllOptions(this.form.list21,this.form.list11,true); return true;">
  217. </TD>
  218. <TD VALIGN=MIDDLE ALIGN=CENTER>
  219. <b>Selected Categories</b><br />
  220. <SELECT style="width:250px" NAME="list21" MULTIPLE SIZE=10 onDblClick="moveSelectedOptions(this.form.list21,this.form.list11,true)">
  221. $html2
  222. </SELECT>
  223. <input type="hidden" name="related" value="">
  224. </TD>
  225. </TR>
  226. </TABLE>");
  227. table_header('Related Categories');
  228. table_content($columns, $table, $extra);
  229. table_footer();
  230. if ($_REQUEST['do'] == 'edit') {
  231. $name = 'Update FAQ Category';
  232. } else {
  233. $name = 'Create FAQ Category';
  234. }
  235. echo "<p align="center"><input type="submit" name="submit" value="$name" onclick="submitAllOptions(this.form.list21,this.form.related)"></form>
  236. <SCRIPT LANGUAGE="javascript">
  237. sortSelect(document.forms[0].list11);
  238. sortSelect(document.forms[0].list21);
  239. </SCRIPT>";
  240. }
  241. tech_footer();
  242. ?>