WordPress.org

Make WordPress Core

Changeset 15837


Ignore:
Timestamp:
10/18/2010 08:50:35 PM (9 years ago)
Author:
ryan
Message:

Introduce schedule_event filter. fixes #15146

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/cron.php

    r15355 r15837  
    2727
    2828    $crons = _get_cron_array();
    29     $key = md5(serialize($args));
    30     $crons[$timestamp][$hook][$key] = array( 'schedule' => false, 'args' => $args );
     29    $event = (object) array( 'hook' => $hook, 'timestamp' => $timestamp, 'schedule' => false, 'args' => $args );
     30    $event = apply_filters('schedule_event', $event);
     31
     32    // A plugin disallowed this event
     33    if ( ! $event )
     34        return false;
     35
     36    $key = md5(serialize($event->args));
     37
     38    $crons[$event->timestamp][$event->hook][$key] = array( 'schedule' => $event->schedule, 'args' => $event->args );
    3139    uksort( $crons, "strnatcasecmp" );
    3240    _set_cron_array( $crons );
     
    5462    $crons = _get_cron_array();
    5563    $schedules = wp_get_schedules();
    56     $key = md5(serialize($args));
     64
    5765    if ( !isset( $schedules[$recurrence] ) )
    5866        return false;
    59     $crons[$timestamp][$hook][$key] = array( 'schedule' => $recurrence, 'args' => $args, 'interval' => $schedules[$recurrence]['interval'] );
     67
     68    $event = (object) array( 'hook' => $hook, 'timestamp' => $timestamp, 'schedule' => $recurrence, 'args' => $args, 'interval' => $schedules[$recurrence]['interval'] );
     69    $event = apply_filters('schedule_event', $event);
     70
     71    // A plugin disallowed this event
     72    if ( ! $event )
     73        return false;
     74
     75    $key = md5(serialize($event->args));
     76
     77    $crons[$event->timestamp][$event->hook][$key] = array( 'schedule' => $event->schedule, 'args' => $event->args, 'interval' => $event->interval );
    6078    uksort( $crons, "strnatcasecmp" );
    6179    _set_cron_array( $crons );
Note: See TracChangeset for help on using the changeset viewer.