Oppaitime's version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

site_options.php 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?
  2. if (!check_perms('admin_manage_permissions') && !check_perms('users_mod')) {
  3. error(403);
  4. }
  5. if (!check_perms('admin_manage_permissions')) {
  6. View::show_header('Site Options');
  7. $DB->query("SELECT Name, Value, Comment FROM site_options");
  8. ?>
  9. <div class="header">
  10. <h1>Site Options</h1>
  11. </div>
  12. <table width="100%">
  13. <tr class="colhead">
  14. <td>Name</td>
  15. <td>Value</td>
  16. <td>Comment</td>
  17. </tr>
  18. <?
  19. while (list($Name, $Value, $Comment) = $DB->next_record()) {
  20. ?>
  21. <tr class="row">
  22. <td><?=$Name?></td>
  23. <td><?=$Value?></td>
  24. <td><?=$Comment?></td>
  25. </tr>
  26. <?
  27. }
  28. ?>
  29. </table>
  30. <?
  31. View::show_footer();
  32. die();
  33. }
  34. if (isset($_POST['submit'])) {
  35. authorize();
  36. if ($_POST['submit'] == 'Delete') {
  37. $Name = db_string($_POST['name']);
  38. $DB->query("DELETE FROM site_options WHERE Name = '" . $Name . "'");
  39. $Cache->delete_value('site_option_' . $Name);
  40. } else {
  41. $Val->SetFields('name', '1', 'regex', 'The name must be separated by underscores. No spaces are allowed.', array('regex' => '/^[a-z][_a-z0-9]{0,63}$/i'));
  42. $Val->SetFields('value', '1', 'string', 'You must specify a value for the option.');
  43. $Val->SetFields('comment', '1', 'string', 'You must specify a comment for the option.');
  44. $Error = $Val->ValidateForm($_POST);
  45. if ($Error) {
  46. error($Error);
  47. }
  48. $Name = db_string($_POST['name']);
  49. $Value = db_string($_POST['value']);
  50. $Comment = db_string($_POST['comment']);
  51. if ($_POST['submit'] == 'Edit') {
  52. $DB->query("SELECT Name FROM site_options WHERE ID = '" . db_string($_POST['id']) . "'");
  53. list($OldName) = $DB->next_record();
  54. $DB->query("
  55. UPDATE site_options
  56. SET
  57. Name = '$Name',
  58. Value = '$Value',
  59. Comment = '$Comment'
  60. WHERE ID = '" . db_string($_POST['id']) . "'
  61. ");
  62. $Cache->delete_value('site_option_' . $OldName);
  63. } else {
  64. $DB->query("
  65. INSERT INTO site_options (Name, Value, Comment)
  66. VALUES ('$Name', '$Value', '$Comment')
  67. ");
  68. }
  69. $Cache->delete_value('site_option_' . $Name);
  70. }
  71. }
  72. $DB->query("
  73. SELECT
  74. ID,
  75. Name,
  76. Value,
  77. Comment
  78. FROM site_options
  79. ORDER BY LOWER(Name) DESC
  80. ");
  81. View::show_header('Site Options');
  82. ?>
  83. <div class="header">
  84. <h2>Site Options</h2>
  85. </div>
  86. <div class="box slight_margin">
  87. <table>
  88. <tr class="colhead">
  89. <td>
  90. <span class="tooltip" title="Words must be separated by underscores">Name</span>
  91. </td>
  92. <td>Value</td>
  93. <td>Comment</td>
  94. <td>Submit</td>
  95. </tr>
  96. <tr>
  97. <form class="create_form" name="site_option" action="" method="post">
  98. <input type="hidden" name="action" value="site_options" />
  99. <input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>" />
  100. <td>
  101. <input type="text" size="40" name="name" />
  102. </td>
  103. <td>
  104. <input type="text" size="20" name="value" />
  105. </td>
  106. <td>
  107. <input type="text" size="75" name="comment" />
  108. </td>
  109. <td>
  110. <input type="submit" name="submit" value="Create" />
  111. </td>
  112. </form>
  113. </tr>
  114. <?
  115. while (list($ID, $Name, $Value, $Comment) = $DB->next_record()) {
  116. ?>
  117. <tr>
  118. <form class="manage_form" name="site_option" action="" method="post">
  119. <input type="hidden" name="id" value="<?=$ID?>" />
  120. <input type="hidden" name="action" value="site_options" />
  121. <input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>" />
  122. <td>
  123. <input type="text" size="40" name="name" value="<?=$Name?>" />
  124. </td>
  125. <td>
  126. <input type="text" size="20" name="value" value="<?=$Value?>" />
  127. </td>
  128. <td>
  129. <input type="text" size="75" name="comment" value="<?=$Comment?>" />
  130. </td>
  131. <td>
  132. <input type="submit" name="submit" value="Edit" />
  133. <input type="submit" name="submit" value="Delete" />
  134. </td>
  135. </form>
  136. </tr>
  137. <?
  138. }
  139. ?>
  140. </table>
  141. </div>
  142. <? View::show_footer(); ?>