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

电子政务应用

开发平台:

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: userhelp.php,v $
  15. // | $Date: 2004/02/10 01:34:25 $
  16. // | $Revision: 1.26 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - User interface help system maintenance (administration
  20. // |   interface)
  21. // +-------------------------------------------------------------+
  22. error_reporting(E_ALL & ~E_NOTICE);
  23. require_once('./global.php');
  24. //Nullify WTN-WDYL Team
  25. language_check();
  26. // default do
  27. $_REQUEST['do'] = trim($_REQUEST['do']);
  28. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  29. $_REQUEST['do'] = "view";
  30. }
  31. // globalise variables
  32. $global = array (
  33. array('id', 'number')
  34. );
  35. rg($global);
  36. admin_header('Technicians FAQ', 'Technicians FAQ');
  37. ############################### UPDATE ORDERS ###############################
  38. if ($_REQUEST['do'] == 'updateorders') {
  39. foreach ($_REQUEST[displayorder] AS $key => $var) {
  40. $db->query("UPDATE user_help SET displayorder = '$var' WHERE id = '$key'");
  41. }
  42. alert('Ordering Updated');
  43. $_REQUEST['do'] = 'view';
  44. }
  45. if ($_REQUEST['do'] == 'delete') {
  46. $db->query("DELETE FROM user_help WHERE id = '$id'");
  47. $db->query("DELETE FROM user_help_entries WHERE helpid = '$id'");
  48. }
  49. ############################### VIEW HELP ###############################
  50. if ($_REQUEST['do'] == 'view') {
  51. $categories = $db->query_return_array_id("SELECT id, name FROM user_help_cats");
  52. $db->query("SELECT user_help.id AS id, 
  53. user_help.name AS name, 
  54. user_help.displayorder AS displayorder,
  55. user_help.category AS category,
  56. user_help_entries.language AS language
  57. FROM user_help
  58. LEFT JOIN user_help_entries ON user_help.id = user_help_entries.helpid
  59. ORDER BY user_help.category, user_help.name");
  60. while ($res = $db->row_array()) {
  61. $entries[$res['id']]['langs'][] = $res['language'];
  62. $entries[$res['id']]['name'] = $res['name'];
  63. $entries[$res['id']]['category'] = $res['category'];
  64. $entries[$res['id']]['displayorder'] = $res['displayorder'];
  65. }
  66. if ($settings['language_on']) {
  67. $languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
  68. } else {
  69. $languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]");
  70. }
  71. foreach ($languages AS $lang) {
  72. $langnames[] = $lang['name'];
  73. }
  74. $i = 0;
  75. if (is_array($entries)) {
  76. foreach($entries AS $helpid => $data) {
  77. $table[$i][] = form_input($helpid, $data['displayorder'], 4, 'displayorder');
  78. $table[$i][] = $data['name'];
  79. $table[$i][] = $categories[$data['category']]['name'];
  80. foreach ($languages AS $key => $var) {
  81. if (@in_array($key, $entries[$helpid]['langs'])) {
  82. $table[$i][] = 'Y';
  83. } else {
  84. $table[$i][] = 'N';
  85. }
  86. }
  87. $table[$i][] = "<a href="userhelp.php?do=edit&id=$helpid">Edit</a>";
  88. $table[$i][] = "<a href="userhelp.php?do=delete&id=$helpid">Delete</a>";
  89. $i++;
  90. }
  91. }
  92. if (is_array($table)) {
  93. if (!count($table)) {
  94. $table[] = array('No entries.');
  95. }
  96. } else {
  97. $table = array(array('No entries.'));
  98. }
  99. $columns = array_merge(array_merge(array('Order', 'Name', 'Category'), $langnames), 'Edit', 'Delete');
  100. table_header('View Help Entries', 'userhelp.php', array('do' => 'updateorders'));
  101. table_content($columns, $table);
  102. table_footer('Update Ordering');
  103. }
  104. ############################### ADD HELP (2) ###############################
  105. if ($_REQUEST['do'] == 'add2') {
  106. $db->query("
  107. INSERT INTO user_help SET
  108. name = '" . addslashes($_REQUEST[name]) . "',
  109. category = '" . addslashes($_REQUEST[category]) . "'
  110. ");
  111. $id = $db->last_id();
  112. if ($settings['language_on']) {
  113. $languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
  114. } else {
  115. $languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
  116. }
  117. foreach ($languages AS $key => $var) {
  118. if ($_REQUEST[entry][$key] != '') {
  119. $db->query("
  120. INSERT INTO user_help_entries SET
  121. language = '$key',
  122. helpid = '$id',
  123. title = '" . addslashes($_REQUEST[subjects][$key]) . "',
  124. helpentry = '" . addslashes($_REQUEST[entry][$key]) . "'
  125. ");
  126. }
  127. }
  128. jump('userhelp.php', 'User help entry created');
  129. }
  130. ############################### EDIT HELP (2) ###############################
  131. if ($_REQUEST['do'] == 'edit2') {
  132. if ($settings['language_on']) {
  133. $languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
  134. } else {
  135. $languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
  136. }
  137. $db->query("
  138. UPDATE user_help SET 
  139. name = '" . addslashes($_REQUEST[name]) . "',
  140. category = '" . addslashes($_REQUEST[category]) . "'
  141. WHERE id = '$_REQUEST[helpid]'
  142. ");
  143. // delete old entries
  144. $db->query("DELETE FROM user_help_entries WHERE helpid = '" . addslashes($_REQUEST[helpid]) . "'");
  145. foreach ($languages AS $key => $var) {
  146. if ($_REQUEST[entry][$key] != '') {
  147. $db->query("
  148. INSERT user_help_entries SET
  149. language = '$key',
  150. helpid = '" . $_REQUEST[helpid] . "',
  151. title = '" . addslashes($_REQUEST[subjects][$key]) . "',
  152. helpentry = '" . addslashes($_REQUEST[entry][$key]) . "'
  153. ");
  154. }
  155. }
  156. jump('userhelp.php', 'User help entry updated');
  157. }
  158. ############################### ADD / EDIT HELP ###############################
  159. if ($_REQUEST['do'] == 'add' OR $_REQUEST['do'] == 'edit') {
  160. if ($_REQUEST['do'] == 'edit') {
  161. $db->query("
  162. SELECT * FROM user_help_entries
  163. WHERE helpid = '$id'
  164. ");
  165. while ($result = $db->row_array()) {
  166. $help[$result['language']] = $result['helpentry'];
  167. $help_subjects[$result['language']] = $result['title'];
  168. }
  169. }
  170. $help_entry = $db->query_return("SELECT * FROM user_help WHERE id = '$id'");
  171. $categories = $db->query_return_array_id("SELECT id, name FROM user_help_cats");
  172. if (is_array($categories)) {
  173. foreach ($categories AS $cat) {
  174. $cats[$cat['id']] = $cat['name'];
  175. }
  176. }
  177. if ($settings['language_on']) {
  178. $languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
  179. } else {
  180. $languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
  181. }
  182. $table[] = "<b>Internal name</b> &nbsp;" . form_input('name', $help_entry[name]);
  183. $table[] = "<b>Category</b> &nbsp;" . form_select('category', $cats, '', $help_entry[category]);
  184. foreach ($languages AS $key => $var) {
  185. $table[] = "<table><tr><td><b>Subject:</b></td><td>" . form_input($key, $help_subjects[$key], '40', "subjects") . " <I>This is the <b>$var</b> language help entry</td></tr><tr><td><b>Message:</b></td><td>" . form_textarea($key, 90, '10', $help[$key], "entry") . "</td></tr></table>";
  186. }
  187. if ($_REQUEST['do'] == 'add') {
  188. table_header('Manage Categories', 'userhelp.php', array('do' => 'add2'));
  189. table_content($columns, $table);
  190. table_footer('Create Help Entry');
  191. } else {
  192. table_header('Manage Categories', 'userhelp.php', array('do' => 'edit2', 'helpid' => $id));
  193. table_content($columns, $table);
  194. table_footer('Update Help Entry');
  195. }
  196. }
  197. ############################### MANAGE CATEGORIES ###############################
  198. if ($_REQUEST['do'] == 'manage_categories2') {
  199. if ($settings['language_on']) {
  200. $languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
  201. } else {
  202. $languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
  203. }
  204. if (is_array($_REQUEST['categories']) AND is_array($_REQUEST['displayorder']) AND is_array($_REQUEST['name'])) {
  205. foreach($_REQUEST['categories'] AS $id => $data) {
  206. if ($_REQUEST['name'][$id]) {
  207. if (!defined('DEVELOPERMODE')) {
  208. $_REQUEST['is_custom'][$id] = 1;
  209. }
  210. $db->query("UPDATE user_help_cats SET name = '" 
  211. . mysql_escape_string($_REQUEST['name'][$id]) . "',
  212. is_custom = '" . $_REQUEST['is_custom'][$id] . "',
  213. displayorder = '" . $_REQUEST['displayorder'][$id] . "' WHERE id = '$id'");
  214. foreach ($languages AS $key => $name) {
  215. $db->query("UPDATE user_help_cats_entries SET entry = '" 
  216. . mysql_escape_string($_REQUEST['categories'][$id][$key]) 
  217. . "' WHERE categoryid = '$id' AND languageid = '$key'");
  218. }
  219. } else { 
  220. $db->query("DELETE FROM user_help_cats WHERE id = '$id'");
  221. $db->query("DELETE FROM user_help_cats_entries WHERE categoryid = '$id'");
  222. }
  223. }
  224. }
  225. if (is_array($_REQUEST['newcategories']) AND is_array($_REQUEST['newdisplayorder']) AND is_array($_REQUEST['newname'])) {
  226. foreach($_REQUEST['newcategories'] AS $id => $data) {
  227. if ($_REQUEST['newname'][$id]) {
  228. $db->query("INSERT INTO user_help_cats SET name = '" 
  229. . mysql_escape_string($_REQUEST['newname'][$id]) . "',
  230. is_custom = '" . $_REQUEST['newis_custom'][$id] . "',
  231. displayorder = '" . $_REQUEST['newdisplayorder'][$id] . "'");
  232. $new_id = $db->last_id();
  233. foreach ($languages AS $key => $name) {
  234. $db->query("INSERT user_help_cats_entries SET entry = '" 
  235. . mysql_escape_string($_REQUEST['newcategories'][$id][$key]) 
  236. . "', languageid = '$key', categoryid = '$new_id'");
  237. }
  238. }
  239. }
  240. }
  241. unset($data);
  242. unset($languages);
  243. alert('Categories Updated');
  244. $_REQUEST['do'] = 'manage_categories';
  245. }
  246. ############################### MANAGE CATEGORIES ###############################
  247. if ($_REQUEST['do'] == 'manage_categories') {
  248. if ($settings['language_on']) {
  249. $languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
  250. } else {
  251. $languages = $db->query_return_array_id("SELECT id, name FROM languages WHERE id = $settings[default_language]", 'name');
  252. }
  253. foreach ($languages AS $key => $var) {
  254. $language_ids[] = $key;
  255. }
  256. // we get all the entries for appropriate language
  257. $db->query("
  258. SELECT user_help_cats.*, user_help_cats_entries.*
  259. FROM user_help_cats
  260. LEFT JOIN user_help_cats_entries ON (user_help_cats_entries.categoryid = user_help_cats.id)
  261. WHERE languageid IN " . array2sql($language_ids) . "
  262. ORDER BY displayorder
  263. ");
  264. while ($result = $db->row_array()) {
  265. if (($result['is_custom'] AND defined('DEVELOPERMODE')) OR (!$result['is_custom'])) {
  266. $data[$result['id']]['name'] = $result['name'];
  267. $data[$result['id']]['displayorder'] = $result['displayorder'];
  268. $data[$result['id']]['langs'][$result['languageid']] = $result['entry'];
  269. $data[$result['id']]['is_custom'] = $result['is_custom'];
  270. }
  271. }
  272. if (is_array($data)) {
  273. foreach ($data AS $catid => $cat) {
  274. $tmp[] = form_input($catid, $cat['displayorder'], 4, 'displayorder');
  275. $tmp[] = form_input($catid, $cat['name'], 40, 'name');
  276. if (defined('DEVELOPERMODE')) {
  277. $tmp[] = form_checkbox_single($catid, 1, $cat['is_custom'], 'is_custom');
  278. }
  279. foreach ($cat['langs'] AS $langid => $entry) {
  280. $tmp[] = form_input($langid, $entry, 40, "categories[$catid]");
  281. }
  282. $table[] = $tmp;
  283. unset($tmp);
  284. }
  285. }
  286. $table[] = table_midheader('Create new categories');
  287. while ($y < 5) {
  288. $tmp[] = form_input($y, '', 4, 'newdisplayorder');
  289. $tmp[] = form_input($y, '', 40, 'newname');
  290. if (defined('DEVELOPERMODE')) {
  291. $tmp[] = form_checkbox_single($y, 1, NULL, 'newis_custom');
  292. }
  293. foreach ($languages AS $key => $name) {
  294. $tmp[] = form_input($key, '', '40', "newcategories[$y]");
  295. }
  296. $table[] = $tmp;
  297. unset($tmp);
  298. $y++;
  299. }
  300. if (defined('DEVELOPERMODE')) {
  301. $languages = array_merge(array('Order', 'Internal Name', 'Custom?'), $languages);
  302. } else {
  303. $languages = array_merge(array('Order', 'Internal Name'), $languages);
  304. }
  305. table_header('Manage Categories', 'userhelp.php', array('do' => 'manage_categories2'));
  306. table_content($languages, $table);
  307. table_footer('Update Categories');
  308. unset($table);
  309. }
  310. if ($_REQUEST['do'] == 'dump') {
  311. $user_help = $db->query_return_array("SELECT * from user_help");
  312. $user_help_cats = $db->query_return_array_id("SELECT * from user_help_cats");
  313. $user_help_cats_entries = $db->query_return_array_id("SELECT * from user_help_cats_entries");
  314. $user_help_entries = $db->query_return_array_id("SELECT * from user_help_entries");
  315. foreach ($user_help_cats_entries AS $catentry) {
  316. echo "Category ID: $catentry[categoryid]<br />";
  317. echo "Category Internal Name: {$user_help_cats[$catentry[categoryid]][name]} <br />";
  318. echo "Category English Name: $catentry[entry]<br />";
  319. }
  320. echo "<br /><br />";
  321. foreach ($user_help AS $entry) {
  322. echo "User Help ID: $entry[id]<br />";
  323. echo "Internal Name: $entry[name]<br />";
  324. foreach($user_help_entries AS $entry_data) {
  325. if ($entry_data['helpid'] == $entry['id'] AND $entry_data['language'] == 1) {
  326. $entry_text = htmlspecialchars($entry_data['helpentry']);
  327. echo "English Title: $entry_data[title]<br />";
  328. echo "English Entry: <PRE>$entry_text</PRE><br />";
  329. echo "<br />n";
  330. break;
  331. }
  332. }
  333. }
  334. }