PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.7.6
Shortcodes and extra features for Phlox theme v2.7.6
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / admin / includes / classes / class-auxin-upgrader-plugin.php
auxin-elements / admin / includes / classes Last commit date
class-auxels-plugin-check-update.php 5 years ago class-auxels-system-check.php 5 years ago class-auxin-cli-commands.php 5 years ago class-auxin-license-activation.php 6 years ago class-auxin-notices.php 6 years ago class-auxin-upgrader-ajax-handlers.php 7 years ago class-auxin-upgrader-http-api.php 5 years ago class-auxin-upgrader-plugin.php 5 years ago class-auxin-upgrader-prepare.php 6 years ago class-auxin-upgrader-theme.php 7 years ago
class-auxin-upgrader-plugin.php
144 lines
1 <?php
2
3 class Auxin_Upgrader_Plugin extends Plugin_Upgrader {
4
5 protected $update_list;
6
7 /**
8 * Bulk upgrade several plugins at once.
9 *
10 * @param array $plugins Array of the basename paths of the plugins' main files.
11 * @param array $args {
12 * Optional. Other arguments for upgrading several plugins at once. Default empty array.
13 *
14 * @type bool $clear_update_cache Whether to clear the plugin updates cache if successful.
15 * Default true.
16 * }
17 * @return array|false An array of results indexed by plugin file, or false if unable to connect to the filesystem.
18 */
19 public function start_upgrade( $plugins, $args = array() ) {
20
21 $defaults = array(
22 'clear_update_cache' => true,
23 );
24 $parsed_args = wp_parse_args( $args, $defaults );
25
26 $this->init();
27 $this->bulk = true;
28 $this->upgrade_strings();
29
30 $this->update_list = auxin_get_transient( 'auxin_update_plugins' );
31
32 add_filter('upgrader_clear_destination', array($this, 'delete_old_plugin'), 10, 4);
33
34 $this->skin->header();
35
36 // Connect to the Filesystem first.
37 $res = $this->fs_connect( array(WP_CONTENT_DIR, WP_PLUGIN_DIR) );
38 if ( ! $res ) {
39 $this->skin->footer();
40 return false;
41 }
42
43 $this->skin->bulk_header();
44
45 /*
46 * Only start maintenance mode if:
47 * - running Multisite and there are one or more plugins specified, OR
48 * - a plugin with an update available is currently active.
49 * @TODO: For multisite, maintenance mode should only kick in for individual sites if at all possible.
50 */
51 $maintenance = ( is_multisite() && ! empty( $plugins ) );
52 foreach ( $plugins as $plugin )
53 $maintenance = $maintenance || ( is_plugin_active( $plugin ) && isset( $this->update_list->response[ $plugin ] ) );
54 if ( $maintenance )
55 $this->maintenance_mode(true);
56
57 $results = array();
58 $api_request = new Auxin_Upgrader_Http_Api;
59
60 $this->update_count = count($plugins);
61 $this->update_current = 0;
62 foreach ( $plugins as $plugin ) {
63 $this->update_current++;
64 $this->skin->plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, false, true);
65
66 // Fix VC issue with auto update
67 if( $plugin === 'js_composer/js_composer.php' ) {
68 add_filter( 'upgrader_pre_download', '__return_false', 9999);
69 }
70
71 if ( !isset( $this->update_list->response[ $plugin ] ) ) {
72 $this->skin->set_result('up_to_date');
73 $this->skin->before();
74 $this->skin->feedback('up_to_date');
75 $this->skin->after();
76 $results[$plugin] = true;
77 continue;
78 }
79
80 // Get the URL to the zip file.
81 $r = $this->update_list->response[ $plugin ];
82
83 $this->skin->plugin_active = is_plugin_active($plugin);
84
85 if( ! wp_http_validate_url( $r['package'] ) && $r['package'] == 'AUXIN_GET_DOWNLOAD_URL' ){
86 $r['slug'] = ( $r['slug'] == 'masterslider' ) ? 'masterslider-wp' : $r['slug'];
87 $downlaod_link = $api_request->get_download_link( $r['slug'] );
88 if( ! is_wp_error( $downlaod_link ) ){
89 $r['package'] = $downlaod_link;
90 }
91 }
92
93 $result = $this->run( array(
94 'package' => $r['package'],
95 'destination' => WP_PLUGIN_DIR,
96 'clear_destination' => true,
97 'clear_working' => true,
98 'is_multi' => true,
99 'hook_extra' => array(
100 'plugin' => $plugin
101 )
102 ) );
103
104 $results[$plugin] = $this->result;
105
106 // Prevent credentials auth screen from displaying multiple times
107 if ( false === $result )
108 break;
109 } //end foreach $plugins
110
111 $this->maintenance_mode(false);
112
113 // Force refresh of plugin update information.
114 $this->clean_plugins_cache( $parsed_args['clear_update_cache'] );
115
116 $this->skin->bulk_footer();
117
118 $this->skin->footer();
119
120 // Cleanup our hooks, in case something else does a upgrade on this connection.
121 remove_filter('upgrader_clear_destination', array($this, 'delete_old_plugin'));
122
123 return $results;
124 }
125
126 /**
127 * Clears the Plugins cache used by get_plugins() and by default, the Plugin Update cache.
128 *
129 * @param bool $clear_update_cache Whether to clear the Plugin updates cache
130 */
131 private function clean_plugins_cache( $clear_update_cache = true ) {
132 if ( $clear_update_cache === true ){
133 auxin_delete_transient( 'auxin_update_plugins' );
134 } elseif( $clear_update_cache === 'last_checked' ){
135 // This will remove 'last_checked' value for list refresh
136 if( isset( $this->update_list->last_checked ) ) {
137 unset( $this->update_list->last_checked );
138 }
139 auxin_set_transient( 'auxin_update_plugins', $this->update_list );
140 }
141 wp_cache_delete( 'plugins', 'plugins' );
142 }
143
144 }