X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/3e7fab96d7874067884348df10bbdcdefa4a89ad..refs/tags/wordpress-2.9.2-scripts:/wp-cron.php diff --git a/wp-cron.php b/wp-cron.php index f60ac56e..4f3335b4 100644 --- a/wp-cron.php +++ b/wp-cron.php @@ -1,35 +1,60 @@ time() ) - exit; +$keys = array_keys( $crons ); +$local_time = time(); -update_option('doing_cron', time() + 30); +if ( isset($keys[0]) && $keys[0] > $local_time ) + die(); -$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; + if ( $timestamp > $local_time ) + break; + foreach ($cronhooks as $hook => $keys) { - foreach ($keys as $key => $args) { - $schedule = $args['schedule']; + + foreach ($keys as $k => $v) { + + $schedule = $v['schedule']; + if ($schedule != false) { - $new_args = array($timestamp, $schedule, $hook, $args['args']); + $new_args = array($timestamp, $schedule, $hook, $v['args']); call_user_func_array('wp_reschedule_event', $new_args); } - wp_unschedule_event($timestamp, $hook, $args['args']); - do_action_ref_array($hook, $args['args']); + + wp_unschedule_event($timestamp, $hook, $v['args']); + + do_action_ref_array($hook, $v['args']); } } } -update_option('doing_cron', 0); - -?> +die();