Пример #1
0
 public static function trashExtension()
 {
     ob_start();
     $slug = $_POST['slug'];
     include_once ABSPATH . '/wp-admin/includes/plugin.php';
     $thePlugin = get_plugin_data($slug);
     if ($thePlugin != null && $thePlugin != '') {
         deactivate_plugins($slug);
     }
     if (file_exists(ABSPATH . '/wp-admin/includes/screen.php')) {
         include_once ABSPATH . '/wp-admin/includes/screen.php';
     }
     include_once ABSPATH . '/wp-admin/includes/file.php';
     include_once ABSPATH . '/wp-admin/includes/template.php';
     include_once ABSPATH . '/wp-admin/includes/misc.php';
     include_once ABSPATH . '/wp-admin/includes/class-wp-upgrader.php';
     include_once ABSPATH . '/wp-admin/includes/class-wp-filesystem-base.php';
     include_once ABSPATH . '/wp-admin/includes/class-wp-filesystem-direct.php';
     MainWP_Utility::getWPFilesystem();
     /** @global WP_Filesystem_Base $wp_filesystem */
     global $wp_filesystem;
     if (empty($wp_filesystem)) {
         $wp_filesystem = new WP_Filesystem_Direct(null);
     }
     $pluginUpgrader = new Plugin_Upgrader();
     $thePlugin = get_plugin_data($slug);
     if ($thePlugin != null && $thePlugin != '') {
         $pluginUpgrader->delete_old_plugin(null, null, null, array('plugin' => $slug));
     }
     ob_end_clean();
     die(json_encode(array('result' => 'SUCCESS')));
 }
Пример #2
0
 function plugin_action()
 {
     //Read form data
     $action = $_POST['action'];
     $plugins = explode('||', $_POST['plugin']);
     if ('activate' === $action) {
         include_once ABSPATH . '/wp-admin/includes/plugin.php';
         foreach ($plugins as $idx => $plugin) {
             if ($plugin !== $this->plugin_slug) {
                 $thePlugin = get_plugin_data($plugin);
                 if (null !== $thePlugin && '' !== $thePlugin) {
                     activate_plugin($plugin);
                 }
             }
         }
     } else {
         if ('deactivate' === $action) {
             include_once ABSPATH . '/wp-admin/includes/plugin.php';
             foreach ($plugins as $idx => $plugin) {
                 if ($plugin !== $this->plugin_slug) {
                     $thePlugin = get_plugin_data($plugin);
                     if (null !== $thePlugin && '' !== $thePlugin) {
                         deactivate_plugins($plugin);
                     }
                 }
             }
         } else {
             if ('delete' === $action) {
                 include_once ABSPATH . '/wp-admin/includes/plugin.php';
                 //            if (file_exists(ABSPATH . '/wp-admin/includes/deprecated.php')) include_once(ABSPATH . '/wp-admin/includes/deprecated.php');
                 if (file_exists(ABSPATH . '/wp-admin/includes/screen.php')) {
                     include_once ABSPATH . '/wp-admin/includes/screen.php';
                 }
                 include_once ABSPATH . '/wp-admin/includes/file.php';
                 include_once ABSPATH . '/wp-admin/includes/template.php';
                 include_once ABSPATH . '/wp-admin/includes/misc.php';
                 include_once ABSPATH . '/wp-admin/includes/class-wp-upgrader.php';
                 include_once ABSPATH . '/wp-admin/includes/class-wp-filesystem-base.php';
                 include_once ABSPATH . '/wp-admin/includes/class-wp-filesystem-direct.php';
                 $wp_filesystem = $this->getWPFilesystem();
                 if (null === $wp_filesystem) {
                     $wp_filesystem = new WP_Filesystem_Direct(null);
                 }
                 $pluginUpgrader = new Plugin_Upgrader();
                 $all_plugins = get_plugins();
                 foreach ($plugins as $idx => $plugin) {
                     if ($plugin !== $this->plugin_slug) {
                         if (isset($all_plugins[$plugin])) {
                             $tmp['plugin'] = $plugin;
                             if (true === $pluginUpgrader->delete_old_plugin(null, null, null, $tmp)) {
                                 $args = array('action' => 'delete', 'Name' => $all_plugins[$plugin]['Name']);
                                 do_action('mainwp_child_plugin_action', $args);
                             }
                         }
                     }
                 }
             } else {
                 $information['status'] = 'FAIL';
             }
         }
     }
     if (!isset($information['status'])) {
         $information['status'] = 'SUCCESS';
     }
     $information['sync'] = $this->getSiteStats(array(), false);
     MainWP_Helper::write($information);
 }