PluginProbe
ManageWP Worker / 3.8.1
ManageWP Worker v3.8.1
4.9.38 4.9.37 4.9.36 4.9.35 4.9.34 3.8.7 3.8.8 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.22 3.9.23 3.9.24 All 73 releases
worker / theme.class.php

theme.class.php in ManageWP Worker 3.8.1, at theme.class.php

100 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 class MMB_Theme extends MMB_Core
4 {
5 function __construct()
6 {
7 parent::__construct();
8 }
9
10
11 function upload_theme_by_url($args){
12
13 $this->_escape($args);
14 $url = $args['url'];
15
16 //return (print_r($args, true));
17 ob_start();
18 include_once(ABSPATH . 'wp-admin/includes/file.php');
19 include_once(ABSPATH . 'wp-admin/includes/theme.php');
20 include_once(ABSPATH . 'wp-admin/includes/misc.php');
21 include_once(ABSPATH . 'wp-admin/includes/template.php');
22 include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
23 $upgrader = new Theme_Upgrader();
24 $result = $upgrader->install($url);
25
26 ob_end_clean();
27
28 if(is_wp_error($upgrader->skin->result) || !$upgrader->skin->result){
29 $error = 'Failed to upload theme. Check your URL.' ;
30 return array('bool' => false, 'message' => $error) ;
31
32 }else {
33 $theme = $upgrader->theme_info();
34 return array('bool' => true, 'message' => 'Theme '.$upgrader->result[destination_name].' successfully installed ');
35
36 }
37
38 }
39
40 function upgrade_all($params){
41
42 $upgradable_themes = $this->_get_upgradable_themes();
43
44 $ready_for_upgrade = array();
45 if(!empty($upgradable_themes)){
46 foreach($upgradable_themes as $upgrade ){
47 $ready_for_upgrade[] = $upgrade['theme_tmp'];
48 }
49 }
50 if(!empty($ready_for_upgrade)){
51 include_once(ABSPATH . 'wp-admin/includes/file.php');
52 include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
53 $upgrader = new Theme_Upgrader(new Bulk_Theme_Upgrader_Skin( compact('title', 'nonce', 'url', 'theme') ));
54
55 $result = $upgrader->bulk_upgrade($ready_for_upgrade);
56
57 $results = array();
58 if(!empty($result)){
59 foreach($result as $theme_tmp => $info){
60 if(is_wp_error($info) || !$info){
61 $results[$theme_tmp] = '<code title="Please upgrade manually">'.$theme_tmp.'</code> was not upgraded.<br />';
62 }
63 else {
64 $results[$theme_tmp] = '<code>'.$theme_tmp.'</code> succesfully upgraded.<br />';
65 }
66 }
67 return array('upgraded' => implode('', $results));
68 }
69 else return array('error' => 'Could not initialize upgrader.');
70
71 }else {
72 return array('error' => 'No themes available for upgrade.');
73 }
74 }
75
76 function _get_upgradable_themes(){
77
78 $all_themes = get_themes();
79 $upgrade_themes = array();
80
81 $current = $this->mmb_get_transient('update_themes');
82 foreach ((array)$all_themes as $theme_template => $theme_data){
83 if(!empty($current->response)){
84 foreach ($current->response as $current_themes => $theme){
85 if ($theme_data['Template'] == $current_themes)
86 {
87 $current->response[$current_themes]['name'] = $theme_data['Name'];
88 $current->response[$current_themes]['old_version'] = $theme_data['Version'];
89 $current->response[$current_themes]['theme_tmp'] = $theme_data['Template'];
90 $upgrade_themes[] = $current->response[$current_themes];
91 continue;
92 }
93 }
94 }
95 }
96
97 return $upgrade_themes;
98 }
99 }
100