File Editor
Directories:
.. (Back)
Files:
AssetNameObfuscator.php
Assets.php
DateRange.php
DateTime.php
Event.php
RemoteRequest.php
Singleton.php
View.php
Create New File
Create
Edit File: Event.php
<?php namespace WP_Statistics\Components; use WP_STATISTICS\Schedule; class Event { /** * Get a scheduled event. * * @param string $event The action hook of the event. * @return object|false The event object if found, false otherwise. */ public static function get($event) { return wp_get_scheduled_event($event); } /** * Schedules a WordPress event hook if it is not already scheduled. * * @param string $hook The action hook of the event. * @param int $timestamp The timestamp for when the event should occur. * @param string $recurrence How often the event should be repeated. * @param mixed $callback The callback of the event. * * @return void */ public static function schedule($event, $timestamp, $recurrence, $callback = null) { if (!self::isScheduled($event)) { wp_schedule_event($timestamp, $recurrence, $event); } if ($callback) { add_action($event, $callback); } } /** * Unschedules a WordPress event hook, if it is scheduled. * * @param string $event The action hook of the event. * * @return void */ public static function unschedule($event) { if (self::isScheduled($event)) { wp_unschedule_event(wp_next_scheduled($event), $event); } } /** * Checks if a WordPress event hook is scheduled. * * @param string $event The action hook of the event. * @return bool True if the event is scheduled, false otherwise. */ public static function isScheduled($event) { return wp_next_scheduled($event) ? true : false; } /** * Reschedule an already scheduled event hook. * * @param string $event * @param string $recurrence * * @return void */ public static function reschedule($event, $recurrence) { // If not scheduled, return if (!self::isScheduled($event)) return; // If already scheduled with the same recurrence, return if (self::get($event)->schedule === $recurrence) return; // unschedule previous event self::unschedule($event); $schedules = Schedule::getSchedules(); if (isset($schedules[$recurrence])) { $nextRun = $schedules[$recurrence]['next_schedule']; self::schedule($event, $nextRun, $recurrence); } } }
Save Changes
Rename File
Rename