PluginProbe ʕ •ᴥ•ʔ
WP Mail SMTP by WPForms – The Most Popular SMTP and Email Log Plugin / 3.0.3
WP Mail SMTP by WPForms – The Most Popular SMTP and Email Log Plugin v3.0.3
4.9.0 0.9.6 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.6.0 1.6.2 1.7.0 1.7.1 1.8.0 1.8.1 1.9.0 2.0.0 2.0.1 2.1.1 2.2.1 2.3.1 2.4.0 2.5.0 2.5.1 2.6.0 2.7.0 2.8.0 2.9.0 3.0.1 3.0.2 3.0.3 3.1.0 3.10.0 3.11.0 3.11.1 3.2.0 3.2.1 3.3.0 3.4.0 3.5.0 3.5.1 3.5.2 3.6.1 3.7.0 3.8.0 3.8.2 3.9.0 4.0.1 4.1.0 4.1.1 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.8.0 trunk 0.10.0 0.10.1 0.11.1 0.11.2 0.3.1 0.3.2 0.4 0.4.1 0.4.2 0.5.0 0.5.1 0.5.2 0.6 0.7 0.8 0.8.2 0.8.3 0.8.4 0.8.5 0.8.6 0.8.7 0.9.0 0.9.1 0.9.2 0.9.3 0.9.4 0.9.5
wp-mail-smtp / vendor / woocommerce / action-scheduler / classes / ActionScheduler_Versions.php
wp-mail-smtp / vendor / woocommerce / action-scheduler / classes Last commit date
WP_CLI 4 years ago abstracts 4 years ago actions 4 years ago data-stores 4 years ago migration 4 years ago schedules 4 years ago schema 4 years ago ActionScheduler_ActionClaim.php 4 years ago ActionScheduler_ActionFactory.php 4 years ago ActionScheduler_AdminView.php 4 years ago ActionScheduler_AsyncRequest_QueueRunner.php 4 years ago ActionScheduler_Compatibility.php 4 years ago ActionScheduler_DataController.php 4 years ago ActionScheduler_DateTime.php 4 years ago ActionScheduler_Exception.php 4 years ago ActionScheduler_FatalErrorMonitor.php 4 years ago ActionScheduler_InvalidActionException.php 4 years ago ActionScheduler_ListTable.php 4 years ago ActionScheduler_LogEntry.php 4 years ago ActionScheduler_NullLogEntry.php 4 years ago ActionScheduler_OptionLock.php 4 years ago ActionScheduler_QueueCleaner.php 4 years ago ActionScheduler_QueueRunner.php 4 years ago ActionScheduler_Versions.php 4 years ago ActionScheduler_WPCommentCleaner.php 4 years ago ActionScheduler_wcSystemStatus.php 4 years ago
ActionScheduler_Versions.php
62 lines
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