]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-cron.php
Wordpress 2.3.2
[autoinstalls/wordpress.git] / wp-cron.php
diff --git a/wp-cron.php b/wp-cron.php
new file mode 100644 (file)
index 0000000..f60ac56
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+ignore_user_abort(true);
+define('DOING_CRON', TRUE);
+require_once('./wp-config.php');
+
+if ( $_GET['check'] != wp_hash('187425') )
+       exit;
+
+if ( get_option('doing_cron') > time() )
+       exit;
+
+update_option('doing_cron', time() + 30);
+
+$crons = _get_cron_array();
+$keys = array_keys($crons);
+if (!is_array($crons) || $keys[0] > time())
+       return;
+foreach ($crons as $timestamp => $cronhooks) {
+       if ($timestamp > time()) break;
+       foreach ($cronhooks as $hook => $keys) {
+               foreach ($keys as $key => $args) {
+                       $schedule = $args['schedule'];
+                       if ($schedule != false) {
+                               $new_args = array($timestamp, $schedule, $hook, $args['args']);
+                               call_user_func_array('wp_reschedule_event', $new_args);
+                       }
+                       wp_unschedule_event($timestamp, $hook, $args['args']);
+                       do_action_ref_array($hook, $args['args']);
+               }
+       }
+}
+
+update_option('doing_cron', 0);
+
+?>