PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.5.13
Shortcodes and extra features for Phlox theme v2.5.13
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-theme.php
auxin-elements / admin / includes / classes Last commit date
class-auxels-plugin-check-update.php 6 years ago class-auxels-system-check.php 6 years ago class-auxin-dashboard-notice.php 7 years ago class-auxin-license-activation.php 7 years ago class-auxin-notices.php 6 years ago class-auxin-upgrader-ajax-handlers.php 7 years ago class-auxin-upgrader-http-api.php 6 years ago class-auxin-upgrader-plugin.php 7 years ago class-auxin-upgrader-prepare.php 7 years ago class-auxin-upgrader-theme.php 7 years ago
class-auxin-upgrader-theme.php
142 lines
1 <?php
2
3 class Auxin_Upgrader_Theme extends Theme_Upgrader {
4
5 protected $update_list;
6
7 /**
8 * Upgrade several themes at once.
9 *
10 * @param array $themes The theme slugs.
11 * @param array $args {
12 * Optional. Other arguments for upgrading several themes at once. Default empty array.
13 *
14 * @type bool $clear_update_cache Whether to clear the update cache if successful.
15 * Default true.
16 * }
17 * @return array[]|false An array of results, or false if unable to connect to the filesystem.
18 */
19 public function start_upgrade( $themes, $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_themes' );
31
32 add_filter('upgrader_pre_install', array($this, 'current_before'), 10, 2);
33 add_filter('upgrader_post_install', array($this, 'current_after'), 10, 2);
34 add_filter('upgrader_clear_destination', array($this, 'delete_old_theme'), 10, 4);
35
36 $this->skin->header();
37
38 // Connect to the Filesystem first.
39 $res = $this->fs_connect( array(WP_CONTENT_DIR) );
40 if ( ! $res ) {
41 $this->skin->footer();
42 return false;
43 }
44
45 $this->skin->bulk_header();
46
47 // Only start maintenance mode if:
48 // - running Multisite and there are one or more themes specified, OR
49 // - a theme with an update available is currently in use.
50 // @TODO: For multisite, maintenance mode should only kick in for individual sites if at all possible.
51 $maintenance = ( is_multisite() && ! empty( $themes ) );
52 foreach ( $themes as $theme )
53 $maintenance = $maintenance || $theme == get_stylesheet() || $theme == get_template();
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($themes);
61 $this->update_current = 0;
62 foreach ( $themes as $theme ) {
63 $this->update_current++;
64
65 $this->skin->theme_info = $this->theme_info($theme);
66
67 if ( !isset( $this->update_list->response[ $theme ] ) ) {
68 $this->skin->set_result(true);
69 $this->skin->before();
70 $this->skin->feedback( 'up_to_date' );
71 $this->skin->after();
72 $results[$theme] = true;
73 continue;
74 }
75
76 // Get the URL to the zip file
77 $r = $this->update_list->response[ $theme ];
78
79 if( ! wp_http_validate_url( $r['package'] ) && $r['package'] == 'AUXIN_GET_DOWNLOAD_URL' ){
80 $downlaod_link = $api_request->get_download_link( $r['slug'] );
81 if( ! is_wp_error( $downlaod_link ) ){
82 $r['package'] = $downlaod_link;
83 }
84 }
85
86 $result = $this->run( array(
87 'package' => $r['package'],
88 'destination' => get_theme_root( $theme ),
89 'clear_destination' => true,
90 'clear_working' => true,
91 'is_multi' => true,
92 'hook_extra' => array(
93 'theme' => $theme
94 ),
95 ) );
96
97 $results[$theme] = $this->result;
98
99 // Prevent credentials auth screen from displaying multiple times
100 if ( false === $result )
101 break;
102 } //end foreach $themes
103
104 $this->maintenance_mode(false);
105
106 // Refresh the Theme Update information
107 $this->clean_themes_cache( $parsed_args['clear_update_cache'] );
108
109 $this->skin->bulk_footer();
110
111 $this->skin->footer();
112
113 // Cleanup our hooks, in case something else does a upgrade on this connection.
114 remove_filter('upgrader_pre_install', array($this, 'current_before'));
115 remove_filter('upgrader_post_install', array($this, 'current_after'));
116 remove_filter('upgrader_clear_destination', array($this, 'delete_old_theme'));
117
118 return $results;
119 }
120
121 /**
122 * Clears the cache held by get_theme_roots() and WP_Theme.
123 *
124 * @param bool $clear_update_cache Whether to clear the Theme updates cache
125 */
126 private function clean_themes_cache( $clear_update_cache = true ) {
127 if ( $clear_update_cache === true ){
128 auxin_delete_transient( 'auxin_update_themes' );
129 } elseif( $clear_update_cache === 'last_checked' ){
130 // This will remove 'last_checked' value for list refresh
131 if( isset( $this->update_list->last_checked ) ) {
132 unset( $this->update_list->last_checked );
133 }
134 auxin_set_transient( 'auxin_update_themes', $this->update_list );
135 }
136 search_theme_directories( true );
137 foreach ( wp_get_themes( array( 'errors' => null ) ) as $theme ){
138 $theme->cache_delete();
139 }
140 }
141
142 }