MSM_Sitemap_Builder_Cron::find_next_day_to_process PHP Method

find_next_day_to_process() public static method

Find the next day with posts to process
public static find_next_day_to_process ( integer $year, integer $month, integer $day ) : void,
$year integer
$month integer
$day integer
return void,
    public static function find_next_day_to_process($year, $month, $day)
    {
        $halt = get_option('msm_stop_processing') === true;
        if ($halt || !Metro_Sitemap::is_blog_public()) {
            // Allow user to bail out of the current process, doesn't remove where the job got up to
            // or If the blog became private while sitemaps were enabled, stop here.
            delete_option('msm_stop_processing');
            delete_option('msm_sitemap_create_in_progress');
            return;
        }
        update_option('msm_sitemap_create_in_progress', true);
        $days_being_processed = get_option('msm_days_to_process');
        $months_being_processed = get_option('msm_months_to_process');
        $years_being_processed = get_option('msm_years_to_process');
        $total_days = count($days_being_processed);
        $total_months = count($months_being_processed);
        $total_years = count($years_being_processed);
        if ($total_days && $day > 1) {
            // Day has finished
            unset($days_being_processed[$total_days - 1]);
            update_option('msm_days_to_process', $days_being_processed);
            self::generate_sitemap_for_year_month(array('year' => $year, 'month' => $month));
        } else {
            if ($total_months and $month > 1) {
                // Month has finished
                unset($months_being_processed[$total_months - 1]);
                delete_option('msm_days_to_process');
                update_option('msm_months_to_process', $months_being_processed);
                self::generate_sitemap_for_year(array('year' => $year));
            } else {
                if ($total_years > 1) {
                    // Year has finished
                    unset($years_being_processed[$total_years - 1]);
                    delete_option('msm_days_to_process');
                    delete_option('msm_months_to_process');
                    update_option('msm_years_to_process', $years_being_processed);
                    self::generate_full_sitemap();
                } else {
                    // We've finished - remove all options
                    delete_option('msm_days_to_process');
                    delete_option('msm_months_to_process');
                    delete_option('msm_years_to_process');
                    delete_option('msm_sitemap_create_in_progress');
                }
            }
        }
    }