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

电子政务应用

开发平台:

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: settings_include.php,v $
  15. // | $Date: 2004/02/10 01:34:25 $
  16. // | $Revision: 1.17 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Utility functions for settings handling (administration
  20. // |   interface)
  21. // +-------------------------------------------------------------+
  22. error_reporting(E_ALL & ~E_NOTICE);
  23. ############################### UPDATE SETTINGS ###############################
  24. function update_settings() {
  25. global $_REQUEST, $db;
  26. // update the settings
  27. if (!is_array($_REQUEST['settings'])) {
  28. return;
  29. }
  30. while (list ($key, $value) = each ($_REQUEST[settings])) {
  31. $db->query("UPDATE settings SET value = '" . mysql_escape_string($value) . "' WHERE settings='$key'");
  32. }
  33. }
  34. ############################### SHOW SETTINGS ###############################
  35. /*
  36. target : form we are submitting to
  37. cat : restrict by cats
  38. default : show default categories
  39. array : specify settings by name
  40. no_form : no_form
  41. extra_rows : used by basic_config.php
  42. */
  43. function show_settings($target='settings.php', $cat=NULL, $default=true, $array='', $form=true, $extra_rows='') {
  44. global $db;
  45. if ($cat) {
  46. if (!is_array($cat)) {
  47. $cat = array($cat);
  48. }
  49. }
  50. if ($default) {
  51. $terms[] = " defaultdisplay";
  52. }
  53. if ($cat) {
  54. $terms[] = " name IN " . array2sql($cat) . "";
  55. }
  56. if ($terms) {
  57. $terms = "WHERE " . join(' AND ', $terms);
  58. }
  59. // get settings_cat details
  60. $db->query(
  61. "SELECT * from settings_cat $terms");
  62. unset($cat);
  63. while ($setcat = $db->row_array()) {
  64. $settingid[] = $setcat[id];
  65. $settingname[$setcat[id]] = $setcat[name];
  66. $settingdescription[$setcat[id]] = $setcat[description];
  67. $cat[] = $setcat[id];
  68. }
  69. if ($cat) {
  70. if (is_array($cat)) {
  71. $where = " WHERE category IN " . array2sql($cat);
  72. } else {
  73. $where = " WHERE category = '$cat'";
  74. }
  75. } elseif ($default) {
  76. $where = " WHERE category IN " . array2sql($settingid);
  77. if ($array) {
  78. $where .= iff($where, ' AND', ' WHERE') . " settings IN " . array2sql($array);
  79. }
  80. // get settings data
  81. $db->query(
  82. "SELECT settings.*
  83. FROM settings
  84. LEFT JOIN settings_cat ON (settings.category = settings_cat.id)" .
  85. $where . " ORDER BY settings.category, settings.show_order"
  86. );
  87. $no=1;
  88. if ($form) {
  89. echo "<form action="$target" method="post">";
  90. }
  91. while ($set = $db->row_array()) {
  92. if ($set[category] != $previous) {
  93. if ($no != "1") {
  94. if ($onecat != $previous) {
  95. $show = 1;
  96. } else {
  97. $show = '';
  98. }
  99. $show=0;
  100. table_header($settingname[$previous] . "</b>: " . $settingdescription[$previous] . "<b>", '', '', $show);
  101. table_content('', $table);
  102. table_footer();
  103. unset($table);
  104. }
  105. unset($no);
  106. }
  107. if ($set[field_type] == "text") {
  108. $bit = form_input($set[settings], $set[value], '30', 'settings');
  109. } elseif ($set[field_type] == "area") {
  110. $bit =  form_textarea($set[settings], '30', '5', $set[value], 'settings');
  111. } elseif ($set[field_type] == "radio") {
  112. $bit =  form_radio_yn($set[settings], 'settings', $set[value]);
  113. }
  114. $table[] = "<table width="100%"><tr><td><b>$set[name]</b>" . iff(defined('DEVELOPERMODE'), "&nbsp;&nbsp;&nbsp;<i>Variable: $settings[" . $set[settings] . "]</I>") . "</td><td width="200" align="right"><p align="right">" . $bit . "</td></tr><tr><td>$set[description]</td></tr></table>";
  115. $previous = $set[category];
  116. }
  117. if (is_array($extra_rows)) {
  118. foreach($extra_rows AS $key => $var) {
  119. $table[] = settings_extra_row($var[0], $var[1], $var[2]);
  120. }
  121. }
  122. if ($form) {
  123. table_header($settingname[$previous] . "</b>: " . $settingdescription[$previous] . "<b>", '', '', $show);
  124. } else {
  125. echo "<br /><br /><table border="0" cellpadding="5" width="100%" align="center" cellspacing="0"><tr><td height="1" class="borderCell"><img src="../images/spacer.gif" width="1" height="1"></td></tr>";
  126. }
  127. table_content('', $table);
  128. table_footer();
  129. if ($form) {
  130. echo "<center><input type="submit" name="update" value="Update Settings">" . form_hidden('do', 'update') . "</center></form>";
  131. }
  132. }
  133. function settings_extra_row($name, $description, $form) {
  134. return "<table width="100%"><tr><td><b>$name</b></td><td width="200" align="right"><p align="right">" . $form . "</td></tr><tr><td>$description</td></tr></table>";
  135. }