1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
<?php /** * Plugin version / upgrade screen */ class Loco_admin_config_VersionController extends Loco_admin_config_BaseController {
/** * {@inheritdoc} */ public function init(){ parent::init(); $this->set( 'title', __('Version','loco-translate') ); }
/** * {@inheritdoc} */ public function render(){ $title = __('Plugin settings','loco-translate'); $breadcrumb = new Loco_admin_Navigation; $breadcrumb->add( $title ); // current plugin version $version = loco_plugin_version(); if( $updates = get_site_transient('update_plugins') ){ $key = loco_plugin_self(); if( isset($updates->response[$key]) ){ $latest = $updates->response[$key]->new_version; // if current version is lower than latest, prompt update if( version_compare($version,$latest,'<') ){ $this->setLocoUpdate($latest); } } } // notify if running a development snapshot, but only if ahead of latest stable if( '-dev' === substr($version,-4) ){ $this->set( 'devel', true ); } // check PHP version, noting that we want to move to minimum version 5.6 as per latest WordPress $phpversion = PHP_VERSION; if( version_compare($phpversion,'7.4.0','<') ){ $this->set('phpupdate','7.4'); } // check WordPress version, No plans to increase this until WP bumps their min PHP requirement. $wpversion = $GLOBALS['wp_version']; /*if( version_compare($wpversion,'5.2','<') ){ $this->setWpUpdate('5.2'); }*/ return $this->view('admin/config/version', compact('breadcrumb','version','phpversion','wpversion') ); }
/** * @param string version */ private function setLocoUpdate( $version ){ $action = 'upgrade-plugin_'.loco_plugin_self(); $link = admin_url( 'update.php?action=upgrade-plugin&plugin='.rawurlencode(loco_plugin_self()) ); $this->set('update', $version ); $this->set('update_href', wp_nonce_url( $link, $action ) ); }
/** * @param string minimum recommended version * private function setWpUpdate( $version ){ $this->set('wpupdate',$version); $this->set('wpupdate_href', admin_url('update-core.php') ); }*/
}
|