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 / plugin.class.php

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

131 lines 4.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 class MMB_Plugin extends MMB_Core
4 {
5 var $worker_maitanance_mode = false;
6 function __construct()
7 {
8 parent::__construct();
9 }
10
11
12 /**
13 * Upgrades all upgradable plugins on this blog
14 *
15 * @param mixed $args
16 */
17 function upgrade_all($params)
18 {
19 $upgradable_plugins = $this->_get_upgradable_plugins();
20
21 $ready_for_upgrade =array();
22 if(!empty($upgradable_plugins)){
23 foreach($upgradable_plugins as $upgrade ){
24 $ready_for_upgrade[] = $upgrade->file;
25 }
26 }
27 $return = '';
28 if (!empty($ready_for_upgrade)) {
29 ob_start();
30 include_once(ABSPATH . 'wp-admin/includes/file.php');
31 include_once(ABSPATH . 'wp-admin/includes/plugin.php');
32 require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
33 if (class_exists('Plugin_Upgrader')) {
34 $upgrader = new Plugin_Upgrader(new Bulk_Plugin_Upgrader_Skin(compact('nonce', 'url')));
35 $result = $upgrader->bulk_upgrade($ready_for_upgrade);
36 ob_end_clean();
37 foreach ($result as $plugin_slug => $plugin_info) {
38 $data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin_slug);
39 if(!$plugin_info || is_wp_error($plugin_info)){
40 $return .= '<code title="Please upgrade manually">' . $data['Name'] . '</code> was not upgraded.<br />';
41 }else{
42 $return .= '<code>' . $data['Name'] . '</code> successfully upgraded.<br />';
43 }
44 }
45 ob_end_clean();
46 return array('upgraded' => $return);
47 }
48 else {
49 ob_end_clean();
50 return array('error' => 'Could not initialize upgrader.');
51 }
52 }
53 return array('error' => 'No plugins to upgrade at the moment');
54 }
55
56 /**
57 * Uploads a plugin, given its package url
58 *
59 * @param mixed $args
60 */
61 function upload_by_url($args)
62 {
63 //print_r($args);
64 $this->_escape($args);
65 $plugin_url = $args['url'];
66 $activate_plugin = $args['activate'];
67
68 if ($plugin_url) {
69 ob_start();
70 include_once(ABSPATH . 'wp-admin/includes/file.php');
71 include_once(ABSPATH . 'wp-admin/includes/plugin.php');
72 include_once(ABSPATH . 'wp-admin/includes/misc.php');
73 include_once(ABSPATH . 'wp-admin/includes/template.php');
74 include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
75
76 $upgrader = new Plugin_Upgrader();
77
78 $result = $upgrader->run(array(
79 'package' => $plugin_url,
80 'destination' => WP_PLUGIN_DIR,
81 'clear_destination' => false, //Do not overwrite files.
82 'clear_working' => true,
83 'hook_extra' => array()
84 ));
85
86 ob_end_clean();
87
88
89 if (is_wp_error($upgrader->skin->result) || !$upgrader->plugin_info()) {
90 return array('bool' => false, 'message' => 'Plugin was not installed.');
91 }
92
93 if ($activate_plugin) {
94 $success = activate_plugin($upgrader->plugin_info(), '', false);
95
96 if (!is_wp_error($success)) {
97 return array('bool' => true, 'message' => 'Plugin '.$upgrader->result[destination_name].' successfully installed and activated ');
98 }
99 return array('bool' => true, 'message' => 'Plugin '.$upgrader->result[destination_name].' successfully installed ');
100 } else {
101 return (!$result or is_wp_error($result)) ? array('bool' => false, 'message' => 'Upload failed.') : array('bool' => true, 'message' => 'Plugin '.$upgrader->result[destination_name].' successfully installed ');
102 }
103
104 } else
105 return array('bool' => false, 'message' => 'Missing plugin.');
106
107 }
108
109 function _get_upgradable_plugins()
110 {
111 $current = $this->mmb_get_transient('update_plugins');
112 $upgradable_plugins = array();
113 if(!empty($current->response)){
114 foreach ($current->response as $plugin_path => $plugin_data) {
115 if (!function_exists('get_plugin_data'))
116 include_once ABSPATH . 'wp-admin/includes/plugin.php';
117 $data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin_path);
118
119 $current->response[$plugin_path]->name = $data['Name'];
120 $current->response[$plugin_path]->old_version = $data['Version'];
121 $current->response[$plugin_path]->file = $plugin_path;
122 $upgradable_plugins[] = $current->response[$plugin_path];
123 }
124 return $upgradable_plugins;
125 }
126 else return array();
127
128 }
129
130 }
131 ?>