mirror of
https://github.com/WordPress/WordPress.git
synced 2024-12-23 01:27:36 +01:00
Introduce can_edit_site to replace inline checks on whether or not the site_id is for the current Network. See #15716.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16764 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
1bb4914c3a
commit
381a4f7750
@ -217,11 +217,12 @@ class WP_MS_Users_List_Table extends WP_List_Table {
|
||||
echo "<td $attributes>";
|
||||
if ( is_array( $blogs ) ) {
|
||||
foreach ( (array) $blogs as $key => $val ) {
|
||||
if ( $current_site->id != $val->site_id ) continue;
|
||||
if ( !can_edit_site( $val->site_id ) )
|
||||
continue;
|
||||
|
||||
$path = ( $val->path == '/' ) ? '' : $val->path;
|
||||
$path = ( $val->path == '/' ) ? '' : $val->path;
|
||||
echo '<a href="'. esc_url( network_admin_url( 'site-info.php?id=' . $val->userblog_id ) ) .'">' . str_replace( '.' . $current_site->domain, '', $val->domain . $path ) . '</a>';
|
||||
echo ' <small class="row-actions">';
|
||||
echo ' <small class="row-actions site-' . $val->site_id . '">';
|
||||
$actions = array();
|
||||
$actions['edit'] = '<a href="'. esc_url( network_admin_url( 'site-info.php?id=' . $val->userblog_id ) ) .'">' . __( 'Edit' ) . '</a>';
|
||||
|
||||
|
@ -721,4 +721,22 @@ function revoke_super_admin( $user_id ) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Whether or not we can edit this site from this page
|
||||
*
|
||||
* By default editing of sites is restricted to the Network Admin for that site_id this allows for this to be overridden
|
||||
*
|
||||
* @since 3.1.0
|
||||
* @param integer $site_id The site id to check.
|
||||
*/
|
||||
function can_edit_site( $site_id ) {
|
||||
global $wpdb;
|
||||
|
||||
if ($site_id == $wpdb->siteid )
|
||||
$result = true;
|
||||
else
|
||||
$result = false;
|
||||
|
||||
return apply_filters( 'can_edit_site', $result, $site_id );
|
||||
}
|
||||
?>
|
||||
|
@ -22,7 +22,7 @@ if ( ! $id )
|
||||
wp_die( __('Invalid site ID.') );
|
||||
|
||||
$details = get_blog_details( $id );
|
||||
if ( $details->site_id != $wpdb->siteid )
|
||||
if ( !can_edit_site( $details->site_id ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
$is_main_site = is_main_site( $id );
|
||||
|
@ -22,7 +22,7 @@ if ( ! $id )
|
||||
wp_die( __('Invalid site ID.') );
|
||||
|
||||
$details = get_blog_details( $id );
|
||||
if ( $details->site_id != $wpdb->siteid )
|
||||
if ( !can_edit_site( $details->site_id ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
$is_main_site = is_main_site( $id );
|
||||
|
@ -31,7 +31,7 @@ if ( ! $id )
|
||||
$wp_list_table->prepare_items();
|
||||
|
||||
$details = get_blog_details( $id );
|
||||
if ( $details->site_id != $wpdb->siteid )
|
||||
if ( !can_edit_site( $details->site_id ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
$is_main_site = is_main_site( $id );
|
||||
|
@ -28,7 +28,7 @@ if ( ! $id )
|
||||
wp_die( __('Invalid site ID.') );
|
||||
|
||||
$details = get_blog_details( $id );
|
||||
if ( $details->site_id != $wpdb->siteid )
|
||||
if ( !can_edit_site( $details->site_id ) )
|
||||
wp_die( __( 'You do not have permission to access this page.' ) );
|
||||
|
||||
$is_main_site = is_main_site( $id );
|
||||
|
Loading…
Reference in New Issue
Block a user