root/trunk/wp-cron.php

Revision 7991, 1.2 kB (checked in by ryan, 1 month ago)

File file level phpdoc from jacobsantos. see #7037

  • Property svn:eol-style set to native
Line 
1 <?php
2 /**
3  * WordPress Cron Implementation for hosts, which do not offer CRON or for which
4  * the user has not setup a CRON job pointing to this file.
5  *
6  * The HTTP request to this file will not slow down the visitor who happens to
7  * visit when the cron job is needed to run.
8  *
9  * @package WordPress
10  */
11
12 ignore_user_abort(true);
13
14 /**
15  * Tell WordPress we are doing the CRON task.
16  *
17  * @var bool
18  */
19 define('DOING_CRON', true);
20 /** Setup WordPress environment */
21 require_once('./wp-load.php');
22
23 if ( $_GET['check'] != wp_hash('187425') )
24     exit;
25
26 if ( get_option('doing_cron') > time() )
27     exit;
28
29 update_option('doing_cron', time() + 30);
30
31 $crons = _get_cron_array();
32 $keys = array_keys($crons);
33 if (!is_array($crons) || $keys[0] > time())
34     return;
35
36 foreach ($crons as $timestamp => $cronhooks) {
37     if ($timestamp > time()) break;
38     foreach ($cronhooks as $hook => $keys) {
39         foreach ($keys as $key => $args) {
40             $schedule = $args['schedule'];
41             if ($schedule != false) {
42                 $new_args = array($timestamp, $schedule, $hook, $args['args']);
43                 call_user_func_array('wp_reschedule_event', $new_args);
44             }
45             wp_unschedule_event($timestamp, $hook, $args['args']);
46              do_action_ref_array($hook, $args['args']);
47         }
48     }
49 }
50
51 update_option('doing_cron', 0);
52
53 ?>
Note: See TracBrowser for help on using the browser.