/** * Delete a Network * * <id> * : ID for network * * [--delete_blogs=<delete_blogs>] * : Delete blogs in this network * */ public function delete($args, $assoc_args) { list($id) = $args; $defaults = array('delete_blogs' => false); $assoc_args = wp_parse_args($assoc_args, $defaults); $network_id = delete_network($id, $assoc_args['delete_blogs']); if (is_wp_error($network_id)) { WP_CLI::error($network_id); } WP_CLI::success(sprintf(__('Deleted network %d.', 'wp-multi-network'), $id)); }
/** * Handle the request to helete many networks * * @since 1.7.0 */ private function delete_multiple_networks_handler() { // Delete networks foreach ($_POST['deleted_networks'] as $deleted_network) { $result = delete_network((int) $deleted_network, isset($_POST['override'])); if (is_wp_error($result)) { wp_die($result->get_error_message()); } } // Handle redirect $this->handler_redirect(array('networks_deleted' => '1')); }
public function delete_multiple_network_page() { global $wpdb; if (isset($_POST['delete_multiple']) && isset($_POST['deleted_networks'])) { foreach ($_POST['deleted_networks'] as $deleted_network) { $result = delete_network((int) $deleted_network, isset($_POST['override'])); if (is_a($result, 'WP_Error')) { wp_die($result->get_error_message()); } } $_GET['deleted'] = 'yes'; $_GET['action'] = 'saved'; } else { // ensure a list of networks was sent if (!isset($_POST['allnetworks'])) { wp_die(esc_html__('You have not selected any networks to delete.', 'wp-multi-network')); } $allnetworks = array_map(create_function('$val', 'return (int)$val;'), $_POST['allnetworks']); // ensure each network is valid foreach ($allnetworks as $network) { if (!network_exists((int) $network)) { wp_die(esc_html__('You have selected an invalid network for deletion.', 'wp-multi-network')); } } // remove primary network from list if (in_array(1, $allnetworks)) { $sites = array(); foreach ($allnetworks as $network) { if ($network != 1) { $sites[] = $network; } } $allnetworks = $sites; } $network = $wpdb->get_results("SELECT * FROM {$wpdb->site} WHERE id IN (" . implode(',', $allnetworks) . ')'); if (empty($network)) { wp_die(esc_html__('You have selected an invalid network or networks for deletion', 'wp-multi-network')); } $sites = $wpdb->get_results("SELECT * FROM {$wpdb->blogs} WHERE site_id IN (" . implode(',', $allnetworks) . ')'); ?> <div class="wrap"> <form method="POST" action="<?php echo $this->admin_url(); ?> "> <h2><?php esc_html_e('Networks', 'wp-multi-network'); ?> </h2> <h3><?php esc_html_e('Delete Multiple Networks', 'wp-multi-network'); ?> </h3> <?php if ($sites) { if (RESCUE_ORPHANED_BLOGS && ENABLE_NETWORK_ZERO) { ?> <div id="message" class="error"> <h3><?php esc_html_e('You have selected the following networks for deletion', 'wp-multi-network'); ?> :</h3> <ul> <?php foreach ($network as $deleted_network) { ?> <li><input type="hidden" name="deleted_networks[]" value="<?php echo esc_attr($deleted_network->id); ?> " /><?php echo esc_html($deleted_network->domain . $deleted_network->path); ?> </li> <?php } ?> </ul> <p><?php esc_html_e('There are blogs associated with one or more of these networks. Deleting them will move these blogs to the holding network.', 'wp-multi-network'); ?> </p> <p><label for="override"><?php esc_html_e('If you still want to delete these networks, check the following box', 'wp-multi-network'); ?> :</label> <input type="checkbox" name="override" id="override" /></p> </div> <?php } else { ?> <div id="message" class="error"> <h3><?php esc_html_e('You have selected the following networks for deletion', 'wp-multi-network'); ?> :</h3> <ul> <?php foreach ($network as $deleted_network) { ?> <li><input type="hidden" name="deleted_networks[]" value="<?php echo esc_attr($deleted_network->id); ?> " /><?php echo esc_html($deleted_network->domain . $deleted_network->path); ?> </li> <?php } ?> </ul> <p><?php esc_html_e('There are blogs associated with one or more of these networks. Deleting them will delete those blogs as well.', 'wp-multi-network'); ?> </p> <p><label for="override"><?php esc_html_e('If you still want to delete these networks, check the following box', 'wp-multi-network'); ?> :</label> <input type="checkbox" name="override" id="override" /></p> </div> <?php } } else { ?> <div id="message"> <h3><?php esc_html_e('You have selected the following networks for deletion', 'wp-multi-network'); ?> :</h3> <ul> <?php foreach ($network as $deleted_network) { ?> <li><input type="hidden" name="deleted_networks[]" value="<?php echo esc_attr($deleted_network->id); ?> " /><?php echo esc_html($deleted_network->domain . $deleted_network->path); ?> </li> <?php } ?> </ul> </div> <?php } ?> <p><?php esc_html_e('Are you sure you want to delete these networks?', 'wp-multi-network'); ?> </p> <input type="submit" name="delete_multiple" value="<?php esc_html_e('Delete Networks', 'wp-multi-network'); ?> " class="button" /> <input type="submit" name="cancel" value="<?php esc_html_e('Cancel', 'wp-multi-network'); ?> " class="button" /> </form> </div> <?php } }