cron.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: cron.php,v $
  15. // | $Date: 2004/02/10 01:34:25 $
  16. // | $Revision: 1.19 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Automatic task maintenance (administration interface)
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL & ~E_NOTICE);
  22. require_once('./global.php');
  23. //Nullify WTN-WDYL Team
  24. // default do
  25. $_REQUEST['do'] = trim($_REQUEST['do']);
  26. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  27. $_REQUEST['do'] = "list";
  28. }
  29. // globalise variables
  30. $global = array (
  31. array('id', 'number'),
  32. array('editvars')
  33. );
  34. rg($global);
  35. ############################### UPDATE CRON ###############################
  36. if ($_REQUEST['do'] == "update") {
  37. if (is_array($_REQUEST['name'])) {
  38. foreach ($_REQUEST[name] AS $key => $var) {
  39. if ($var != "") {
  40. $options[$var] = array('value' => $_REQUEST[value][$key], 'description' => $_REQUEST[description][$key], 'is_radio' => $_REQUEST[is_radio][$key]);
  41. }
  42. }
  43. }
  44. $options = serialize($options);
  45. $db->query("UPDATE cron_options SET options = '" . mysql_escape_string($options) . "' WHERE id = $id");
  46. $_REQUEST['do'] = "view";
  47. unset($editvars);
  48. alert('Task options updated.');
  49. }
  50. ############################### UPDATE CRON ###############################
  51. if ($_REQUEST['do'] == "update2") {
  52. if (developer_check(1)) {
  53. $db->query("UPDATE cron_options SET
  54. title = '" . mysql_escape_string($_REQUEST[name]) . "',
  55. description = '" . mysql_escape_string($_REQUEST[description]) . "',
  56. scriptname = '" . mysql_escape_string($_REQUEST[scriptname]) . "',
  57. day = '" . mysql_escape_string($_REQUEST[day]) . "',
  58. hour = '" . mysql_escape_string($_REQUEST[hour]) . "'
  59. WHERE id = $id
  60. ");
  61. } else {
  62. $db->query("UPDATE cron_options SET
  63. day = '" . mysql_escape_string($_REQUEST[day]) . "',
  64. hour = '" . mysql_escape_string($_REQUEST[hour]) . "'
  65. WHERE id = $id
  66. ");
  67. }
  68. $_REQUEST['do'] = "list";
  69. alert('Task settings updated.');
  70. }
  71. ############################### CREATE CRON JOB ###############################
  72. if ($_REQUEST['do'] == "create") {
  73. $db->query("INSERT INTO cron_options SET title = 'New Cron Job'");
  74. alert('Cron job created');
  75. $_REQUEST['do'] = 'list';
  76. }
  77. ############################### DELETE CRON JOB ###############################
  78. if ($_REQUEST['do'] == "delete") {
  79. if (!$_REQUEST['id']) {
  80. mistake('No ID was specified.');
  81. }
  82. $db->query("DELETE FROM cron_options WHERE id = '$_REQUEST[id]'");
  83. if (!$db->affected_rows()) {
  84. mistake('The specified ID doesn't exist.');
  85. } else {
  86. alert('Cron job deleted');
  87. }
  88. $_REQUEST['do'] = 'list';
  89. }
  90. ############################### LIST CRON JOBS ###############################
  91. if ($_REQUEST['do'] == "list") {
  92. admin_header('Scheduled Tasks', 'Manage');
  93. require_once(INCLUDE_PATH . 'functions/calendar_functions.php');
  94. $db->query("SELECT * FROM cron_options");
  95. while ($cron = $db->row_array()) {
  96. if ($cron['day']) {
  97. $cron['day'] = 'Yes';
  98. $cron['hour'] = 'No';
  99. } else {
  100. $cron['day'] = 'No';
  101. $cron['hour'] = "at " . time_ampm("$cron[hour]:00", 1);
  102. }
  103. $table[] = array(
  104. $cron[title],
  105. $cron[scriptname],
  106. $cron[day],
  107. $cron[hour],
  108. "<a href="cron.php?do=view&id=$cron[id]">View Options</a>",
  109. iff(developer_check(1), jprompt(
  110. 'This will delete this task. It will no longer be run.',
  111. "cron.php?do=delete&id=$cron[id]",
  112. 'Delete'
  113. ), 'n/a')
  114. );
  115. $secondrow[] = "<table width="100%" cellpadding="0" cellspacing="0" class="table_midheader"><tr><td><table cellspacing="1" cellpadding="3" width="100%"><tr><td bgcolor="FFFFFF">$cron[description]</td></tr></table></td></tr></table>";
  116. }
  117. $cols = array('Entry Name', 'Script Name', 'Run hourly', 'Run daily', 'Edit Options', 'Delete');
  118. table_header('Your Scheduled Task');
  119. table_content($cols, $table, '', '', '', $secondrow);
  120. table_footer();
  121. if (developer_check(1)) {
  122. echo "<center><a href="cron.php?do=create">Create a new scheduled task</a></center>";
  123. }
  124. }
  125. ############################### VIEW CRON ###############################
  126. if ($_REQUEST['do'] == "view") {
  127. admin_header('Scheduled Tasks', 'Manage');
  128. $cron = $db->query_return("SELECT * FROM cron_options WHERE id = $id");
  129. if (developer_check(1)) {
  130. $table[] = array("<b>Cron Name</b>", form_input('name', $cron[title]));
  131. $table[] = array("<b>Description</b>", form_textarea('description', 70, 7, $cron[description]));
  132. $table[] = array("<b>Filename</b>", form_input('scriptname', $cron[scriptname]));
  133. $table[] = array("<b>Run hourly</b>", form_checkbox_single('day', 1, $cron[day]));
  134. $array = make_numberarray(0, 23);
  135. $array = array(
  136. -1 => "Don't Run Daily",
  137. 0 => "Midnight",
  138. 1 => "1:00am",
  139. 2 => "2:00am",
  140. 3 => "3:00am",
  141. 4 => "4:00am",
  142. 5 => "5:00am",
  143. 6 => "6:00am",
  144. 7 => "7:00am",
  145. 8 => "8:00am",
  146. 9 => "9:00am",
  147. 10 => "10:00am",
  148. 11 => "11:00am",
  149. 12 => "Noon",
  150. 13 => "1:00pm",
  151. 14 => "2:00pm",
  152. 15 => "3:00pm",
  153. 16 => "4:00pm",
  154. 17 => "5:00pm",
  155. 18 => "6:00pm",
  156. 19 => "7:00pm",
  157. 20 => "8:00pm",
  158. 21 => "8:00pm",
  159. 22 => "10:00pm",
  160. 23 => "11:00pm"
  161. );
  162. $table[] = array("<b>Run daily</b><br />Choose hour to run", form_select('hour', $array, '', $cron[hour]));
  163. } else {
  164. $table[] = array("<b>Cron Name</b>", $cron[title]);
  165. $table[] = array("<b>Description</b>", $cron[description]);
  166. $table[] = array("<b>Filename</b>", $cron[scriptname]);
  167. $table[] = array("<b>Run hourly</b>", form_checkbox_single('day', 1, $cron[day]));
  168. $array = make_numberarray(0, 23);
  169. $array2[] = "";
  170. $array = array_merge($array2, $array);
  171. $table[] = array("<b>Run daily</b><br />Choose hour to run", form_select('hour', $array, '', $cron[hour]));
  172. }
  173. table_header('Scheduled Task Details', 'cron.php', array('do' => 'update2', 'id' => $id, 'editvars' => $editvars));
  174. table_content($cols, $table);
  175. table_footer('Update Values');
  176. unset($table);
  177. // get actual options
  178. $options = unserialize($cron[options]);
  179. if (is_array($options)) {
  180. foreach ($options AS $key => $var) {
  181. $i++;
  182. if (!$editvars) {
  183. if (developer_check(1)) {
  184. $table[] = array(
  185. "<b>$key</b>",
  186. $var[description],
  187. iff($var[is_radio], form_radio_yn($i, 'value', $var[value]), form_input($i, $var[value], '20', 'value'))
  188. );
  189. $cols = array('Variable Name', 'Description', 'Value');
  190. } else {
  191. $table[] = array(
  192. $var[description],
  193. iff($var[is_radio], form_radio_yn($i, 'value', $var[value]), form_input($i, $var[value], '20', 'value'))
  194. );
  195. $cols = array('Description', 'Value');
  196. }
  197. $hidden["name[" . $i . "]"] = $key;
  198. $hidden["description[" . $i . "]"] = $var[description];
  199. $hidden["is_radio[" . $i . "]"] = $var[is_radio];
  200. } else {
  201. $cols = array('Variable Name', 'Description', 'Value', 'Use Radio Element'); 
  202. $table[] = array(
  203. form_input($i, $key, 20, 'name'), 
  204. form_textarea($i, 50, 3, $var[description], 'description'), 
  205. form_input($i, $var[value], '20', 'value'),
  206. form_checkbox_single($i, 1, $var[is_radio], 'is_radio')
  207. );
  208. }
  209. }
  210. }
  211. if ($editvars) {
  212. $cols = array('Variable Name', 'Description', 'Value', 'Use Radio Element'); 
  213. $table[] = array(
  214. form_input($i+1, '', 20, 'name'), 
  215. form_textarea($i+1, 50, 3, '', 'description'), 
  216. form_input($i+1, '', '20', 'value'),
  217. form_checkbox_single($i, 1, 0, 'radio')
  218. );
  219. $table[] = array(
  220. form_input($i+2, '', 20, 'name'), 
  221. form_textarea($i+2, 50, 3, '', 'description'), 
  222. form_input($i+2, '', '20', 'value'),
  223. form_checkbox_single($i, 1, 0, 'radio')
  224. );
  225. }
  226. $hidden['do'] = "update";
  227. $hidden['id'] = $id;
  228. $hidden['editvars'] = $editvars;
  229. if (is_array($table) AND !$editvars) {
  230. table_header('Scheduled Task Options', 'cron.php', $hidden);
  231. table_content($cols, $table, '', '', '', $secondrow);
  232. table_footer('Update Values');
  233. }
  234. if (!$editvars AND developer_check(1)) {
  235. echo "<BR><BR><BR><center><a href="cron.php?do=view&id=$id&editvars=1"><b>Edit Variable Details</b></a></center>";
  236. } elseif (developer_check(1)) {
  237. echo "<BR><BR><BR><center><a href="cron.php?do=view&id=$id"><b>Display Variables</b></a></center>";
  238. }
  239. }