/**
     * Output the delete multiple networks page
     *
     * @since 2.0.0
     */
    private function page_delete_networks()
    {
        // Get posted networks
        $network_id = get_main_network_id();
        $all_networks = isset($_POST['all_networks']) ? array_map('absint', $_POST['all_networks']) : array();
        // Prevent primary network from being deleted
        $all_networks = array_diff($all_networks, array($network_id));
        // Query for networks
        $networks = get_networks(array('network__in' => $all_networks));
        // Bail if no networks
        if (empty($networks)) {
            wp_die(esc_html__('You have selected an invalid network or networks for deletion', 'wp-multi-network'));
        }
        // Ensure each network is valid
        foreach ($networks as $network) {
            if (!get_network($network)) {
                wp_die(esc_html__('You have selected an invalid network for deletion.', 'wp-multi-network'));
            }
        }
        // Query for sites in selected networks
        $sites = get_sites(array('network__in' => $all_networks));
        ?>

		<div class="wrap">
			<h1><?php 
        esc_html_e('Networks', 'wp-multi-network');
        ?>
</h1>
			<h3><?php 
        esc_html_e('Delete Multiple Networks', 'wp-multi-network');
        ?>
</h3>
			<form method="post" action="<?php 
        echo esc_url($this->admin_url());
        ?>
">
				<?php 
        if (!empty($sites)) {
            ?>

					<div class="error inline">
						<h3><?php 
            esc_html_e('You have selected the following networks for deletion', 'wp-multi-network');
            ?>
:</h3>
						<ul>
							<?php 
            foreach ($networks 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 
            // Messaging
            wp_should_rescue_orphaned_sites() ? esc_html_e('One or more of these networks has existing sites. Deleting these networks will orphan these sites.', 'wp-multi-network') : esc_html_e('One or more of these networks has existing sites. Deleting these networks will permanently delete these sites.', 'wp-multi-network');
            ?>
</p>
						<p>
							<label for="override"><?php 
            esc_html_e('Please confirm that you still want to delete these networks', 'wp-multi-network');
            ?>
:</label>
							<input type="checkbox" name="override" id="override">
						</p>
					</div>

				<?php 
        } else {
            ?>

					<div id="message inline">
						<h3><?php 
            esc_html_e('You have selected the following networks for deletion', 'wp-multi-network');
            ?>
:</h3>
						<ul><?php 
            foreach ($networks 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>
				<?php 
        wp_nonce_field('edit_network', 'network_edit');
        submit_button(esc_html__('Delete Networks', 'wp-multi-network'), 'primary', 'delete_multiple', false);
        ?>

				<a class="button" href="<?php 
        echo esc_url($this->admin_url());
        ?>
"><?php 
        esc_html_e('Cancel', 'wp-multi-network');
        ?>
</a>
			</form>
		</div>

		<?php 
    }
 /**
  * Delete a network and all its blogs
  *
  * @param int  $network_id   ID of network to delete
  * @param bool $delete_blogs Flag to permit blog deletion - default setting
  *                           of false will prevent deletion of occupied networks
  */
 function delete_network($network_id, $delete_blogs = false)
 {
     global $wpdb;
     // Get network
     $network = get_network($network_id);
     // Bail if network does not exist
     if (empty($network)) {
         return new WP_Error('network_not_exist', __('Network does not exist.', 'wp-multi-network'));
     }
     // Ensure there are no blogs attached to this network
     $sites = get_sites(array('network_id' => $network->id));
     // Network has sites
     if (!empty($sites)) {
         // Bail if blog deletion is off
         if (empty($delete_blogs)) {
             return new WP_Error('network_not_empty', __('Cannot delete network with sites.', 'wp-multi-network'));
             // Are we rescuing orphans or deleting them?
         } elseif (true === $delete_blogs) {
             foreach ($sites as $site) {
                 wp_should_rescue_orphaned_sites() ? move_site($site->blog_id, 0) : wpmu_delete_blog($site->blog_id, true);
             }
         }
     }
     // Delete from sites table
     $sql = "DELETE FROM {$wpdb->site} WHERE id = %d";
     $prep = $wpdb->prepare($sql, $network->id);
     $wpdb->query($prep);
     // Delete from site meta table
     $sql = "DELETE FROM {$wpdb->sitemeta} WHERE site_id = %d";
     $prep = $wpdb->prepare($sql, $network->id);
     $wpdb->query($prep);
     // Clean network cache
     clean_network_cache(array($network->id));
     // Network deleted
     do_action('delete_network', $network);
 }