PluginProbe
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz / 2.12.8
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz v2.12.8
2.12.8 2.12.7 2.12.6 2.12.5 2.12.4 2.12.3 2.12.2 2.12.1 2.12.0 2.11.1 2.11.0 2.10.1 2.10.0 2.9.1 2.9.0 2.8.2 2.8.1 2.7.0 2.7.1 2.8.0 trunk 0.0.10 0.0.11 0.0.12 0.0.13 All 98 releases
sureforms / inc / lib / action-scheduler / classes / ActionScheduler_Versions.php

ActionScheduler_Versions.php in SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz 2.12.8, at inc/lib/action-scheduler/classes/ActionScheduler_Versions.php

63 lines 1.3 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
63