2010-10-21 14:35:52 -04:00
< ? php
/**
* Edit Site Info Administration Screen
*
* @ package WordPress
2010-11-10 09:27:15 -05:00
* @ subpackage Multisite
2010-10-21 14:35:52 -04:00
* @ since 3.1 . 0
*/
/** Load WordPress Administration Bootstrap */
2010-11-10 09:27:15 -05:00
require_once ( './admin.php' );
2010-10-21 14:35:52 -04:00
if ( ! is_multisite () )
wp_die ( __ ( 'Multisite support is not enabled.' ) );
if ( ! current_user_can ( 'manage_sites' ) )
wp_die ( __ ( 'You do not have sufficient permissions to edit this site.' ));
2010-12-16 01:52:47 -05:00
add_contextual_help ( $current_screen ,
'<p>' . __ ( 'The menu is for editing information specific to individual sites, particularly if the admin area of a site is unavailable.' ) . '</p>' .
'<p>' . __ ( '<strong>Info</strong> The domain and path are rarely edited as this can cause the site to not work properly. The Registered date and Last Updated date are displayed. Network admins can mark a site as Archived, Spammed, Deleted and Mature, to remove from public listings or disable.' ) . '</p>' .
'<p>' . __ ( 'See the contextual help on the next tab. ' ) . '</p>' .
'<p><strong>' . __ ( 'For more information:' ) . '</strong></p>' .
2010-12-16 02:07:42 -05:00
'<p>' . __ ( '<a href="http://codex.wordpress.org/Super_Admin_Options_SubPanel" target="_blank">Documentation on Network Settings</a>' ) . '</p>' .
2010-12-16 01:52:47 -05:00
'<p>' . __ ( '<a href="http://wordpress.org/support/multisite/" target="_blank">Support Forums</a>' ) . '</p>'
);
2010-10-21 14:35:52 -04:00
$id = isset ( $_REQUEST [ 'id' ] ) ? intval ( $_REQUEST [ 'id' ] ) : 0 ;
if ( ! $id )
wp_die ( __ ( 'Invalid site ID.' ) );
$details = get_blog_details ( $id );
2010-12-09 07:36:39 -05:00
if ( ! can_edit_network ( $details -> site_id ) )
2010-10-21 14:35:52 -04:00
wp_die ( __ ( 'You do not have permission to access this page.' ) );
$is_main_site = is_main_site ( $id );
if ( isset ( $_REQUEST [ 'action' ]) && 'update-site' == $_REQUEST [ 'action' ] ) {
check_admin_referer ( 'edit-site' );
switch_to_blog ( $id );
if ( isset ( $_POST [ 'update_home_url' ] ) && $_POST [ 'update_home_url' ] == 'update' ) {
$blog_address = get_blogaddress_by_domain ( $_POST [ 'blog' ][ 'domain' ], $_POST [ 'blog' ][ 'path' ] );
2010-11-11 11:57:22 -05:00
if ( get_option ( 'siteurl' ) != $blog_address )
2010-10-21 14:35:52 -04:00
update_option ( 'siteurl' , $blog_address );
if ( get_option ( 'home' ) != $blog_address )
update_option ( 'home' , $blog_address );
}
// rewrite rules can't be flushed during switch to blog
delete_option ( 'rewrite_rules' );
// update blogs table
$blog_data = stripslashes_deep ( $_POST [ 'blog' ] );
2010-10-21 16:23:54 -04:00
$existing_details = get_blog_details ( $id , false );
$blog_data_checkboxes = array ( 'public' , 'archived' , 'spam' , 'mature' , 'deleted' );
foreach ( $blog_data_checkboxes as $c ) {
if ( ! in_array ( $existing_details -> $c , array ( 0 , 1 ) ) )
$blog_data [ $c ] = $existing_details -> $c ;
else
$blog_data [ $c ] = isset ( $_POST [ 'blog' ][ $c ] ) ? 1 : 0 ;
}
2010-10-21 14:35:52 -04:00
update_blog_details ( $id , $blog_data );
restore_current_blog ();
wp_redirect ( add_query_arg ( array ( 'update' => 'updated' , 'id' => $id ), 'site-info.php' ) );
2010-12-09 13:02:54 -05:00
exit ;
2010-10-21 14:35:52 -04:00
}
if ( isset ( $_GET [ 'update' ]) ) {
$messages = array ();
if ( 'updated' == $_GET [ 'update' ] )
$messages [] = __ ( 'Site info updated.' );
}
$title = sprintf ( __ ( 'Edit Site: %s' ), get_blogaddress_by_id ( $id ));
$parent_file = 'sites.php' ;
$submenu_file = 'sites.php' ;
require ( '../admin-header.php' );
?>
< div class = " wrap " >
2010-10-21 16:24:54 -04:00
< ? php screen_icon ( 'ms-admin' ); ?>
2010-10-21 14:35:52 -04:00
< h2 id = " edit-site " >< ? php echo $title ?> </h2>
2010-10-25 16:45:58 -04:00
< h3 class = " nav-tab-wrapper " >
2010-10-21 14:35:52 -04:00
< ? php
$tabs = array ( 'site-info' => array ( 'label' => __ ( 'Info' ), 'url' => 'site-info.php' ), 'site-options' => array ( 'label' => __ ( 'Options' ), 'url' => 'site-options.php' ),
'site-users' => array ( 'label' => __ ( 'Users' ), 'url' => 'site-users.php' ), 'site-themes' => array ( 'label' => __ ( 'Themes' ), 'url' => 'site-themes.php' ));
foreach ( $tabs as $tab_id => $tab ) {
$class = ( $tab [ 'url' ] == $pagenow ) ? ' nav-tab-active' : '' ;
echo '<a href="' . $tab [ 'url' ] . '?id=' . $id . '" class="nav-tab' . $class . '">' . esc_html ( $tab [ 'label' ] ) . '</a>' ;
}
?>
</ h3 >
< ? php
if ( ! empty ( $messages ) ) {
foreach ( $messages as $msg )
echo '<div id="message" class="updated"><p>' . $msg . '</p></div>' ;
} ?>
< form method = " post " action = " site-info.php?action=update-site " >
< ? php wp_nonce_field ( 'edit-site' ); ?>
< input type = " hidden " name = " id " value = " <?php echo esc_attr( $id ) ?> " />
< table class = " form-table " >
< tr class = " form-field form-required " >
< th scope = " row " >< ? php _e ( 'Domain' ) ?> </th>
< ? php
$protocol = is_ssl () ? 'https://' : 'http://' ;
if ( $is_main_site ) { ?>
< td >< code >< ? php echo $protocol ; echo esc_attr ( $details -> domain ) ?> </code></td>
< ? php } else { ?>
< td >< ? php echo $protocol ; ?> <input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr( $details->domain ) ?>" size="33" /></td>
< ? php } ?>
</ tr >
< tr class = " form-field form-required " >
< th scope = " row " >< ? php _e ( 'Path' ) ?> </th>
< ? php if ( $is_main_site ) { ?>
< td >< code >< ? php echo esc_attr ( $details -> path ) ?> </code></td>
< ? php } else { ?>
< td >< input name = " blog[path] " type = " text " id = " path " value = " <?php echo esc_attr( $details->path ) ?> " size = " 40 " style = 'margin-bottom:5px;' />
< br />< input type = " checkbox " style = " width:20px; " name = " update_home_url " value = " update " < ? php if ( get_blog_option ( $id , 'siteurl' ) == untrailingslashit ( get_blogaddress_by_id ( $id ) ) || get_blog_option ( $id , 'home' ) == untrailingslashit ( get_blogaddress_by_id ( $id ) ) ) echo 'checked="checked"' ; ?> /> <?php _e( 'Update <code>siteurl</code> and <code>home</code> as well.' ); ?></td>
< ? php } ?>
</ tr >
< tr class = " form-field " >
< th scope = " row " >< ? php _ex ( 'Registered' , 'site' ) ?> </th>
< td >< input name = " blog[registered] " type = " text " id = " blog_registered " value = " <?php echo esc_attr( $details->registered ) ?> " size = " 40 " /></ td >
</ tr >
< tr class = " form-field " >
2010-10-21 16:23:54 -04:00
< th scope = " row " >< ? php _e ( 'Last Updated' ); ?> </th>
2010-10-21 14:35:52 -04:00
< td >< input name = " blog[last_updated] " type = " text " id = " blog_last_updated " value = " <?php echo esc_attr( $details->last_updated ) ?> " size = " 40 " /></ td >
</ tr >
< ? php
2010-10-21 16:23:54 -04:00
$attribute_fields = array ( 'public' => __ ( 'Public' ) );
2010-10-21 14:35:52 -04:00
if ( ! $is_main_site ) {
2010-10-21 16:23:54 -04:00
$attribute_fields [ 'archived' ] = __ ( 'Archived' );
$attribute_fields [ 'spam' ] = _x ( 'Spam' , 'site' );
$attribute_fields [ 'deleted' ] = __ ( 'Deleted' );
2010-10-21 14:35:52 -04:00
}
2010-10-21 16:23:54 -04:00
$attribute_fields [ 'mature' ] = __ ( 'Mature' );
2010-10-21 14:35:52 -04:00
?>
< tr >
2010-10-21 16:23:54 -04:00
< th scope = " row " >< ? php _e ( 'Attributes' ); ?> </th>
2010-10-21 14:35:52 -04:00
< td >
2010-10-21 16:23:54 -04:00
< ? php foreach ( $attribute_fields as $field_key => $field_label ) : ?>
< label >< input type = " checkbox " name = " blog[<?php echo $field_key ; ?>] " value = " 1 " < ? php checked ( ( bool ) $details -> $field_key , true ); disabled ( ! in_array ( $details -> $field_key , array ( 0 , 1 ) ) ); ?> />
< ? php echo $field_label ; ?> </label><br/>
< ? php endforeach ; ?>
2010-10-21 14:35:52 -04:00
</ td >
</ tr >
</ table >
< ? php submit_button (); ?>
</ form >
</ div >
< ? php
2010-11-11 11:57:22 -05:00
require ( '../admin-footer.php' );