Current Path : /var/www/ooareogundevinitiative/wp-content/plugins/brizy/admin/cloud/ |
Current File : /var/www/ooareogundevinitiative/wp-content/plugins/brizy/admin/cloud/cron.php |
<?php class Brizy_Admin_Cloud_Cron { use Brizy_Admin_Cloud_SyncAware; const BRIZY_CLOUD_CRON_KEY = 'brizy-cloud-synchronize'; public static function _init() { static $instance; if ( ! $instance ) { $instance = new self( new Brizy_Admin_Cloud_Client( Brizy_Editor_Project::get(), new WP_Http() ) ); } return $instance; } /** * Brizy_Admin_Cloud_Cron constructor. */ public function __construct( $client ) { $this->setClient( $client ); add_action( self::BRIZY_CLOUD_CRON_KEY, array( $this, 'syncBlocksAction' ) ); add_action( self::BRIZY_CLOUD_CRON_KEY, array( $this, 'syncLayoutsAction' ) ); add_filter( 'cron_schedules', array( $this, 'addBrizyCloudCronSchedules' ) ); if ( ! wp_next_scheduled( self::BRIZY_CLOUD_CRON_KEY ) ) { $interval = is_user_logged_in() ? '5minute' : 'hourly'; if ( is_user_logged_in() ) { wp_schedule_event( time(), $interval, self::BRIZY_CLOUD_CRON_KEY ); } } } public function syncLayoutsAction() { Brizy_Logger::instance()->debug('Sync layouts cron called'); return $this->syncLayouts(1); } public function syncBlocksAction() { Brizy_Logger::instance()->debug('Sync blocks cron called'); return $this->syncBlocks(1); } public function addBrizyCloudCronSchedules( $schedules ) { // Adds once weekly to the existing schedules. $schedules['5minute'] = array( 'interval' => 300, 'display' => __( 'Once in 5 minutes' ) ); return $schedules; } }