HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /volume1/web_packages/wordpress/wp-content/plugins/duplicator/src/Utils/CronUtils.php
<?php

namespace Duplicator\Utils;

class CronUtils
{
    const INTERVAL_DAILTY  = 'duplicator_daily_cron';
    const INTERVAL_WEEKLY  = 'duplicator_weekly_cron';
    const INTERVAL_MONTHLY = 'duplicator_monthly_cron';

    /**
     * Init WordPress hooks
     *
     * @return void
     */
    public static function init()
    {
        add_filter('cron_schedules', array(__CLASS__, 'defaultCronIntervals'));
    }

    /**
     * Add duplicator pro cron schedules
     *
     * @param array<string, array<string,int|string>> $schedules schedules
     *
     * @return array<string, array<string,int|string>>
     */
    public static function defaultCronIntervals($schedules)
    {
        $schedules[self::INTERVAL_DAILTY] = array(
            'interval' => DAY_IN_SECONDS,
            'display'  => __('Once a Day', 'duplicator'),
        );

        $schedules[self::INTERVAL_WEEKLY] = array(
            'interval' => WEEK_IN_SECONDS,
            'display'  => __('Once a Week', 'duplicator'),
        );

        $schedules[self::INTERVAL_MONTHLY] = array(
            'interval' => MONTH_IN_SECONDS,
            'display'  => __('Once a Month', 'duplicator'),
        );

        return $schedules;
    }
}