WordPress.org

Plugin Directory

Changeset 405934


Ignore:
Timestamp:
07/07/11 07:03:13 (3 years ago)
Author:
BrianLayman
Message:

Initial 3.1 and 3.2 compatibility.
Fixed a number of undefined variables and eliminated all notices
Added Side Admin and Network Admin links from the Networks Page
Added security bulletproofing

Location:
wp-multi-network/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • wp-multi-network/trunk/readme.txt

    r226433 r405934  
    11=== WP Multi Network === 
    2 Contributors: johnjamesjacoby 
     2Contributors: johnjamesjacoby, BrianLayman 
    33Tags: network, blogs, sites, domains, fun 
    4 Requires at least: WordPress 3.0-beta-1 
    5 Tested up to: WordPress 3.0-trunk 
     4Requires at least: WordPress 3.0 
     5Tested up to: WordPress 3.2 
    66Stable tag: 1.1 
    77 
     
    4040== Changelog == 
    4141 
     42* 1.2 - Implemented 3.1 Network Admin Menu, backwards compatiblity maintained. 
     43        Fixed multiple minor issues; 
     44        Added Site Admin and Network Admin to Network lists 
     45        Added various security and bullet proofing 
     46 
    4247* 1.1 - Make more compatible with WP3.0 Beta 
    4348 
  • wp-multi-network/trunk/wp-multi-network.php

    r226418 r405934  
    22/** 
    33Plugin Name: WP Multi-Network 
    4 Plugin URI: http://johnjamesjacoby.com 
     4Plugin URI: http://wordpress.org/extend/plugins/wp-multi-network/ 
    55Description: Adds a Network Management UI for super admins in a WordPress Multisite environment 
    6 Version: 1.1 
    7 Author: John James Jacoby 
    8 Author URI: http://johnjamesjacoby.com 
     6Version: 1.2 
     7Author: Brian Layman 
     8Author URI: http://WebDevStudios.com 
    99Tags: multi, site, network, blog, domain 
    1010*/ 
    1111 
    12 /* Plugin originally created by David Dean, refreshed by John James Jacoby for WP3.0 */ 
    13  
    14 /* true = enable the holding network, must be true to save orphaned blogs, below */ 
     12/* ========================================================================== */ 
     13 
     14/* 
     15 * This program is free software; you can redistribute it and/or modify 
     16 * it under the terms of the GNU General Public License as published by 
     17 * the Free Software Foundation; either version 2 of the License, or 
     18 * (at your option) any later version. 
     19 * 
     20 * This program is distributed in the hope that it will be useful, 
     21 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
     22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     23 * GNU General Public License for more details. 
     24 
     25 * You should have received a copy of the GNU General Public License 
     26 * along with this program; if not, write to the Free Software 
     27 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
     28 */ 
     29 
     30 /* Plugin originally created by David Dean, 
     31    Refreshed by John James Jacoby for WP3.0, 
     32    Refreshed by Brian Layman for WP3.1+  
     33    See readme.txt for */ 
     34  
     35  
     36 /* true = enable the holding network, must be true to save orphaned blogs, below */ 
    1537if ( !defined( 'ENABLE_NETWORK_ZERO' ) ) 
    1638    define( 'ENABLE_NETWORK_ZERO', true ); 
     
    6991    function wpmn_network_exists( $site_id ) { 
    7092        global $sites, $wpdb; 
    71  
    7293        $site_id = (int)$site_id; 
    7394 
     
    79100 
    80101        /* check db just to be sure */ 
    81         $network_list = $wpdb->get_results( 'SELECT id FROM ' . $wpdb->site ); 
     102        $network_list = $wpdb->get_results( $wpdb->prepare('SELECT id FROM ' . $wpdb->site )); 
    82103        if ( $network_list ) { 
    83104            foreach( $network_list as $network ) { 
     
    139160if ( !function_exists( 'wpmn_restore_current_network' ) ) { 
    140161    function wpmn_restore_current_network() { 
    141         global $old_network_details, $wpdb, $site_id, $switched_network, $switched_network_stack; 
     162        global $old_network_details, $wpdb, $site_id, $switched_network,  
     163                $switched_network_stack, $current_site; 
    142164 
    143165        if ( !$switched_network ) 
     
    149171            return; 
    150172 
    151         $prev_site_id = $wpdb->site_id; 
     173        $prev_site_id = $wpdb->siteid; 
    152174 
    153175        $wpdb->siteid = $site_id; 
     
    185207 
    186208        $query = "SELECT * FROM {$wpdb->site} WHERE domain='" . $wpdb->escape( $domain ) . "' AND path='" . $wpdb->escape( $path ) . "' LIMIT 1"; 
    187         $network = $wpdb->get_row( $query ); 
     209        $network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
    188210 
    189211        if ( $network ) 
     
    199221        } else { 
    200222            $query = "INSERT INTO {$wpdb->site} (domain, path) VALUES ('" . $wpdb->escape( $domain ) . "','" . $wpdb->escape( $path ) . "')"; 
    201             $wpdb->query( $query ); 
     223            $wpdb->query( $wpdb->prepare( $query ) ); 
    202224            $new_network_id =  $wpdb->insert_id; 
    203225        } 
    204226 
    205227        /* update network list */ 
    206         $sites = $wpdb->get_results( 'SELECT * FROM ' . $wpdb->site ); 
     228        $sites = $wpdb->get_results( $wpdb->prepare( 'SELECT * FROM ' . $wpdb->site ) ); 
    207229 
    208230        if ( $new_network_id ) { 
     
    262284 
    263285        $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$id; 
    264         $network = $wpdb->get_row($query); 
     286        $network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
    265287        if ( !$network ) 
    266288            return new WP_Error('network_not_exist',__('Network does not exist.')); 
     
    284306 
    285307            $query .= ' WHERE id=' . (int)$id; 
    286             $update_result = $wpdb->query( $query ); 
     308            $update_result = $wpdb->query( $wpdb->prepare( $query ) ); 
    287309        } 
    288310 
     
    296318        /** also updated any associated blogs */ 
    297319        $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id=" . (int)$id; 
    298         $sites = $wpdb->get_results( $query ); 
     320        $sites = $wpdb->get_results( $wpdb->prepare( $query ) ); 
    299321 
    300322        if ( $sites ) { 
     
    314336                } else { 
    315337                    $query = "UPDATE {$wpdb->blogs} SET domain='" . $domain . "', path='" . $path . "' WHERE blog_id=" . (int)$site->blog_id; 
    316                     $wpdb->query( $query ); 
     338                    $wpdb->query( $wpdb->prepare( $query ) ); 
    317339                } 
    318340 
     
    321343 
    322344                foreach ( $options_list as $option_name ) { 
    323                     $option_value = $wpdb->get_row( "SELECT * FROM $optionTable WHERE option_name='$option_name'" ); 
     345                    $option_value = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $optionTable WHERE option_name='$option_name'" ) ); 
    324346                    if ( $option_value ) { 
    325347                        $new_value = str_replace( $old_path, $full_path, $option_value->option_value ); 
     
    346368        /* ensure we got a valid network id */ 
    347369        $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$id; 
    348         $network = $wpdb->get_row( $query ); 
     370        $network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
    349371 
    350372        if ( !$network ) 
     
    353375        /* ensure there are no blogs attached to this network */ 
    354376        $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id=" . (int)$id; 
    355         $sites = $wpdb->get_results($query); 
     377        $sites = $wpdb->get_results( $wpdb->prepare( $query ) ); 
    356378 
    357379        if ( $sites && !$override ) 
     
    368390 
    369391        $query = "DELETE FROM {$wpdb->site} WHERE id=" . (int)$id; 
    370         $wpdb->query($query); 
     392        $wpdb->query( $wpdb->prepare( $query ) ); 
    371393 
    372394        $query = "DELETE FROM {$wpdb->sitemeta} WHERE site_id=" . (int)$id; 
    373         $wpdb->query($query); 
     395        $wpdb->query( $wpdb->prepare( $query ) ); 
    374396 
    375397        do_action( 'wpmn_delete_network' , $network ); 
     
    388410        /* sanity checks */ 
    389411        $query = "SELECT * FROM {$wpdb->blogs} WHERE blog_id=" . (int)$site_id; 
    390         $site = $wpdb->get_row( $query ); 
     412        $site = $wpdb->get_row( $wpdb->prepare( $query ) ); 
    391413 
    392414        if ( !$site ) 
     
    404426        } else { 
    405427            $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$site->site_id; 
    406             $old_network = $wpdb->get_row( $query ); 
     428            $old_network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
    407429            if ( !$old_network ) 
    408430                return new WP_Error( 'network_not_exist', __( 'Network does not exist.' ) ); 
     
    415437        } else { 
    416438            $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$new_network_id; 
    417             $new_network = $wpdb->get_row( $query ); 
     439            $new_network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
    418440 
    419441            if ( !$new_network ) 
     
    457479 
    458480        foreach($options_list as $option_name) { 
    459             $option = $wpdb->get_row( "SELECT * FROM $options_table WHERE option_name='" . $option_name . "'" ); 
     481            $option = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $options_table WHERE option_name='" . $option_name . "'" ) ); 
    460482            $new_value = str_replace( $old_domain, $new_domain, $option->option_value ); 
    461483            update_blog_option( $site->blog_id, $option_name, $new_value ); 
     
    471493        function MS_Networks()  { 
    472494            if ( function_exists( 'add_action' ) ) { 
    473                 add_action( 'admin_menu', array( &$this, 'admin_menu' ) ); 
     495                add_action( 'init', array( &$this, 'wpmn_admin_url' ) ); 
     496                add_action( 'admin_menu', array( &$this, 'wpmn_admin_menu' ) ); 
     497                add_action( 'network_admin_menu', array( &$this, 'wpmn_network_admin_menu' ) ); 
    474498                add_action( 'wpmublogsaction', array( &$this, 'assign_blogs_link' ) ); 
    475499            } 
    476500        } 
    477501 
    478         function assign_blogs_link() { 
    479             global $blog; 
    480             echo '<a href="ms-admin.php?page=networks&amp;action=move&amp;blog_id=' . $blog['blog_id'] . '" class="edit">' . __( 'Move' ) . '</a>'; 
    481         } 
    482  
    483         function admin_menu() { 
    484             add_submenu_page( 'ms-admin.php', __( 'Networks' ), __( 'Networks' ), 'manage_options', 'networks', array( &$this, 'networks_page' ) ); 
    485         } 
    486  
    487     /* Config Page*/ 
     502        function wpmn_admin_url() { 
     503            global $wp_version; 
     504            if ( version_compare( $wp_version, '3.0.9', '<=' ) ) { 
     505                $result = esc_url(network_admin_url('options-general.php?page=networks')); 
     506            } else { 
     507                $result = esc_url(network_admin_url('settings.php?page=networks')); 
     508            } 
     509            return $result; 
     510        } 
     511 
     512        function assign_blogs_link($cur_blog_id) { 
     513            echo '<a href="' . $this->wpmn_admin_url() . '&amp;action=move&amp;blog_id=' . (int) $cur_blog_id . '" class="edit">' . __( 'Move' ) . '</a>'; 
     514        } 
     515 
     516        function wpmn_admin_menu() { 
     517            global $wp_version; 
     518            if ( version_compare( $wp_version, '3.0.9', '<=' ) ) { 
     519                add_options_page(__( 'Networks' ), __( 'Networks' ), 'manage_options', 'networks', array( &$this, 'networks_page' )); 
     520            } 
     521        } 
     522         
     523        function wpmn_network_admin_menu() { 
     524            add_submenu_page('settings.php', __( 'Networks' ), __( 'Networks' ), 'manage_options', 'networks', array( &$this, 'networks_page' )); 
     525        } 
     526 
     527        /* Config Page*/ 
    488528        function networks_page() { 
    489529            global $wpdb,  $options_to_copy; 
     
    511551 
    512552            if ( isset( $_GET['updated'] ) ) : 
    513 ?> 
    514             <div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div> 
    515 <?php 
    516         elseif ( isset($_GET['added'] ) ) : 
    517 ?> 
    518             <div id="message" class="updated fade"><p><?php _e('Network created.'); ?></p></div> 
    519 <?php 
    520         elseif( isset( $_GET['deleted'] ) ) : 
    521 ?> 
    522             <div id="message" class="updated fade"><p><?php _e('Network(s) deleted.'); ?></p></div> 
    523 <?php 
     553                ?><div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div><?php 
     554            elseif ( isset($_GET['added'] ) ) : 
     555                ?><div id="message" class="updated fade"><p><?php _e('Network created.'); ?></p></div><?php 
     556            elseif( isset( $_GET['deleted'] ) ) : 
     557                ?><div id="message" class="updated fade"><p><?php _e('Network(s) deleted.'); ?></p></div><?php 
    524558            endif; 
    525559 
    526560            print '<div class="wrap" style="position: relative">'; 
    527561 
    528             switch( $_GET[ 'action' ] ) { 
     562            if ( isset( $_GET[ 'action' ] )) { 
     563                $action = $_GET[ 'action' ]; 
     564            } else { 
     565                $action = ''; 
     566            } 
     567 
     568            switch( $action ) { 
    529569                case 'move': 
    530570                    $this->wpmn_move_site_page(); 
     
    543583                    break; 
    544584                default: 
    545  
    546585                    /* Strip off the action tag */ 
    547586                    $query_str = substr( $_SERVER['REQUEST_URI'], 0, ( strpos( $_SERVER['REQUEST_URI'], '?' ) + 1 ) ); 
     
    561600                    } 
    562601 
    563                     $count = $wpdb->get_col( 'SELECT COUNT(id) FROM ' . $wpdb->site . $search_conditions ); 
     602                    $count = $wpdb->get_col( $wpdb->prepare( 'SELECT COUNT(id) FROM ' . $wpdb->site . $search_conditions ) ); 
    564603                    $total = $count[0]; 
    565604 
     
    577616                        FROM {$wpdb->site} LEFT JOIN {$wpdb->blogs} ON {$wpdb->blogs}.site_id = {$wpdb->site}.id $search_conditions GROUP BY {$wpdb->site}.id" ; 
    578617 
    579                     if( isset( $_GET[ 'sortby' ] ) == false ) 
    580                         $_GET[ 'sortby' ] = 'ID'; 
    581  
    582  
    583                     switch( $_GET['sortby'] ) { 
     618                    if ( isset( $_GET[ 'sortby' ] )) { 
     619                        $sortby = $_GET[ 'sortby' ]; 
     620                    } else { 
     621                        $sortby = 'ID'; 
     622                    } 
     623 
     624                    switch ( $sortby ) { 
    584625                        case 'Domain': 
    585626                            $query .= ' ORDER BY ' . $wpdb->site . '.domain '; 
    586                             break; 
    587                         case 'ID': 
    588                             $query .= ' ORDER BY ' . $wpdb->site . '.id '; 
    589627                            break; 
    590628                        case 'Path': 
     
    594632                            $query .= ' ORDER BY blogs '; 
    595633                            break; 
     634                        case 'ID': 
     635                        default: 
     636                            $query .= ' ORDER BY ' . $wpdb->site . '.id '; 
    596637                    } 
    597638 
    598                     if( $_GET[ 'order' ] == 'DESC' ) 
     639                    if ( isset( $_GET[ 'order' ] ) && ( $_GET[ 'order' ] == 'DESC' )) 
    599640                        $query .= 'DESC'; 
    600641                    else 
     
    603644                    $query .= ' LIMIT ' . (((int)$start - 1 ) * $num ) . ', ' . intval( $num ); 
    604645 
    605                     $site_list = $wpdb->get_results( $query, ARRAY_A ); 
     646                    $site_list = $wpdb->get_results( $wpdb->prepare( $query ), ARRAY_A ); 
    606647 
    607648                    if ( count( $site_list ) < $num ) 
     
    626667                        'total' => ceil($total / $num), 
    627668                        'current' => $start 
    628                     )); 
    629 ?> 
    630  
    631     <div id="icon-tools" class="icon32"></div> 
    632     <h2><?php _e ( 'Networks' ) ?></h2> 
    633     <div id="col-container"> 
    634         <div id="col-right"> 
     669                    ));?> 
     670<div id="icon-tools" class="icon32"></div> 
     671<h2><?php _e ( 'Networks' ) ?></h2> 
     672<div id="col-container"> 
     673    <div id="col-right"> 
     674        <div class="tablenav">  
     675                    <?php  
     676                    if ( isset( $_GET['s'] ) ) : ?> 
     677            <div class="alignleft"> 
     678                <?php _e( 'Filter' ); ?>: <?php echo $wpdb->escape( $_GET['s'] ) ?> <a href="<?php echo $this->wpmn_admin_url();?>" class="button" title="<?php _e( 'Remove this filter' ) ?>"><?php _e( 'Remove' ) ?></a> 
     679            </div> 
     680                    <?php  
     681                    endif; ?> 
     682            <div class="alignright"> 
     683                <form name="searchform" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="get"> 
     684                    <input type="text" name="s" /> 
     685                    <input type="hidden" name="page" value="networks" /> 
     686                    <input type="submit" name="search" id="search" class="button" value="<?php _e('Search Domains'); ?>" /> 
     687                </form> 
     688            </div> 
     689        </div> 
     690        <form name='formlist' action='<?php echo $_SERVER['REQUEST_URI'] . "&amp;action=delete_multinetworks"; ?>' method='POST'> 
    635691            <div class="tablenav"> 
    636 <?php if ( isset( $_GET['s'] ) ) : ?> 
     692                    <?php 
     693                    if ( $network_navigation ) echo "<div class='tablenav-pages'>$network_navigation</div>"; ?> 
    637694                <div class="alignleft"> 
    638                     <?php _e( 'Filter' ); ?>: <?php echo $wpdb->escape( $_GET['s'] ) ?> <a href="./ms-admin.php?page=networks" class="button" title="<?php _e( 'Remove this filter' ) ?>"><?php _e( 'Remove' ) ?></a> 
    639                 </div> 
    640 <?php endif; ?> 
    641                 <div class="alignright"> 
    642                     <form name="searchform" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="get"> 
    643                         <input type="text" name="s" /> 
    644                         <input type="hidden" name="page" value="networks" /> 
    645                         <input type="submit" name="search" id="search" class="button" value="<?php _e('Search Domains'); ?>" /> 
    646                     </form> 
     695                    <input type="submit" class="button-secondary delete" name="allnetwork_delete" value="<?php _e('Delete'); ?>" /> 
    647696                </div> 
    648697            </div> 
    649             <form name='formlist' action='<?php echo $_SERVER['REQUEST_URI'] . "&amp;action=delete_multinetworks"; ?>' method='POST'> 
    650                 <div class="tablenav"> 
    651 <?php if ( $network_navigation ) echo "<div class='tablenav-pages'>$network_navigation</div>"; ?> 
    652                     <div class="alignleft"> 
    653                         <input type="submit" class="button-secondary delete" name="allnetwork_delete" value="<?php _e('Delete'); ?>" /> 
    654                     </div> 
    655                 </div> 
    656                 <br class="clear" /> 
    657                 <table width="100%" cellpadding="3" cellspacing="3" class="widefat"> 
    658                     <thead> 
    659                         <tr> 
    660 <?php foreach( $sites_columns as $col_name => $column_display_name ) { ?> 
    661 <?php if ( $col_name == 'check' ) : ?> 
     698            <br class="clear" /> 
     699            <table width="100%" cellpadding="3" cellspacing="3" class="widefat"> 
     700                <thead> 
     701                    <tr> 
     702                    <?php  
     703                    foreach( $sites_columns as $col_name => $column_display_name ) {  
     704                        if ( $col_name == 'check' ) : ?> 
     705                        <th scope="col" class="column-cb check-column"> 
     706                            <input type="checkbox" id="select_all"> 
     707                        <?php  
     708                        else :?> 
     709                        <th scope="col"><a href="<?php echo $this->wpmn_admin_url();?>&sortby=<?php echo urlencode( $column_display_name ) ?>&<?php if( $_GET[ 'sortby' ] == $column_display_name ) { if( $_GET[ 'order' ] == 'DESC' ) { echo "order=ASC&" ; } else { echo "order=DESC&"; } } ?>start=<?php echo $start ?>"><?php echo $column_display_name; ?></a> 
     710                        <?php  
     711                        endif; ?> 
     712                        </th> 
     713                    <?php  
     714                    } ?> 
     715                    </tr> 
     716                </thead> 
     717                <tfoot> 
     718                    <tr> 
     719                    <?php 
     720                    foreach( $sites_columns as $col_name => $column_display_name ) {  
     721                        if ( $col_name == 'check' ) : ?> 
    662722                            <th scope="col" class="column-cb check-column"> 
    663723                                <input type="checkbox" id="select_all"> 
    664 <?php else :?> 
    665                             <th scope="col"><a href="ms-admin.php?page=networks&sortby=<?php echo urlencode( $column_display_name ) ?>&<?php if( $_GET[ 'sortby' ] == $column_display_name ) { if( $_GET[ 'order' ] == 'DESC' ) { echo "order=ASC&" ; } else { echo "order=DESC&"; } } ?>start=<?php echo $start ?>"><?php echo $column_display_name; ?></a> 
    666 <?php endif; ?> 
     724                        <?php  
     725                        else :?> 
     726                            <th scope="col"><a href="<?php echo $this->wpmn_admin_url();?>&sortby=<?php echo urlencode( $column_display_name ) ?>&<?php if( isset($_GET[ 'sortby' ]) && $_GET[ 'sortby' ] == $column_display_name ) { if( $_GET[ 'order' ] == 'DESC' ) { echo "order=ASC&" ; } else { echo "order=DESC&"; } } ?>start=<?php echo $start ?>"><?php echo $column_display_name; ?></a> 
     727                        <?php  
     728                        endif; ?> 
    667729                            </th> 
    668 <?php } ?> 
    669                         </tr> 
    670                     </thead> 
    671                     <tfoot> 
    672                         <tr> 
    673 <?php foreach( $sites_columns as $col_name => $column_display_name ) { ?> 
    674  
    675 <?php if ( $col_name == 'check' ) : ?> 
    676                             <th scope="col" class="column-cb check-column"> 
    677                                 <input type="checkbox" id="select_all"> 
    678 <?php else :?> 
    679                             <th scope="col"><a href="ms-admin.php?page=networks&sortby=<?php echo urlencode( $column_display_name ) ?>&<?php if( $_GET[ 'sortby' ] == $column_display_name ) { if( $_GET[ 'order' ] == 'DESC' ) { echo "order=ASC&" ; } else { echo "order=DESC&"; } } ?>start=<?php echo $start ?>"><?php echo $column_display_name; ?></a> 
    680 <?php endif; ?> 
    681                             </th> 
    682 <?php } ?> 
     730                        <?php  
     731                        } ?> 
    683732                        </tr> 
    684733                    </tfoot> 
    685734                    <tbody> 
    686 <?php 
    687  
    688 if ( $site_list ) { 
    689     $bgcolor = ''; 
    690     foreach ( $site_list as $site ) { 
    691 ?> 
     735                <?php    
     736                if ( $site_list ) { 
     737                    $bgcolor = ''; 
     738                    foreach ( $site_list as $site ) {?> 
    692739                        <tr> 
    693 <?php 
    694         if ( constant( "VHOST" ) == 'yes' ) 
    695             $sitename = str_replace( '.' . $current_site->domain, '', $site[ 'domain' ] ); 
    696         else 
    697             $sitename = $site[ 'path' ]; 
    698  
    699         foreach( $sites_columns as $column_name => $column_display_name ) { 
    700             switch( $column_name ) { 
    701                 case 'check' : 
    702                     if ( $site['blogs'] == 0 || $site['id'] != 1 ) : 
    703 ?> 
    704                             <th scope="row" class="check-column" style="width: auto"><input type='checkbox' id='<?php echo $site[ 'id' ] ?>' name='allnetworks[]' value='<?php echo $site[ 'id' ] ?>'><label for='<?php echo $site[ 'id' ] ?>'></label</th> 
    705 <?php 
    706                     else : 
    707 ?> 
     740                        <?php 
     741                        if ( constant( "VHOST" ) == 'yes' ) 
     742                            $sitename = str_replace( '.' . $current_site->domain, '', $site[ 'domain' ] ); 
     743                        else 
     744                            $sitename = $site[ 'path' ]; 
     745                         
     746                        $cur_site_id = (int) $site[ 'id' ]; 
     747                        $cur_site_url = esc_url('http://' . $site['domain'] . $site['path']); 
     748 
     749                        foreach( $sites_columns as $column_name => $column_display_name ) { 
     750                            switch( $column_name ) { 
     751                                case 'check' : 
     752                                    if ( $site['blogs'] == 0 || $site['id'] != 1 ) :?> 
     753                            <th scope="row" class="check-column" style="width: auto"><input type='checkbox' id='<?php echo $site[ 'id' ] ?>' name='allnetworks[]' value='<?php echo $site[ 'id' ] ?>'><label for='<?php echo $cur_site_id ?>'></label</th> 
     754                                    <?php 
     755                                    else :?> 
    708756                            <th></th> 
    709 <?php 
    710                     endif; 
    711                     break; 
    712  
    713                 case 'id': 
    714 ?> 
    715                             <td><?php echo $site[ 'id' ] ?></td> 
    716 <?php 
    717                     break; 
    718  
    719                 case 'domain': 
    720 ?> 
    721                             <td><?php echo $site['domain'] ?> 
    722 <?php 
    723                     $actions    = array(); 
    724                     $actions[]  = '<a class="edit" href="' . $query_str . "&amp;action=assignblogs&amp;id=" . $site['id'] . '" title="' . __('Assign sites to this network') . '">' . __( 'Assign Sites' ) . '</a>'; 
    725                     $actions[]  = '<a class="edit" href="' . $query_str . "&amp;action=editnetwork&amp;id=" .  $site['id'] . '" title="' . __('Edit this network') . '">' . __('Edit') . '</a>'; 
    726                     if ( $site['blogs'] == 0 || $site['id'] != 1 ) 
    727                         $actions[] = '<a class="delete" href="' . $query_str . "&amp;action=deletenetwork&amp;id=" . $site['id'] . '" title="' . __('Delete this network') . '">' . __('Delete') . '</a>'; 
    728  
    729                     if ( count( $actions ) ) : ?> 
     757                                    <?php 
     758                                    endif; 
     759                                    break; 
     760                                case 'id':?> 
     761                            <td><?php echo $cur_site_id ?></td> 
     762                                    <?php 
     763                                    break; 
     764                                case 'domain':?> 
     765                            <td> 
     766                                    <?php  
     767                                    echo $site['domain']; 
     768                                    $actions    = array(); 
     769                                    $actions[]  = '<a class="edit" href="' . $cur_site_url . 'wp-admin/" title="' . __('Site Admin') . '">' . __( 'Site Admin' ) . '</a>'; 
     770                                    $actions[]  = '<a class="edit" href="' . $cur_site_url . 'wp-admin/network/" title="' . __('Network Admin') . '">' . __( 'Network Admin' ) . '</a>'; 
     771                                    $actions[]  = '<a class="edit" href="' . $query_str . "&amp;action=assignblogs&amp;id=" . $site['id'] . '" title="' . __('Assign sites to this network') . '">' . __( 'Assign Sites' ) . '</a>'; 
     772                                    $actions[]  = '<a class="edit" href="' . $query_str . "&amp;action=editnetwork&amp;id=" .  $site['id'] . '" title="' . __('Edit this network') . '">' . __('Edit') . '</a>'; 
     773                                    if ( $site['blogs'] == 0 || $site['id'] != 1 ) 
     774                                        $actions[] = '<a class="delete" href="' . $query_str . "&amp;action=deletenetwork&amp;id=" . $site['id'] . '" title="' . __('Delete this network') . '">' . __('Delete') . '</a>'; 
     775 
     776                                    if ( count( $actions ) ) : ?> 
    730777                                <div class="row-actions"> 
    731778                                    <?php echo implode(' | ', $actions); ?> 
    732779                                </div> 
    733 <?php endif; ?> 
     780                                    <?php 
     781                                    endif; ?> 
    734782                            </td> 
    735 <?php 
    736                     break; 
    737  
    738                 case 'path': 
    739 ?> 
    740                             <td valign='top'><label for='<?php echo $site[ 'id' ] ?>'><?php echo $site['path'] ?></label></td> 
    741 <?php 
    742                     break; 
    743  
    744                 case 'blogs': 
    745 ?> 
     783                                    <?php 
     784                                    break; 
     785 
     786                                case 'path':?> 
     787                            <td valign='top'><label for='<?php echo $cur_site_id ?>'><?php echo $site['path'] ?></label></td> 
     788                                    <?php 
     789                                    break; 
     790                                case 'blogs':?> 
    746791                            <td valign='top'><a href="http://<?php echo $site['domain'] . $site['blog_path'];?>wp-admin/ms-sites.php" title="<?php _e('Sites on this network'); ?>"><?php echo $site['blogs'] ?></a></td> 
    747 <?php 
    748                     break; 
    749  
    750                 default: 
    751 ?> 
     792                                    <?php 
     793                                    break; 
     794 
     795                                default:?> 
    752796                            <td valign='top'><?php do_action( 'manage_networks_custom_column', $column_name, $site['id'] ); ?></td> 
    753 <?php 
    754                     break; 
    755             } 
    756         } 
    757 ?> 
     797                                    <?php 
     798                                    break; 
     799                            } 
     800                        }?> 
    758801                        </tr> 
    759 <?php 
    760     } 
    761 } else { 
    762 ?> 
     802                    <?php 
     803                    } 
     804                } else { ?> 
    763805                        <tr style=''> 
    764806                            <td colspan="8"><?php _e( 'No networks found.' ) ?></td> 
    765807                        </tr> 
    766 <?php 
    767 } // end if ($sites) 
    768 ?> 
     808                <?php 
     809                } // end if ($sites)?> 
    769810                    </tbody> 
    770811                </table> 
    771812                <div class="tablenav"> 
    772 <?php if ( $network_navigation ) echo "<div class='tablenav-pages'>$network_navigation</div>"; ?> 
     813                <?php    
     814                if ( $network_navigation ) echo "<div class='tablenav-pages'>$network_navigation</div>"; ?> 
    773815                    <div class="alignleft"> 
    774816                        <input type="submit" class="button-secondary delete" name="allnetwork_delete" value="<?php _e('Delete'); ?>" /> 
     
    795837                                <tr> 
    796838                                    <th scope="row"><label for="cloneNetwork"><?php _e('Clone Network'); ?>:</label></th> 
    797                                     <?php   $network_list = $wpdb->get_results( 'SELECT id, domain FROM ' . $wpdb->site , ARRAY_A );    ?> 
    798                                     <td colspan="2"><select name="cloneNetwork" id="cloneNetwork"><option value="0"><?php _e('Do Not Clone'); ?></option><?php foreach($network_list as $network) { echo '<option value="' . $network['id'] . '"' . ($network['id'] == 1 ? ' selected' : '' ) . '>' . $network['domain'] . '</option>'; } ?></select></td> 
     839                                    <?php $network_list = $wpdb->get_results( $wpdb->prepare( 'SELECT id, domain FROM ' . $wpdb->site ), ARRAY_A ); ?> 
     840                                    <td colspan="2"> 
     841                                        <select name="cloneNetwork" id="cloneNetwork"> 
     842                                            <option value="0"><?php _e('Do Not Clone'); ?></option> 
     843                <?php  
     844                foreach($network_list as $network) {  
     845                    echo '                                          ' .  
     846                         '<option value="' . $network['id'] . '"' . ($network['id'] == 1 ? ' selected' : '' ) . '>' . $network['domain'] . '</option>';  
     847                }?> 
     848                                        </select></td> 
    799849                                </tr> 
    800850                                <tr> 
    801 <?php 
    802     $all_network_options = $wpdb->get_results( 'SELECT DISTINCT meta_key FROM ' . $wpdb->sitemeta ); 
    803  
    804     $known_networkmeta_options = $options_to_copy; 
    805     $known_networkmeta_options = apply_filters( 'manage_networkmeta_descriptions' , $known_networkmeta_options ); 
    806  
    807     $options_to_copy = apply_filters( 'manage_network_clone_options' , $options_to_copy ); 
    808 ?> 
     851                <?php 
     852                $all_network_options = $wpdb->get_results( $wpdb->prepare( 'SELECT DISTINCT meta_key FROM ' . $wpdb->sitemeta ) ); 
     853 
     854                $known_networkmeta_options = $options_to_copy; 
     855                $known_networkmeta_options = apply_filters( 'manage_networkmeta_descriptions' , $known_networkmeta_options ); 
     856 
     857                $options_to_copy = apply_filters( 'manage_network_clone_options' , $options_to_copy );?> 
    809858                                    <td colspan="3"> 
    810859                                        <table class="widefat"> 
     
    844893}); 
    845894</script> 
    846 <?php 
    847  
    848             break; 
    849         } // end switch( $action ) 
    850 ?> 
     895                    <?php 
     896                    break; 
     897            } // end switch( $action ) ?> 
    851898</div> 
    852 <?php 
    853  
    854     } 
    855  
    856     function wpmn_move_site_page() { 
    857         global $wpdb; 
    858  
    859         if ( isset( $_POST['move'] ) && isset( $_GET['blog_id'] ) ) { 
    860             if ( isset( $_POST['from'] ) && isset( $_POST['to'] ) ) { 
    861                 wpmn_move_site( $_GET['blog_id'], $_POST['to'] ); 
    862                 $_GET['updated'] = 'yes'; 
    863                 $_GET['action'] = 'saved'; 
    864             } 
    865         } else { 
    866             if( !isset( $_GET['blog_id'] ) ) 
    867                 die( __( 'You must select a blog to move.' ) ); 
    868  
    869             $query = "SELECT * FROM {$wpdb->blogs} WHERE blog_id=" . (int)$_GET['blog_id']; 
    870             $site = $wpdb->get_row( $query ); 
    871  
    872             if ( !$site ) 
    873                 die( __( 'Invalid blog id.' ) ); 
    874  
    875             $table_name = $wpdb->get_blog_prefix( $site->blog_id ) . "options"; 
    876             $details = $wpdb->get_row( "SELECT * FROM {$table_name} WHERE option_name='blogname'" ); 
    877  
    878             if ( !$details ) 
    879                 die( __( 'Invalid blog id.' ) ); 
    880  
    881             $sites = $wpdb->get_results( "SELECT * FROM {$wpdb->site}" ); 
    882  
    883             foreach ( $sites as $key => $network ) { 
    884                 if ( $network->id == $site->site_id ) 
    885                     $myNetwork = $sites[$key]; 
    886             } 
    887 ?> 
     899        <?php 
     900        } // function networks_page 
     901 
     902        function wpmn_move_site_page() { 
     903            global $wpdb; 
     904 
     905            if ( isset( $_POST['move'] ) && isset( $_GET['blog_id'] ) ) { 
     906                if ( isset( $_POST['from'] ) && isset( $_POST['to'] ) ) { 
     907                    wpmn_move_site( $_GET['blog_id'], $_POST['to'] ); 
     908                    $_GET['updated'] = 'yes'; 
     909                    $_GET['action'] = 'saved'; 
     910                } 
     911            } else { 
     912                if( !isset( $_GET['blog_id'] ) ) 
     913                    die( __( 'You must select a blog to move.' ) ); 
     914 
     915                $query = "SELECT * FROM {$wpdb->blogs} WHERE blog_id=" . (int)$_GET['blog_id']; 
     916                $site = $wpdb->get_row( $wpdb->prepare( $query ) ); 
     917 
     918                if ( !$site ) 
     919                    die( __( 'Invalid blog id.' ) ); 
     920 
     921                $table_name = $wpdb->get_blog_prefix( $site->blog_id ) . "options"; 
     922                $details = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$table_name} WHERE option_name='blogname'" ) ); 
     923 
     924                if ( !$details ) 
     925                    die( __( 'Invalid blog id.' ) ); 
     926 
     927                $sites = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->site}" ) ); 
     928 
     929                foreach ( $sites as $key => $network ) { 
     930                    if ( $network->id == $site->site_id ) 
     931                        $myNetwork = $sites[$key]; 
     932                }?> 
    888933            <div id="icon-tools" class="icon32"></div> 
    889934            <h2><?php _e ( 'Networks' ) ?></h2> 
     
    902947                            <select name="to" id="to"> 
    903948                                <option value="0"><?php _e('Select a Network'); ?></option> 
    904 <?php 
    905     foreach ( $sites as $network ) { 
    906         if ( $network->id != $myNetwork->id ) : 
    907 ?> 
     949                <?php 
     950                foreach ( $sites as $network ) { 
     951                    if ( $network->id != $myNetwork->id ) :?> 
    908952                                <option value="<?php echo $network->id ?>"><?php echo $network->domain ?></option> 
    909 <?php 
    910         endif; 
    911     } 
    912 ?> 
     953                    <?php 
     954                    endif; 
     955                } ?> 
    913956                            </select> 
    914957                        </td> 
     
    916959                </table> 
    917960                <br /> 
    918 <?php if ( has_action( 'add_move_blog_option' ) ) : ?> 
     961                <?php            
     962                if ( has_action( 'add_move_blog_option' ) ) : ?> 
    919963                <table class="widefat"> 
    920964                    <thead> 
     
    924968                </table> 
    925969                <br /> 
    926 <?php endif; ?> 
     970                <?php 
     971                endif; ?> 
    927972                <div> 
    928973                    <input type="hidden" name="from" value="<?php echo $site->site_id; ?>" /> 
     
    931976                </div> 
    932977            </form> 
    933 <?php 
    934         } 
    935     } 
    936  
    937     function wpmn_reassign_site_page() { 
    938         global $wpdb; 
    939  
    940         if ( isset( $_POST['reassign'] ) && isset( $_GET['id'] ) ) { 
    941             /** Javascript enabled for client - check the 'to' box */ 
    942             if ( isset( $_POST['jsEnabled'] ) ) { 
    943                 if ( !isset( $_POST['to'] ) ) 
    944                     die( __( 'No blogs selected.' ) ); 
    945  
    946                 $sites = $_POST['to']; 
    947  
    948             /** Javascript disabled for client - check the 'from' box */ 
     978            <?php 
     979            } 
     980        } // wpmn_move_site_page 
     981 
     982        function wpmn_reassign_site_page() { 
     983            global $wpdb; 
     984 
     985            if ( isset( $_POST['reassign'] ) && isset( $_GET['id'] ) ) { 
     986                /** Javascript enabled for client - check the 'to' box */ 
     987                if ( isset( $_POST['jsEnabled'] ) ) { 
     988                    if ( !isset( $_POST['to'] ) ) 
     989                        die( __( 'No blogs selected.' ) ); 
     990 
     991                    $sites = $_POST['to']; 
     992 
     993                /** Javascript disabled for client - check the 'from' box */ 
     994                } else { 
     995                    if ( !isset( $_POST['from'] ) ) 
     996                        die( __( 'No blogs seleceted.' ) ); 
     997 
     998                    $sites = $_POST['from']; 
     999                } 
     1000 
     1001                $current_blogs = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->blogs} WHERE site_id=" . (int)$_GET['id'] ) ); 
     1002 
     1003                foreach( $sites as $site ) { 
     1004                    wpmn_move_site( $site, (int)$_GET['id'] ); 
     1005                } 
     1006 
     1007                /* true sync - move any unlisted blogs to 'zero' network */ 
     1008                if ( ENABLE_NETWORK_ZERO ) { 
     1009                    foreach( $current_blogs as $current_blog ) { 
     1010                        if ( !in_array( $current_blog->blog_id, $sites ) ) 
     1011                            wpmn_move_site( $current_blog->blog_id, 0 ); 
     1012 
     1013                    } 
     1014                } 
     1015 
     1016                $_GET['updated'] = 'yes'; 
     1017                $_GET['action'] = 'saved'; 
     1018 
    9491019            } else { 
    950                 if ( !isset( $_POST['from'] ) ) 
    951                     die( __( 'No blogs seleceted.' ) ); 
    952  
    953                 $sites = $_POST['from']; 
    954             } 
    955  
    956             $current_blogs = $wpdb->get_results( "SELECT * FROM {$wpdb->blogs} WHERE site_id=" . (int)$_GET['id'] ); 
    957  
    958             foreach( $sites as $site ) { 
    959                 wpmn_move_site( $site, (int)$_GET['id'] ); 
    960             } 
    961  
    962             /* true sync - move any unlisted blogs to 'zero' network */ 
    963             if ( ENABLE_NETWORK_ZERO ) { 
    964                 foreach( $current_blogs as $current_blog ) { 
    965                     if ( !in_array( $current_blog->blog_id, $sites ) ) 
    966                         wpmn_move_site( $current_blog->blog_id, 0 ); 
    967  
    968                 } 
    969             } 
    970  
    971             $_GET['updated'] = 'yes'; 
    972             $_GET['action'] = 'saved'; 
    973  
    974         } else { 
    975  
    976             // get network by id 
    977             $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$_GET['id']; 
    978             $network = $wpdb->get_row( $query ); 
    979  
    980             if ( !$network ) 
    981                 die( __( 'Invalid network id.' ) ); 
    982  
    983             $sites = $wpdb->get_results( "SELECT * FROM {$wpdb->blogs}" ); 
    984             if ( !$sites ) 
    985                 die( __( 'Site table inaccessible.' ) ); 
    986  
    987             foreach( $sites as $key => $site ) { 
    988                 $table_name = $wpdb->get_blog_prefix( $site->blog_id ) . "options"; 
    989                 $site_name = $wpdb->get_row("SELECT * FROM $table_name WHERE option_name='blogname'"); 
    990  
    991                 if ( !$site_name ) 
    992                     die( __( 'Invalid blog.' ) ); 
    993  
    994                 $sites[$key]->name = stripslashes( $site_name->option_value ); 
    995             } 
    996 ?> 
     1020 
     1021                // get network by id 
     1022                $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$_GET['id']; 
     1023                $network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
     1024 
     1025                if ( !$network ) 
     1026                    die( __( 'Invalid network id.' ) ); 
     1027 
     1028                $sites = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->blogs}" ) ); 
     1029                if ( !$sites ) 
     1030                    die( __( 'Site table inaccessible.' ) ); 
     1031 
     1032                foreach( $sites as $key => $site ) { 
     1033                    $table_name = $wpdb->get_blog_prefix( $site->blog_id ) . "options"; 
     1034                    $site_name = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table_name WHERE option_name='blogname'" ) ); 
     1035 
     1036                    if ( !$site_name ) 
     1037                        die( __( 'Invalid blog.' ) ); 
     1038 
     1039                    $sites[$key]->name = stripslashes( $site_name->option_value ); 
     1040                } ?> 
    9971041            <div id="icon-tools" class="icon32"></div> 
    9981042            <h2><?php _e ( 'Networks' ) ?></h2> 
     
    10131057                        <td> 
    10141058                            <select name="from[]" id="from" multiple style="height: auto; width: 98%"> 
    1015 <?php 
    1016     foreach ( $sites as $site ) { 
    1017         if ( $site->site_id != $network->id ) echo '<option value="' . $site->blog_id . '">' . $site->name  . ' (' . $site->domain . ')</option>'; 
    1018     } 
    1019 ?> 
     1059                <?php 
     1060                foreach ( $sites as $site ) { 
     1061                    if ( $site->site_id != $network->id ) echo '<option value="' . $site->blog_id . '">' . $site->name  . ' (' . $site->domain . ')</option>'; 
     1062                } ?> 
    10201063                            </select> 
    10211064                        </td> 
     
    10441087                </table> 
    10451088                <br class="clear" /> 
    1046 <?php if ( has_action( 'add_move_blog_option' ) ) : ?> 
     1089                <?php 
     1090                if ( has_action( 'add_move_blog_option' ) ) : ?> 
    10471091                <table class="widefat"> 
    10481092                    <thead> 
    10491093                        <tr scope="col"><th colspan="2"><?php _e( 'Options' ); ?>:</th></tr> 
    10501094                    </thead> 
    1051 <?php do_action( 'add_move_blog_option', $site->blog_id ); ?> 
     1095                    <?php 
     1096                    do_action( 'add_move_blog_option', $site->blog_id ); ?> 
    10521097                </table> 
    10531098                <br /> 
    1054 <?php endif; ?> 
     1099                <?php 
     1100                endif; ?> 
    10551101                <input type="submit" name="reassign" value="<?php _e( 'Update Assigments' ); ?>" class="button" /> 
    1056                 <a href="./ms-admin.php?page=networks"><?php _e( 'Cancel' ); ?></a> 
     1102                <a href="<?php echo $this->wpmn_admin_url();?>"><?php _e( 'Cancel' ); ?></a> 
    10571103            </form> 
    10581104            <script type="text/javascript"> 
     
    11261172            <?php 
    11271173 
    1128         } 
    1129     } 
    1130  
    1131     function wpmn_add_network_page() { 
    1132         global $wpdb, $options_to_copy; 
    1133  
    1134         if ( isset( $_POST['add'] ) && isset( $_POST['domain'] ) && isset( $_POST['path'] ) ) { 
    1135  
    1136             /** grab custom options to clone if set */ 
    1137             if ( isset( $_POST['options_to_clone'] ) && is_array( $_POST['options_to_clone'] ) ) 
    1138                 $options_to_clone = array_keys( $_POST['options_to_clone'] ); 
    1139             else 
    1140                 $options_to_clone = $options_to_copy; 
    1141  
    1142             $result = wpmn_add_network( 
    1143                 $_POST['domain'], 
    1144                 $_POST['path'], 
    1145                 ( isset( $_POST['newSite'] ) ? $_POST['newSite'] : __('New Network Created') ) , 
    1146                 ( isset( $_POST['cloneNetwork'] ) ? $_POST['cloneNetwork'] : NULL ), 
    1147                 $options_to_clone 
    1148             ); 
    1149  
    1150             if ( $result ) { 
    1151                 if ( isset( $_POST['name'] ) ) { 
    1152                     wpmn_switch_to_network( $result ); 
    1153                     add_site_option( 'site_name', $_POST['name'] ); 
    1154                     wpmn_restore_current_network(); 
    1155                 } 
    1156  
    1157                 $_GET['updated'] = 'yes'; 
     1174            } 
     1175        } // wpmn_reassign_site_page 
     1176 
     1177        function wpmn_add_network_page() { 
     1178            global $wpdb, $options_to_copy; 
     1179 
     1180            if ( isset( $_POST['add'] ) && isset( $_POST['domain'] ) && isset( $_POST['path'] ) ) { 
     1181 
     1182                /** grab custom options to clone if set */ 
     1183                if ( isset( $_POST['options_to_clone'] ) && is_array( $_POST['options_to_clone'] ) ) 
     1184                    $options_to_clone = array_keys( $_POST['options_to_clone'] ); 
     1185                else 
     1186                    $options_to_clone = $options_to_copy; 
     1187 
     1188                $result = wpmn_add_network( 
     1189                    $_POST['domain'], 
     1190                    $_POST['path'], 
     1191                    ( isset( $_POST['newSite'] ) ? $_POST['newSite'] : __('New Network Created') ) , 
     1192                    ( isset( $_POST['cloneNetwork'] ) ? $_POST['cloneNetwork'] : NULL ), 
     1193                    $options_to_clone 
     1194                ); 
     1195 
     1196                if ( $result && !is_wp_error($result)) { 
     1197                    if ( isset( $_POST['name'] ) ) { 
     1198                        wpmn_switch_to_network( $result ); 
     1199                        add_site_option( 'site_name', $_POST['name'] ); 
     1200                        wpmn_restore_current_network(); 
     1201                    } 
     1202 
     1203                    $_GET['updated'] = 'yes'; 
     1204                    $_GET['action'] = 'saved'; 
     1205                } else { 
     1206                    foreach ($result->errors as $i => $error) { 
     1207                        echo("<h2>Error: " . $error[0] . "</h2>"); 
     1208                    } 
     1209                } 
     1210            } 
     1211        } // wpmn_add_network_page 
     1212 
     1213        function wpmn_update_network_page() { 
     1214            global $wpdb; 
     1215 
     1216            if ( isset( $_POST['update'] ) && isset( $_GET['id'] ) ) { 
     1217                $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$_GET['id']; 
     1218                $network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
     1219                if ( !$network ) 
     1220                    die( __( 'Invalid network id.' ) ); 
     1221 
     1222                wpmn_update_network( (int)$_GET['id'], $_POST['domain'], $_POST['path'] ); 
     1223                $_GET['updated'] = 'true'; 
    11581224                $_GET['action'] = 'saved'; 
    1159             } 
    1160         } 
    1161     } 
    1162  
    1163     function wpmn_update_network_page() { 
    1164         global $wpdb; 
    1165  
    1166         if ( isset( $_POST['update'] ) && isset( $_GET['id'] ) ) { 
    1167             $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$_GET['id']; 
    1168             $network = $wpdb->get_row( $query ); 
    1169             if ( !$network ) 
    1170                 die( __( 'Invalid network id.' ) ); 
    1171  
    1172             wpmn_update_network( (int)$_GET['id'], $_POST['domain'], $_POST['path'] ); 
    1173             $_GET['updated'] = 'true'; 
    1174             $_GET['action'] = 'saved'; 
    1175  
    1176         } else { 
    1177  
    1178             // get network by id 
    1179             $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$_GET['id']; 
    1180             $network = $wpdb->get_row( $query ); 
    1181  
    1182             if ( !$network ) 
    1183                 wp_die(__('Invalid network id.')); 
    1184  
    1185             /* strip off the action tag */ 
    1186             $query_str = substr( $_SERVER['REQUEST_URI'], 0, ( strpos( $_SERVER['REQUEST_URI'], '?' ) + 1 ) ); 
    1187             $get_params = array(); 
    1188  
    1189             foreach ( $_GET as $get_param => $get_value ) { 
    1190                 if ( $get_param != 'action' ) 
    1191                     $get_params[] = $get_param . '=' . $get_value; 
    1192  
    1193             } 
    1194             $query_str .= implode( '&', $get_params ); 
    1195 ?> 
     1225 
     1226            } else { 
     1227 
     1228                // get network by id 
     1229                $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$_GET['id']; 
     1230                $network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
     1231 
     1232                if ( !$network ) 
     1233                    wp_die(__('Invalid network id.')); 
     1234 
     1235                /* strip off the action tag */ 
     1236                $query_str = substr( $_SERVER['REQUEST_URI'], 0, ( strpos( $_SERVER['REQUEST_URI'], '?' ) + 1 ) ); 
     1237                $get_params = array(); 
     1238 
     1239                foreach ( $_GET as $get_param => $get_value ) { 
     1240                    if ( $get_param != 'action' ) 
     1241                        $get_params[] = $get_param . '=' . $get_value; 
     1242 
     1243                } 
     1244                $query_str .= implode( '&', $get_params );?> 
    11961245            <div id="icon-tools" class="icon32"></div> 
    11971246            <h2><?php _e ('Networks') ?></h2> 
     
    12021251                    <tr class="form-field"><th scope="row"><label for="path"><?php _e( 'Path' ); ?></label></th><td><input type="text" id="path" name="path" value="<?php echo $network->path; ?>" /></td></tr> 
    12031252                </table> 
    1204 <?php if ( has_action( 'add_edit_network_option' ) ) : ?> 
     1253                <?php 
     1254                if ( has_action( 'add_edit_network_option' ) ) : ?> 
    12051255                <h3><?php _e( 'Options:' ) ?></h3> 
    12061256                <table class="form-table"> 
    12071257                    <?php do_action( 'add_edit_network_option' ); ?> 
    12081258                </table> 
    1209 <?php endif; ?> 
     1259                <?php 
     1260                endif; ?> 
    12101261                <p> 
    12111262                    <input type="hidden" name="networkId" value="<?php echo $network->id; ?>" /> 
    12121263                    <input class="button" type="submit" name="update" value="<?php _e( 'Update Network' ); ?>" /> 
    1213                     <a href="./ms-admin.php?page=networks"><?php _e('Cancel'); ?></a> 
     1264                    <a href="<?php echo $this->wpmn_admin_url();?>"><?php _e('Cancel'); ?></a> 
    12141265                </p> 
    12151266            </form> 
    1216 <?php 
    1217         } 
    1218     } 
    1219  
    1220     function wpmn_delete_network_page() { 
    1221         global $wpdb; 
    1222  
    1223         if ( isset( $_POST['delete'] ) && isset( $_GET['id'] ) ) { 
    1224             $result = wpmn_delete_network( (int)$_GET['id'], ( isset( $_POST['override'] ) ) ); 
    1225  
    1226             if ( is_a( $result, 'WP_Error' ) ) 
    1227                 wp_die( $result->get_error_message() ); 
    1228  
    1229             $_GET['deleted'] = 'yes'; 
    1230             $_GET['action'] = 'saved'; 
    1231  
    1232         } else { 
    1233  
    1234             /* get network by id */ 
    1235             $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$_GET['id']; 
    1236             $network = $wpdb->get_row( $query ); 
    1237  
    1238             if ( !$network ) 
    1239                 die( __( 'Invalid network id.' ) ); 
    1240  
    1241             $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id=" . (int)$_GET['id']; 
    1242             $sites = $wpdb->get_results( $query ); 
    1243  
    1244             /* strip off the action tag */ 
    1245             $query_str = substr( $_SERVER['REQUEST_URI'], 0, ( strpos( $_SERVER['REQUEST_URI'], '?' ) + 1 ) ); 
    1246             $get_params = array(); 
    1247  
    1248             foreach( $_GET as $get_param => $get_value ) { 
    1249                 if ( $get_param != 'action' ) 
    1250                     $get_params[] = $get_param . '=' . $get_value; 
    1251             } 
    1252             $query_str .= implode( '&', $get_params ); 
    1253 ?> 
     1267            <?php 
     1268            } 
     1269        } // wpmn_update_network_page 
     1270 
     1271        function wpmn_delete_network_page() { 
     1272            global $wpdb; 
     1273 
     1274            if ( isset( $_POST['delete'] ) && isset( $_GET['id'] ) ) { 
     1275                $result = wpmn_delete_network( (int)$_GET['id'], ( isset( $_POST['override'] ) ) ); 
     1276 
     1277                if ( is_a( $result, 'WP_Error' ) ) 
     1278                    wp_die( $result->get_error_message() ); 
     1279 
     1280                $_GET['deleted'] = 'yes'; 
     1281                $_GET['action'] = 'saved'; 
     1282 
     1283            } else { 
     1284 
     1285                /* get network by id */ 
     1286                $query = "SELECT * FROM {$wpdb->site} WHERE id=" . (int)$_GET['id']; 
     1287                $network = $wpdb->get_row( $wpdb->prepare( $query ) ); 
     1288 
     1289                if ( !$network ) 
     1290                    die( __( 'Invalid network id.' ) ); 
     1291 
     1292                $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id=" . (int)$_GET['id']; 
     1293                $sites = $wpdb->get_results( $wpdb->prepare( $query ) ); 
     1294 
     1295                /* strip off the action tag */ 
     1296                $query_str = substr( $_SERVER['REQUEST_URI'], 0, ( strpos( $_SERVER['REQUEST_URI'], '?' ) + 1 ) ); 
     1297                $get_params = array(); 
     1298 
     1299                foreach( $_GET as $get_param => $get_value ) { 
     1300                    if ( $get_param != 'action' ) 
     1301                        $get_params[] = $get_param . '=' . $get_value; 
     1302                } 
     1303                $query_str .= implode( '&', $get_params );?> 
    12541304            <form method="POST" action="<?php echo $query_str; ?>"> 
    12551305                <div> 
     
    12571307                    <h2><?php _e( 'Networks' ); ?></h2> 
    12581308                    <h3><?php _e( 'Delete Network' ); ?>: <?php echo $network->domain . $network->path; ?></h3> 
    1259 <?php if ( $sites ) { 
    1260     if ( RESCUE_ORPHANED_BLOGS && ENABLE_NETWORK_ZERO ) { 
    1261  ?> 
     1309                    <?php 
     1310                if ( $sites ) { 
     1311                    if ( RESCUE_ORPHANED_BLOGS && ENABLE_NETWORK_ZERO ) {?> 
    12621312                    <div id="message" class="error"> 
    12631313                        <p><?php _e('There are blogs associated with this network. ');  _e('Deleting it will move them to the holding network.'); ?></p> 
    12641314                        <p><label for="override"><?php _e('If you still want to delete this network, check the following box'); ?>:</label> <input type="checkbox" name="override" id="override" /></p> 
    12651315                    </div> 
    1266 <?php } else { ?> 
     1316                    <?php 
     1317                    } else { ?> 
    12671318                    <div id="message" class="error"> 
    12681319                        <p><?php _e('There are blogs associated with this network. '); _e('Deleting it will delete those blogs as well.'); ?></p> 
    12691320                        <p><label for="override"><?php _e('If you still want to delete this network, check the following box'); ?>:</label> <input type="checkbox" name="override" id="override" /></p> 
    12701321                    </div> 
    1271 <?php } ?> 
    1272 <?php } ?> 
     1322                    <?php 
     1323                    } 
     1324                } ?> 
    12731325                    <p><?php _e('Are you sure you want to delete this network?'); ?></p> 
    1274                     <input type="submit" name="delete" value="<?php _e('Delete Network'); ?>" class="button" /> <a href="./ms-admin.php?page=networks"><?php _e('Cancel'); ?></a> 
     1326                    <input type="submit" name="delete" value="<?php _e('Delete Network'); ?>" class="button" /> <a href="<?php echo $this->wpmn_admin_url();?>"><?php _e('Cancel'); ?></a> 
    12751327                </div> 
    12761328            </form> 
    1277 <?php 
    1278         } 
    1279     } 
    1280  
    1281     function wpmn_delete_multiple_network_page() { 
    1282  
    1283         global $wpdb; 
    1284  
    1285         if(isset($_POST['delete_multiple']) && isset($_POST['deleted_networks'])) { 
    1286             foreach($_POST['deleted_networks'] as $deleted_network) { 
    1287                 $result = wpmn_delete_network((int)$deleted_network,(isset($_POST['override']))); 
    1288                 if(is_a($result,'WP_Error')) { 
    1289                     wp_die($result->get_error_message()); 
    1290                 } 
    1291             } 
    1292             $_GET['deleted'] = 'yes'; 
    1293             $_GET['action'] = 'saved'; 
    1294         } else { 
    1295  
    1296             /** ensure a list of networks was sent */ 
    1297             if(!isset($_POST['allnetworks'])) { 
    1298                 wp_die(__('You have not selected any networks to delete.')); 
    1299             } 
    1300             $allnetworks = array_map(create_function('$val','return (int)$val;'),$_POST['allnetworks']); 
    1301  
    1302             /** ensure each network is valid */ 
    1303             foreach($allnetworks as $network) { 
    1304                 if(!wpmn_network_exists((int)$network)) { 
    1305                     wp_die(__('You have selected an invalid network for deletion.')); 
    1306                 } 
    1307             } 
    1308             /** remove primary network from list */ 
    1309             if(in_array(1,$allnetworks)) { 
    1310                 $sites = array(); 
     1329            <?php 
     1330            } 
     1331        } // wpmn_delete_network_page 
     1332 
     1333        function wpmn_delete_multiple_network_page() { 
     1334 
     1335            global $wpdb; 
     1336 
     1337            if(isset($_POST['delete_multiple']) && isset($_POST['deleted_networks'])) { 
     1338                foreach($_POST['deleted_networks'] as $deleted_network) { 
     1339                    $result = wpmn_delete_network((int)$deleted_network,(isset($_POST['override']))); 
     1340                    if(is_a($result,'WP_Error')) { 
     1341                        wp_die($result->get_error_message()); 
     1342                    } 
     1343                } 
     1344                $_GET['deleted'] = 'yes'; 
     1345                $_GET['action'] = 'saved'; 
     1346            } else { 
     1347 
     1348                /** ensure a list of networks was sent */ 
     1349                if(!isset($_POST['allnetworks'])) { 
     1350                    wp_die(__('You have not selected any networks to delete.')); 
     1351                } 
     1352                $allnetworks = array_map(create_function('$val','return (int)$val;'),$_POST['allnetworks']); 
     1353 
     1354                /** ensure each network is valid */ 
    13111355                foreach($allnetworks as $network) { 
    1312                     if($network != 1) $sites[] = $network; 
    1313                 } 
    1314                 $allnetworks = $sites; 
    1315             } 
    1316  
    1317             $query = "SELECT * FROM {$wpdb->site} WHERE id IN (" . implode(',',$allnetworks) . ')'; 
    1318             $network = $wpdb->get_results($query); 
    1319             if(!$network) { 
    1320                 wp_die(__('You have selected an invalid network or networks for deletion')); 
    1321             } 
    1322  
    1323             $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id IN (" . implode(',',$allnetworks) . ')'; 
    1324             $sites = $wpdb->get_results($query); 
    1325  
    1326 ?> 
    1327             <form method="POST" action="./ms-admin.php?page=networks"><div> 
     1356                    if(!wpmn_network_exists((int)$network)) { 
     1357                        wp_die(__('You have selected an invalid network for deletion.')); 
     1358                    } 
     1359                } 
     1360                /** remove primary network from list */ 
     1361                if(in_array(1,$allnetworks)) { 
     1362                    $sites = array(); 
     1363                    foreach($allnetworks as $network) { 
     1364                        if($network != 1) $sites[] = $network; 
     1365                    } 
     1366                    $allnetworks = $sites; 
     1367                } 
     1368 
     1369                $query = "SELECT * FROM {$wpdb->site} WHERE id IN (" . implode(',',$allnetworks) . ')'; 
     1370                $network = $wpdb->get_results( $wpdb->prepare( $query ) ); 
     1371                if(!$network) { 
     1372                    wp_die(__('You have selected an invalid network or networks for deletion')); 
     1373                } 
     1374 
     1375                $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id IN (" . implode(',',$allnetworks) . ')'; 
     1376                $sites = $wpdb->get_results($wpdb->prepare($query));?> 
     1377            <form method="POST" action="<?php echo $this->wpmn_admin_url();?>"><div> 
    13281378            <div id="icon-tools" class="icon32"></div> 
    13291379            <h2><?php _e('Networks') ?></h2> 
    13301380            <h3><?php _e('Delete Multiple Networks'); ?></h3> 
    1331 <?php 
    1332  
    1333             if ( $sites ) { 
    1334                 if ( RESCUE_ORPHANED_BLOGS && ENABLE_NETWORK_ZERO ) { 
    1335 ?> 
    1336  
     1381                <?php 
     1382                if ( $sites ) { 
     1383                    if ( RESCUE_ORPHANED_BLOGS && ENABLE_NETWORK_ZERO ) {?> 
    13371384            <div id="message" class="error"> 
    13381385                <h3><?php _e('You have selected the following networks for deletion'); ?>:</h3> 
    13391386                <ul> 
    1340 <?php foreach( $network as $deleted_network ) { ?> 
     1387                <?php 
     1388                foreach( $network as $deleted_network ) { ?> 
    13411389                    <li><input type="hidden" name="deleted_networks[]" value="<?php echo $deleted_network->id; ?>" /><?php echo $deleted_network->domain . $deleted_network->path ?></li> 
    1342 <?php } ?> 
     1390                <?php 
     1391                } ?> 
    13431392                </ul> 
    13441393                <p><?php _e('There are blogs associated with one or more of these networks.  Deleting them will move these blgos to the holding network.'); ?></p> 
    13451394                <p><label for="override"><?php _e('If you still want to delete these networks, check the following box'); ?>:</label> <input type="checkbox" name="override" id="override" /></p> 
    13461395            </div> 
    1347  
    1348 <?php } else { ?> 
    1349  
     1396                <?php  
     1397                } else { ?> 
    13501398            <div id="message" class="error"> 
    13511399                <h3><?php _e('You have selected the following networks for deletion'); ?>:</h3> 
    13521400                <ul> 
    1353 <?php foreach( $network as $deleted_network ) { ?> 
     1401                    <?php 
     1402                    foreach( $network as $deleted_network ) { ?> 
    13541403                    <li><input type="hidden" name="deleted_networks[]" value="<?php echo $deleted_network->id; ?>" /><?php echo $deleted_network->domain . $deleted_network->path ?></li> 
    1355 <?php } ?> 
     1404                    <?php 
     1405                    } ?> 
    13561406                </ul> 
    13571407                <p><?php _e('There are blogs associated with one or more of these networks.  Deleting them will delete those blogs as well.'); ?></p> 
    13581408                <p><label for="override"><?php _e('If you still want to delete these networks, check the following box'); ?>:</label> <input type="checkbox" name="override" id="override" /></p> 
    13591409            </div> 
    1360  
    1361 <?php 
    1362                 } 
    1363             } else { 
    1364  
    1365 ?> 
    1366  
     1410                    <?php 
     1411                    } 
     1412                } else { ?> 
    13671413            <div id="message"> 
    13681414                <h3><?php _e('You have selected the following networks for deletion'); ?>:</h3> 
    13691415                <ul> 
    1370 <?php foreach($network as $deleted_network) { ?> 
     1416                    <?php  
     1417                    foreach($network as $deleted_network) { ?> 
    13711418                    <li><input type="hidden" name="deleted_networks[]" value="<?php echo $deleted_network->id; ?>" /><?php echo $deleted_network->domain . $deleted_network->path ?></li> 
    1372 <?php } ?> 
     1419                    <?php                
     1420                    } ?> 
    13731421                </ul> 
    13741422            </div> 
    1375  
    1376 <?php 
    1377             } 
    1378 ?> 
     1423                <?php 
     1424                }?> 
    13791425                <p><?php _e('Are you sure you want to delete these networks?'); ?></p> 
    13801426                <input type="submit" name="delete_multiple" value="<?php _e('Delete Networks'); ?>" class="button" /> <input type="submit" name="cancel" value="<?php _e('Cancel'); ?>" class="button" /> 
    13811427            </div></form> 
    1382 <?php 
    1383         } 
    1384     } 
    1385 } 
    1386 endif; 
     1428            <?php 
     1429            } 
     1430        } // wpmn_delete_multiple_network_page 
     1431    } // class MS_Networks  
     1432endif; // if ( !class_exists( 'MS_Networks' ) ) 
    13871433 
    13881434$wp_multi_network = new MS_Networks(); 
    1389  
    1390 ?> 
Note: See TracChangeset for help on using the changeset viewer.