PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.3.2
Admin Columns v4.3.2
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Plugin / Updater.php
codepress-admin-columns / classes / Plugin Last commit date
Update 5 years ago Updater 5 years ago Installer.php 5 years ago Update.php 5 years ago Updater.php 5 years ago
Updater.php
59 lines
1 <?php
2
3 namespace AC\Plugin;
4
5 abstract class Updater {
6
7 /**
8 * @var Update[]
9 */
10 protected $updates;
11
12 /**
13 * @param Update $update
14 *
15 * @return $this
16 */
17 public function add_update( Update $update ) {
18 $this->updates[ $update->get_version() ] = $update;
19
20 return $this;
21 }
22
23 public function parse_updates() {
24 if ( $this->is_new_install() ) {
25 $this->update_stored_version();
26
27 return;
28 }
29
30 if ( empty( $this->updates ) ) {
31 return;
32 }
33
34 // Sort by version number
35 uksort( $this->updates, 'version_compare' );
36
37 foreach ( $this->updates as $update ) {
38 if ( $update->needs_update() ) {
39 $update->apply_update();
40 $this->update_stored_version( $update->get_version() );
41 }
42 }
43
44 $this->update_stored_version();
45 }
46
47 /**
48 * @param null $version
49 *
50 * @return bool
51 */
52 abstract protected function update_stored_version( $version = null );
53
54 /**
55 * @return bool
56 */
57 abstract protected function is_new_install();
58
59 }