function theme_action() { //Read form data $action = $_POST['action']; $theme = $_POST['theme']; if ('activate' === $action) { include_once ABSPATH . '/wp-admin/includes/theme.php'; $theTheme = get_theme($theme); if (null !== $theTheme && '' !== $theTheme) { switch_theme($theTheme['Template'], $theTheme['Stylesheet']); } } else { if ('delete' === $action) { include_once ABSPATH . '/wp-admin/includes/theme.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 (empty($wp_filesystem)) { $wp_filesystem = new WP_Filesystem_Direct(null); } $themeUpgrader = new Theme_Upgrader(); $theme_name = wp_get_theme()->get('Name'); $themes = explode('||', $theme); foreach ($themes as $idx => $themeToDelete) { if ($themeToDelete !== $theme_name) { $theTheme = get_theme($themeToDelete); if (null !== $theTheme && '' !== $theTheme) { $tmp['theme'] = $theTheme['Template']; if (true === $themeUpgrader->delete_old_theme(null, null, null, $tmp)) { $args = array('action' => 'delete', 'Name' => $theTheme['Name']); do_action('mainwp_child_theme_action', $args); } } } } } else { $information['status'] = 'FAIL'; } } if (!isset($information['status'])) { $information['status'] = 'SUCCESS'; } $information['sync'] = $this->getSiteStats(array(), false); MainWP_Helper::write($information); }