PluginProbe
Hostinger Tools / 3.0.76
Hostinger Tools v3.0.76
3.0.77 3.0.76 3.0.75 3.0.74 3.0.73 3.0.72 3.0.71 3.0.70 3.0.69 3.0.68 3.0.67 3.0.66 1.8.1 1.8.2 1.8.3 1.9.1 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.4 All 108 releases
hostinger / includes / Admin / Jobs / ActionScheduler.php

ActionScheduler.php in Hostinger Tools 3.0.76, at includes/Admin/Jobs/ActionScheduler.php

41 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Hostinger\Admin\Jobs;
4
5 defined( 'ABSPATH' ) || exit;
6
7 class ActionScheduler {
8
9 public const STATUS_PENDING = 'pending';
10 public const STATUS_COMPLETE = 'complete';
11 public const STATUS_FAILED = 'failed';
12
13 public function get_group(): string {
14 return defined( 'HOSTINGER_PLUGIN_SETTINGS_OPTION' ) ? HOSTINGER_PLUGIN_SETTINGS_OPTION : 'hostinger_tools';
15 }
16
17 public function schedule_single( int $timestamp, string $hook, $args = array() ): int {
18 if ( ! function_exists( 'as_schedule_single_action' ) ) {
19 return 0;
20 }
21
22 return as_schedule_single_action( $timestamp, $hook, $args, $this->get_group() );
23 }
24
25 public function schedule_immediate( string $hook, $args = array() ): int {
26 if ( ! function_exists( 'as_schedule_single_action' ) ) {
27 return 0;
28 }
29
30 return as_schedule_single_action( gmdate( 'U' ) - 1, $hook, $args, $this->get_group() );
31 }
32
33 public function has_scheduled_action( string $hook, $args = array() ): bool {
34 if ( ! function_exists( 'as_next_scheduled_action' ) ) {
35 return false;
36 }
37
38 return as_next_scheduled_action( $hook, $args, $this->get_group() ) !== false;
39 }
40 }
41