PluginProbe
Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution / 1.5.02
Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution v1.5.02
2.5.0 2.4.0 2.3.0 2.2.5 2.2.0 2.1.2 2.1.1 trunk 1.10.0 1.10.01 1.10.02 1.5.0 1.5.01 1.5.02 1.5.1 1.5.10 1.5.20 1.5.21 1.5.22 1.5.23 1.5.24 1.5.25 1.6.0 1.7.0 1.7.1 All 34 releases
fluent-booking / vendor / woocommerce / action-scheduler / classes / ActionScheduler_Versions.php

ActionScheduler_Versions.php in Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution 1.5.02, at vendor/woocommerce/action-scheduler/classes/ActionScheduler_Versions.php

62 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 /**
4 * Class ActionScheduler_Versions
5 */
6 class ActionScheduler_Versions {
7 /**
8 * @var ActionScheduler_Versions
9 */
10 private static $instance = NULL;
11
12 private $versions = array();
13
14 public function register( $version_string, $initialization_callback ) {
15 if ( isset($this->versions[$version_string]) ) {
16 return FALSE;
17 }
18 $this->versions[$version_string] = $initialization_callback;
19 return TRUE;
20 }
21
22 public function get_versions() {
23 return $this->versions;
24 }
25
26 public function latest_version() {
27 $keys = array_keys($this->versions);
28 if ( empty($keys) ) {
29 return false;
30 }
31 uasort( $keys, 'version_compare' );
32 return end($keys);
33 }
34
35 public function latest_version_callback() {
36 $latest = $this->latest_version();
37 if ( empty($latest) || !isset($this->versions[$latest]) ) {
38 return '__return_null';
39 }
40 return $this->versions[$latest];
41 }
42
43 /**
44 * @return ActionScheduler_Versions
45 * @codeCoverageIgnore
46 */
47 public static function instance() {
48 if ( empty(self::$instance) ) {
49 self::$instance = new self();
50 }
51 return self::$instance;
52 }
53
54 /**
55 * @codeCoverageIgnore
56 */
57 public static function initialize_latest_version() {
58 $self = self::instance();
59 call_user_func($self->latest_version_callback());
60 }
61 }
62