function mmb_install_addon($params) { global $mmb_core; mwp_context()->requireTheme(); mwp_load_required_components(); $mmb_core->get_installer_instance(); $return = $mmb_core->installer_instance->install_remote_file($params); mmb_response($return, true); }
/** * Worker update */ public function update_worker_plugin($params) { if ($params['download_url']) { @(include_once ABSPATH . 'wp-admin/includes/file.php'); @(include_once ABSPATH . 'wp-admin/includes/misc.php'); @(include_once ABSPATH . 'wp-admin/includes/template.php'); @(include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'); @(include_once ABSPATH . 'wp-admin/includes/screen.php'); @(include_once ABSPATH . 'wp-admin/includes/plugin.php'); if (!$this->is_server_writable()) { return array('error' => 'Failed, please <a target="_blank" href="http://managewp.com/user-guide/faq/my-pluginsthemes-fail-to-update-or-i-receive-a-yellow-ftp-warning">add FTP details for automatic upgrades.</a>'); } mwp_load_required_components(); ob_start(); @unlink(dirname(__FILE__)); /** @handled class */ $upgrader = new Plugin_Upgrader(mwp_container()->getUpdaterSkin()); $result = $upgrader->run(array('package' => $params['download_url'], 'destination' => WP_PLUGIN_DIR, 'clear_destination' => true, 'clear_working' => true, 'hook_extra' => array('plugin' => 'worker/init.php'))); ob_end_clean(); if (is_wp_error($result) || !$result) { return array('error' => 'ManageWP Worker plugin could not be updated.'); } else { return array('success' => 'ManageWP Worker plugin successfully updated.'); } } return array('error' => 'Bad download path for worker installation file.'); }