X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/76aea3697c6043c1613370f172395b4f65ee71f0..fef8173b8c3bad08f495551e43cfdeac1cae6021:/wp-cron.php diff --git a/wp-cron.php b/wp-cron.php index efd66c68..19427c5c 100644 --- a/wp-cron.php +++ b/wp-cron.php @@ -1,7 +1,7 @@ time() ) - exit; +if ( false === $crons = _get_cron_array() ) + die(); -update_option('doing_cron', time() + 30); +$keys = array_keys( $crons ); +$local_time = time(); -$crons = _get_cron_array(); -$keys = array_keys($crons); -if (!is_array($crons) || $keys[0] > time()) - return; +if ( isset($keys[0]) && $keys[0] > $local_time ) + die(); 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); - -?> \ No newline at end of file +die();