*/
/** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
if ( ! is_multisite() )
wp_die( __( 'Multisite support is not enabled.' ) );
get_current_screen()->set_help_sidebar(
'<p><strong>' . __('For more information:') . '</strong></p>' .
- '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screens" target="_blank">Documentation on Site Management</a>') . '</p>' .
- '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
+ '<p>' . __('<a href="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
+ '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
);
$id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
$details = get_blog_details( $id );
if ( !can_edit_network( $details->site_id ) )
- wp_die( __( 'You do not have permission to access this page.' ) );
+ wp_die( __( 'You do not have permission to access this page.' ), 403 );
+$parsed = parse_url( $details->siteurl );
$is_main_site = is_main_site( $id );
if ( isset($_REQUEST['action']) && 'update-site' == $_REQUEST['action'] ) {
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'] );
- if ( get_option( 'siteurl' ) != $blog_address )
- 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
+ // Rewrite rules can't be flushed during switch to blog.
delete_option( 'rewrite_rules' );
- // update blogs table
- $blog_data = stripslashes_deep( $_POST['blog'] );
+ // Update blogs table.
+ $blog_data = wp_unslash( $_POST['blog'] );
$existing_details = get_blog_details( $id, false );
$blog_data_checkboxes = array( 'public', 'archived', 'spam', 'mature', 'deleted' );
foreach ( $blog_data_checkboxes as $c ) {
}
update_blog_details( $id, $blog_data );
+ if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) {
+ $new_details = get_blog_details( $id, false );
+ $blog_address = esc_url_raw( $new_details->domain . $new_details->path );
+ if ( get_option( 'siteurl' ) != $blog_address ) {
+ update_option( 'siteurl', $blog_address );
+ }
+ if ( get_option( 'home' ) != $blog_address ) {
+ update_option( 'home', $blog_address );
+ }
+ }
+
restore_current_blog();
wp_redirect( add_query_arg( array( 'update' => 'updated', 'id' => $id ), 'site-info.php') );
exit;
}
$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http );
-$title = sprintf( __('Edit Site: %s'), $site_url_no_http );
+$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
+$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
$parent_file = 'sites.php';
$submenu_file = 'sites.php';
-require('../admin-header.php');
+require( ABSPATH . 'wp-admin/admin-header.php' );
?>
<div class="wrap">
-<?php screen_icon('ms-admin'); ?>
<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
<h3 class="nav-tab-wrapper">
<?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>';
+ 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>';
+ echo '<div id="message" class="updated notice is-dismissible"><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 if ( $is_main_site ) { ?>
+ <th scope="row"><?php _e( 'Domain' ) ?></th>
+ <td><code><?php echo $parsed['scheme'] . '://' . 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>
+ <th scope="row"><label for="domain"><?php _e( 'Domain' ) ?></label></th>
+ <td><?php echo $parsed['scheme'] . '://'; ?><input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr( $details->domain ) ?>" /></td>
<?php } ?>
</tr>
<tr class="form-field form-required">
- <th scope="row"><?php _e( 'Path' ) ?></th>
<?php if ( $is_main_site ) { ?>
+ <th scope="row"><?php _e( 'Path' ) ?></th>
<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 } ?>
+ <?php
+ } else {
+ switch_to_blog( $id );
+ ?>
+ <th scope="row"><label for="path"><?php _e( 'Path' ) ?></label></th>
+ <td>
+ <input name="blog[path]" type="text" id="path" value="<?php echo esc_attr( $details->path ) ?>" /><br />
+ <input type="checkbox" name="update_home_url" id="update_home_url" value="update" <?php if ( get_option( 'siteurl' ) == untrailingslashit( get_blogaddress_by_id ($id ) ) || get_option( 'home' ) == untrailingslashit( get_blogaddress_by_id( $id ) ) ) echo 'checked="checked"'; ?> /> <label for="update_home_url"><?php _e( 'Update <code>siteurl</code> and <code>home</code> as well.' ); ?></label>
+ </td>
+ <?php
+ restore_current_blog();
+ } ?>
</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>
+ <th scope="row"><label for="blog_registered"><?php _ex( 'Registered', 'site' ) ?></label></th>
+ <td><input name="blog[registered]" type="text" id="blog_registered" value="<?php echo esc_attr( $details->registered ) ?>" /></td>
</tr>
<tr class="form-field">
- <th scope="row"><?php _e( 'Last Updated' ); ?></th>
- <td><input name="blog[last_updated]" type="text" id="blog_last_updated" value="<?php echo esc_attr( $details->last_updated ) ?>" size="40" /></td>
+ <th scope="row"><label for="blog_last_updated"><?php _e( 'Last Updated' ); ?></label></th>
+ <td><input name="blog[last_updated]" type="text" id="blog_last_updated" value="<?php echo esc_attr( $details->last_updated ) ?>" /></td>
</tr>
<?php
$attribute_fields = array( 'public' => __( 'Public' ) );
<tr>
<th scope="row"><?php _e( 'Attributes' ); ?></th>
<td>
+ <fieldset>
+ <legend class="screen-reader-text"><?php _e( 'Set site attributes' ) ?></legend>
<?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; ?>
+ <fieldset>
</td>
</tr>
</table>
</div>
<?php
-require('../admin-footer.php');
+require( ABSPATH . 'wp-admin/admin-footer.php' );