__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?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
* @param string $nextRun If it's not provided, use the next scheduled time based on recurrence
*
* @return void
*/
public static function reschedule($event, $recurrence, $nextRun = null)
{
// If not scheduled, return
if (!self::isScheduled($event)) return;
// If already scheduled with the same recurrence and next run, return
$prevEvent = self::get($event);
if ($prevEvent->schedule === $recurrence && $prevEvent->timestamp === $nextRun) return;
// unschedule previous event
self::unschedule($event);
$schedules = Schedule::getSchedules();
if (isset($schedules[$recurrence])) {
if (!$nextRun) {
$nextRun = $schedules[$recurrence]['next_schedule'];
}
self::schedule($event, $nextRun, $recurrence);
}
}
}| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Ajax.php | File | 2.48 KB | 0644 |
|
| AssetNameObfuscator.php | File | 10.15 KB | 0644 |
|
| Assets.php | File | 6.77 KB | 0644 |
|
| DateRange.php | File | 18.3 KB | 0644 |
|
| DateTime.php | File | 6.08 KB | 0644 |
|
| Encryptor.php | File | 3.4 KB | 0644 |
|
| Event.php | File | 2.68 KB | 0644 |
|
| RemoteRequest.php | File | 6.16 KB | 0644 |
|
| Singleton.php | File | 602 B | 0644 |
|
| SystemCleaner.php | File | 841 B | 0644 |
|
| View.php | File | 1.53 KB | 0644 |
|