WordPress.org

Plugin Directory

Changeset 565899


Ignore:
Timestamp:
07/01/12 01:23:07 (22 months ago)
Author:
tollmanz
Message:

Adds indicators for missed events.

Moving the following commits to the WP repo:

Location:
debug-bar-cron/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • debug-bar-cron/trunk/class-debug-bar-cron.php

    r525192 r565899  
    3434    private $_total_crons = 0; 
    3535 
     36    /**    
     37     * Whether cron is being executed or not. 
     38     *  
     39     * @var string 
     40     */ 
     41    private $_doing_cron = 'No'; 
     42 
    3643    /** 
    3744     * Give the panel a title and set the enqueues. 
     45     * 
     46     * @return void 
    3847     */ 
    3948    public function init() { 
     
    4554    /** 
    4655     * Enqueue styles. 
     56     * 
     57     * @return  void 
    4758     */ 
    4859    public function print_styles() { 
     
    5364    /** 
    5465     * Show the menu item in Debug Bar. 
     66     * 
     67     * @return  void 
    5568     */ 
    5669    public function prerender() { 
     
    6073    /** 
    6174     * Show the contents of the page. 
     75 
     76     * @return  void 
    6277     */ 
    6378    public function render() { 
    6479        $this->get_crons(); 
    6580 
    66         $doing_cron = get_transient( 'doing_cron' ) ? 'Yes' : 'No'; 
     81        $this->_doing_cron = get_transient( 'doing_cron' ) ? __( 'Yes', 'zt-debug-bar-cron' ) : __( 'No', 'zt-debug-bar-cron' ); 
    6782 
    6883        // Get the time of the next event 
    6984        $cron_times = array_keys( $this->_crons ); 
    7085        $unix_time_next_cron = $cron_times[0]; 
    71  
    7286        $time_next_cron = date( 'Y-m-d H:i:s', $unix_time_next_cron ); 
     87 
    7388        $human_time_next_cron = human_time_diff( $unix_time_next_cron ); 
     89 
     90        // Add a class if past current time and doing cron is not running 
     91        $times_class = time() > $unix_time_next_cron && 'No' == $this->_doing_cron ? ' past' : ''; 
    7492 
    7593        echo '<div id="debug-bar-cron">'; 
    7694        echo '<h2><span>' . __( 'Total Events', 'zt-debug-bar-cron' ) . ':</span>' . (int) $this->_total_crons . '</h2>'; 
    77         echo '<h2><span>' . __( 'Doing Cron', 'zt-debug-bar-cron' ) . ':</span>' . $doing_cron . '</h2>'; 
    78         echo '<h2 class="times"><span>' . __( 'Next Event', 'zt-debug-bar-cron' ) . ':</span>' . $time_next_cron . '<br />' . $unix_time_next_cron . '<br />' . $human_time_next_cron . '</h2>'; 
     95        echo '<h2><span>' . __( 'Doing Cron', 'zt-debug-bar-cron' ) . ':</span>' . $this->_doing_cron . '</h2>'; 
     96        echo '<h2 class="times' . esc_attr( $times_class ) . '"><span>' . __( 'Next Event', 'zt-debug-bar-cron' ) . ':</span>' . $time_next_cron . '<br />' . $unix_time_next_cron . '<br />' . $human_time_next_cron . $this->display_past_time( $unix_time_next_cron ) . '</h2>'; 
    7997        echo '<h2><span>' . __( 'Current Time', 'zt-debug-bar-cron' ) . ':</span>' . date( 'H:i:s' ) . '</h2>'; 
    8098        echo '<div class="clear"></div>'; 
     
    82100        echo '<h3>' . __( 'Custom Events', 'zt-debug-bar-cron' ) . '</h3>'; 
    83101 
    84         if ( ! is_null( $this->_user_crons ) ) { 
     102        if ( ! is_null( $this->_user_crons ) ) 
    85103            $this->display_events( $this->_user_crons ); 
    86         } else { 
     104        else 
    87105            echo '<p>' . __( 'No Custom Events scheduled.', 'zt-debug-bar-cron' ) . '</p>'; 
    88         } 
    89106 
    90107        echo '<h3>' . __( 'Schedules', 'zt-debug-bar-cron' ) . '</h3>'; 
     
    94111        echo '<h3>' . __( 'Core Events', 'zt-debug-bar-cron' ) . '</h3>'; 
    95112 
    96         if ( ! is_null( $this->_core_crons ) ) { 
     113        if ( ! is_null( $this->_core_crons ) ) 
    97114            $this->display_events( $this->_core_crons ); 
    98         } else { 
     115        else 
    99116            echo '<p>' . __( 'No Core Events scheduled.', 'zt-debug-bar-cron' ) . '</p>'; 
    100         } 
    101117 
    102118        echo '</div>'; 
     
    109125     * a total count for the crons as this number is otherwise tough to get. 
    110126     * 
    111      * @return array 
     127     * @return  array   Array of crons. 
    112128     */ 
    113129    private function get_crons() { 
     
    152168     * Displays the events in an easy to read table. 
    153169     * 
    154      * @param $events Array of events 
    155      * @return void|string 
     170     * @param   array   $events     Array of events. 
     171     * @return  void|string         Void on failure; table display of events on success. 
    156172     */ 
    157173    private function display_events( $events ) { 
    158174        if ( is_null( $events ) || empty( $events ) ) 
    159             return ''; 
     175            return; 
    160176 
    161177        $class = 'odd'; 
     
    172188        foreach ( $events as $time => $time_cron_array ) { 
    173189            foreach ( $time_cron_array as $hook => $data ) { 
     190                // Add a class if past current time 
     191                $times_class = time() > $time && 'No' == $this->_doing_cron ? ' class="past"' : ''; 
     192 
    174193                echo '<tr class="' . $class . '">'; 
    175                 echo '<td valign="top">' . date( 'Y-m-d H:i:s', $time ) . '<br />' . $time . '<br />' . human_time_diff( $time ) . '</td>'; 
     194                echo '<td valign="top"' . $times_class . '>' . date( 'Y-m-d H:i:s', $time ) . '<br />' . $time . '<br />' . human_time_diff( $time ) . $this->display_past_time( $time ) . '</td>'; 
    176195                echo '<td valign="top">' . wp_strip_all_tags( $hook ) . '</td>'; 
    177196 
     
    218237    /** 
    219238     * Displays all of the schedules defined. 
     239     * 
     240     * @return  void 
    220241     */ 
    221242    private function display_schedules() { 
     
    245266        echo '</table>'; 
    246267    } 
     268 
     269    /** 
     270     * Compares time with current time and outputs 'ago' if current time is greater that even time. 
     271     * 
     272     * @param   int     $time   Unix time of event. 
     273     * @return  string 
     274     */ 
     275    private function display_past_time( $time ) { 
     276        return time() > $time ? ' ' . __( 'ago', 'zt-debug-bar-cron' ) : ''; 
     277    } 
    247278} 
  • debug-bar-cron/trunk/css/debug-bar-cron.css

    r525192 r565899  
    1 #debug-bar-cron h2.times{font-size:1.7em;line-height:1.1}#debug-bar-cron h2.times span{line-height:150%}#debug-bar-cron h3{font-family:georgia,times,serif;font-size:22px}.zt-debug-bar-cron-event-table{width:100%;border-top:1px solid #dfdfdf;border-bottom:1px solid #fcfcfc}.zt-debug-bar-cron-event-table th,.zt-debug-bar-cron-event-table td{padding:.3em 2.5em .3em .3em;border-top:1px solid #fcfcfc;border-bottom:1px solid #dfdfdf}.zt-debug-bar-cron-event-table thead,.zt-debug-bar-cron-event-table tr.even{background:#fcfcfc} 
     1#debug-bar-cron h2.times{font-size:1.7em;line-height:1.1}#debug-bar-cron h2.times span{line-height:150%}#debug-bar-cron .past{color:red}#debug-bar-cron h2.times.past span{color:#888}#debug-bar-cron h3{font-family:georgia,times,serif;font-size:22px}.zt-debug-bar-cron-event-table{width:100%;border-top:1px solid #dfdfdf;border-bottom:1px solid #fcfcfc}.zt-debug-bar-cron-event-table th,.zt-debug-bar-cron-event-table td{padding:.3em 2.5em .3em .3em;border-top:1px solid #fcfcfc;border-bottom:1px solid #dfdfdf}.zt-debug-bar-cron-event-table thead,.zt-debug-bar-cron-event-table tr.even{background:#fcfcfc}.zt-debug-bar-cron-event-table td.past{font-weight:bold} 
  • debug-bar-cron/trunk/css/debug-bar-cron.dev.css

    r525192 r565899  
    55#debug-bar-cron h2.times span { 
    66    line-height: 150%; 
     7} 
     8#debug-bar-cron .past { 
     9    color: red; 
     10} 
     11#debug-bar-cron h2.times.past span { 
     12    color: #888; 
    713} 
    814#debug-bar-cron h3 { 
     
    2531    background: #fcfcfc; 
    2632} 
     33.zt-debug-bar-cron-event-table td.past { 
     34    font-weight: bold; 
     35} 
  • debug-bar-cron/trunk/debug-bar-cron.php

    r525200 r565899  
    55Description: Adds information about WP scheduled events to Debug Bar. 
    66Author: Zack Tollman, Helen Hou-Sandi 
    7 Version: 0.1.1 
     7Version: 0.1.2 
    88Author URI: http://github.com/tollmanz 
    99*/ 
  • debug-bar-cron/trunk/readme.txt

    r525211 r565899  
    33Donate Link: http://wordpress.org 
    44Tags: debug bar, cron 
    5 Requires at least: 3.3.1 
     5Requires at least: 3.4 
    66Tested up to: trunk 
    7 Stable tag: 0.1.1 
     7Stable tag: 0.1.2 
    88 
    99Debug Bar Cron adds a new panel to Debug Bar that displays information about WP scheduled events. 
     
    4343== Changelog == 
    4444 
     45= 0.1.2 = 
     46* Added indicators for missed events 
     47 
    4548= 0.1.1 = 
    46 * Fixed readme.txt error 
     49* Readme updates 
    4750 
    4851= 0.1 = 
     
    5154== Upgrade Notice == 
    5255 
    53 = 0.1.1 = 
    54 No changes 
     56= 0.1.2 = 
     57Adds indicators for missed events 
    5558 
    5659= 0.1 = 
Note: See TracChangeset for help on using the changeset viewer.