rtCamp\WP\Nginx\Helper::set_future_post_option_on_future_status PHP Method

set_future_post_option_on_future_status() public method

public set_future_post_option_on_future_status ( $new_status, $old_status, $post )
        function set_future_post_option_on_future_status($new_status, $old_status, $post)
        {
            global $blog_id, $rt_wp_nginx_purger;
            $purge_status = array('publish', 'future');
            if (!$this->options['enable_purge']) {
                return;
            }
            if (in_array($old_status, $purge_status) || in_array($new_status, $purge_status)) {
                $rt_wp_nginx_purger->log("Purge post on transition post STATUS from " . $old_status . " to " . $new_status);
                $rt_wp_nginx_purger->purgePost($post->ID);
            }
            if ($new_status == 'future') {
                if ($post && $post->post_status == 'future' && ($post->post_type == 'post' || $post->post_type == 'page' || isset($this->options['custom_post_types_recognized']) && in_array($post->post_type, $this->options['custom_post_types_recognized']))) {
                    $rt_wp_nginx_purger->log("Set/update future_posts option (post id = " . $post->ID . " and blog id = " . $blog_id . ")");
                    $this->options['future_posts'][$blog_id][$post->ID] = strtotime($post->post_date_gmt) + 60;
                    update_site_option("rt_wp_nginx_helper_global_options", $this->options);
                }
            }
        }