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

电子政务应用

开发平台:

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: validate.php,v $
  15. // | $Date: 2004/02/10 01:34:26 $
  16. // | $Revision: 1.25 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - FAQ article submissions validation.
  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'] = "navigate";
  28. }
  29. include ('./faq_include.php');
  30. ############################### VALIDATE ARTICLES ###############################
  31. if ($_REQUEST['do'] == "validate") {
  32. // delete articles
  33. if (is_array($_REQUEST['do_delete'])) { 
  34. foreach($_REQUEST['do_delete'] AS $key => $var) {
  35. if ($var) {
  36. if ($_REQUEST['do_email'][$key]) { 
  37. $article = $db->query_return("
  38. SELECT faq_articles.*
  39. FROM faq_articles
  40. WHERE faq_articles.id = '$key'
  41. ");
  42. $user_details = $db->query_return("
  43. SELECT *
  44. FROM user
  45. WHERE id = '$article[userid]'
  46. ");
  47. $user_details = update_user_details($user_details);
  48. eval(makeemaileval('message', 'BODY_article_deleted', $subject));
  49. dp_mail($user_details['email'], $subject, $message);
  50. }
  51. $db->query("DELETE FROM faq_articles WHERE id = '$key'");
  52. $del++;
  53. }
  54. }
  55. }
  56. // validate articles
  57. if (is_array($_REQUEST['do_validated'])) { 
  58. foreach($_REQUEST['do_validated'] AS $key => $var) {
  59. $checks = xss_check(
  60. array(
  61. $_REQUEST['do_question'][$key],
  62. $_REQUEST['do_title'][$key],
  63. $_REQUEST['do_answer'][$key],
  64. $_REQUEST['do_category'][$key]
  65. ), 'user');
  66. $db->query("
  67. UPDATE faq_articles SET 
  68. to_validate = '0',
  69. question = '" . mysql_escape_string($checks[0]) . "',
  70. title = '" . mysql_escape_string($checks[1]) . "',
  71. answer = '" . mysql_escape_string($checks[2]) . "',
  72. category = '" . mysql_escape_string($checks[3]) . "'
  73. WHERE id = '$key'
  74. ");
  75. $result = $db->query_return("
  76. SELECT parentlist 
  77. FROM faq_cats
  78. WHERE id = '$checks[4]'
  79. ");
  80. // update parents
  81. if ($result['parentlist']) {
  82. $db->query("UPDATE faq_cats SET 
  83. totalarticles = (totalarticles + 1)
  84. newdate = '" . mktime() . "'
  85. WHERE id IN ($result[parentlist])
  86. ");
  87. }
  88. // update category
  89. $db->query("UPDATE faq_cats SET
  90. totalarticles = (totalarticles + 1),
  91. articles = (articles + 1),
  92. newdate = '" . mktime() . "'
  93. WHERE id = '$checks[3]'
  94. ");
  95. if ($_REQUEST[do_email][$key]) {
  96. $article = $db->query_return("
  97. SELECT faq_articles.*
  98. FROM faq_articles
  99. WHERE faq_articles.id = '$key'
  100. ");
  101. $user_details = $db->query_return("
  102. SELECT *
  103. FROM user
  104. WHERE id = '$article[userid]'
  105. ");
  106. $user_details = update_user_details($user_details);
  107. eval(makeemaileval('message', 'BODY_article_accepted', $subject));
  108. dp_mail($user_details['email'], $subject, $message);
  109. unset($message);
  110. }
  111. $val++;
  112. }
  113. }
  114. if ($val) {
  115. $message .= "$val articles validated";
  116. }
  117. if ($del) {
  118. if ($val) {
  119. $message .= '/n';
  120. }
  121. $message .= "$del articles deleted";
  122. }
  123. if ($message) {
  124. alert($message);
  125. }
  126. $_REQUEST['do'] = 'navigate';
  127. }
  128. ############################### LIST ELEMENTS ###############################
  129. if ($_REQUEST['do'] == 'navigate') {
  130. $catarray = faq_categoryjump();
  131. unset($catarray[0]);
  132. ############################### VALIDATE ARTICLES ###############################
  133. // select the articles
  134. $db->query("
  135. SELECT * FROM faq_articles
  136. WHERE to_validate
  137. ORDER BY show_order
  138. ");
  139. new_db_class(2);
  140. while ($article = $db->row_array()) {
  141. $table[] = array(
  142. htmlspecialchars($article[title]),
  143. form_select($article['id'], $catarray, 'do_category', $article['category']),
  144. form_checkbox_single($article['id'], '1', '', 'do_delete'),
  145. form_checkbox_single($article['id'], '1', $article['validated'], 'do_validated'),
  146. form_checkbox_single($article['id'], '1', 1, 'do_email')
  147. );
  148. $entry = "<table width="100%" cellpadding="0" cellspacing="0" class="table_midheader"><tr><td><table cellspacing="1" cellpadding="3" width="100%"><tr><td bgcolor="FFFFFF">";
  149. if ($article['userid']) {
  150. $userdata = $db2->query_return("SELECT * FROM user WHERE id = '$article[userid]'");
  151. $entry .= "From user '$userdata[username]' ($userdata[email])";
  152. } else {
  153. $entry .= "From an anonymous user.";
  154. }
  155. $entry .= "<BR><b>Title:</b><br />" .  
  156. form_input($article['id'], $article['title'], '30', 'do_title') . "<br /><br /><b>Question:</b><br />" .
  157. form_textarea($article['id'], 100, 10, $article['question'], 'do_question') . "<br /><br /><b>Answer:</b><br />" .
  158. form_textarea($article['id'], 100, 10, $article['answer'], 'do_answer') . "</td></tr></table></td></tr></table>";
  159. $faq_entry[] = $entry;
  160. }
  161. $columns = array('Title', 'Category', 'Delete', 'Validate', 'Send Email');
  162. table_header('Articles Awaiting Validation', 'validate.php', array('do' => 'validate'));
  163. table_content($columns, $table, $extra, '', '', $faq_entry, '', '', 100);
  164. table_footer('Validate Articles');
  165. }
  166. tech_footer();
  167. ?>