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

电子政务应用

开发平台:

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.14 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Automatic tasks runner.
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL & ~E_NOTICE);
  22. $cron_folder = "includes/cron/"; // include trailing slash
  23. define('INCLUDE_PATH', realpath(dirname(__FILE__).'/includes/'));
  24. ignore_user_abort(1);
  25. @set_time_limit(0);
  26. define('CRONZONE', 1); // we are in the cron zone
  27. require_once('includes/config.php');
  28. require_once('includes/functions/admin-tech_functions.php');
  29. require_once('includes/functions/general_functions.php');
  30. require_once('includes/functions/session_functions.php');
  31. require_once('includes/functions/fields_functions.php');
  32. require_once('includes/functions/form_functions.php');
  33. require_once('includes/functions/database/mysql.php');
  34. $db = new DB_Sql;
  35. $db->User=constant('DATABASE_USER');
  36. $db->Password=constant('DATABASE_PASSWORD');
  37. $db->Host=constant('DATABASE_HOST');
  38. $db->Database=constant('DATABASE_NAME');
  39. get_settings();
  40. ############################### RUN RELEVANT SCRIPTS ###############################
  41. $crons = $db->query_return_array("SELECT * FROM cron_options");
  42. if ($db->num_rows()) {
  43. foreach ($crons AS $cron) {
  44. $tmp = unserialize($cron[options]);
  45. unset($options);
  46. if (is_array($tmp)) {
  47. foreach ($tmp AS $key => $var) {
  48. $options[$key] = $var['value'];
  49. }
  50. }
  51. // are we running this script, options are to run every hour or once per day on certain hour
  52. if (($cron[day]) OR ($cron[hour] == $settings[cron_hour])) {
  53. // empty variables to run next cron script
  54. unset($parsevars);
  55. $parsevars = array(
  56. 'GLOBALS' => 1,
  57. '_GET' => 1,
  58. '_POST' => 1,
  59. '_COOKIE' => 1,
  60. 'options' => 1,
  61. 'cron_folder' => 1,
  62. 'cron' => 1,
  63. 'db' => 1,
  64. '_REQUEST' => 1,
  65. '_SERVER' => 1,
  66. '_FILES' => 1,
  67. 'bench' => 1,
  68. 'showqueries' => 1,
  69. 'parsevars' => 1
  70. );
  71. if (is_array($GLOBALS)) {
  72. foreach ($GLOBALS as $var => $key) {
  73. if ((!isset($parsevars[$var])) AND ($var != 'var') AND ($var != 'key')) {
  74. unset($GLOBALS[$var]);
  75. }
  76. }
  77. }
  78. // run the script
  79. include($cron_folder . $cron[scriptname]);
  80. }
  81. }
  82. }
  83. ############################### FINISH UP ###############################
  84. // sort out hour
  85. if ($settings[cron_hour] == "23") {
  86. $db->query("UPDATE settings SET value = 0 WHERE settings = 'cron_hour'");
  87. } else {
  88. $db->query("UPDATE settings SET value = value + 1 WHERE settings = 'cron_hour'");
  89. }