X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/96bc8e88cf39086a9e0a883b8e2c311fe82a5e97..4713a14935b83517997f3c88f808eb41da55033d:/wp-admin/includes/class-wp-ms-sites-list-table.php diff --git a/wp-admin/includes/class-wp-ms-sites-list-table.php b/wp-admin/includes/class-wp-ms-sites-list-table.php index 73ce8898..fcabfd77 100644 --- a/wp-admin/includes/class-wp-ms-sites-list-table.php +++ b/wp-admin/includes/class-wp-ms-sites-list-table.php @@ -9,9 +9,10 @@ */ class WP_MS_Sites_List_Table extends WP_List_Table { - function __construct() { + function __construct( $args = array() ) { parent::__construct( array( 'plural' => 'sites', + 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); } @@ -20,7 +21,9 @@ class WP_MS_Sites_List_Table extends WP_List_Table { } function prepare_items() { - global $s, $mode, $wpdb, $current_site; + global $s, $mode, $wpdb; + + $current_site = get_current_site(); $mode = ( empty( $_REQUEST['mode'] ) ) ? 'list' : $_REQUEST['mode']; @@ -28,7 +31,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table { $pagenum = $this->get_pagenum(); - $s = isset( $_REQUEST['s'] ) ? stripslashes( trim( $_REQUEST[ 's' ] ) ) : ''; + $s = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST[ 's' ] ) ) : ''; $wild = ''; if ( false !== strpos($s, '*') ) { $wild = '%'; @@ -153,6 +156,14 @@ class WP_MS_Sites_List_Table extends WP_List_Table { if ( has_filter( 'wpmublogsaction' ) ) $sites_columns['plugins'] = __( 'Actions' ); + /** + * Filter the displayed site columns in Sites list table. + * + * @since MU + * + * @param array $sites_columns An array of displayed site columns. Default 'cb', + * 'blogname', 'lastupdated', 'registered', 'users'. + */ $sites_columns = apply_filters( 'wpmu_blogs_columns', $sites_columns ); return $sites_columns; @@ -167,7 +178,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table { } function display_rows() { - global $current_site, $mode; + global $mode; $status_list = array( 'archived' => array( 'site-archived', __( 'Archived' ) ), @@ -201,7 +212,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table { } echo ""; - $blogname = ( is_subdomain_install() ) ? str_replace( '.'.$current_site->domain, '', $blog['domain'] ) : $blog['path']; + $blogname = ( is_subdomain_install() ) ? str_replace( '.' . get_current_site()->domain, '', $blog['domain'] ) : $blog['path']; list( $columns, $hidden ) = $this->get_column_info(); @@ -213,13 +224,16 @@ class WP_MS_Sites_List_Table extends WP_List_Table { switch ( $column_name ) { case 'cb': ?> + + + - + "; ?> ' . sprintf( _x( '%1$s – %2$s', '%1$s: site name. %2$s: site tagline.' ), get_blog_option( $blog['blog_id'], 'blogname' ), get_blog_option( $blog['blog_id'], 'blogdescription ' ) ) . '

'; + if ( 'list' != $mode ) { + switch_to_blog( $blog['blog_id'] ); + echo '

' . sprintf( _x( '%1$s – %2$s', '%1$s: site name. %2$s: site tagline.' ), get_option( 'blogname' ), get_option( 'blogdescription ' ) ) . '

'; + restore_current_blog(); + } // Preordered. $actions = array( @@ -244,14 +261,14 @@ class WP_MS_Sites_List_Table extends WP_List_Table { $actions['edit'] = '' . __( 'Edit' ) . ''; $actions['backend'] = "" . __( 'Dashboard' ) . ''; - if ( $current_site->blog_id != $blog['blog_id'] ) { + if ( get_current_site()->blog_id != $blog['blog_id'] ) { if ( get_blog_status( $blog['blog_id'], 'deleted' ) == '1' ) $actions['activate'] = '' . __( 'Activate' ) . ''; else $actions['deactivate'] = '' . __( 'Deactivate' ) . ''; if ( get_blog_status( $blog['blog_id'], 'archived' ) == '1' ) - $actions['unarchive'] = '' . __( 'Unarchive' ) . ''; + $actions['unarchive'] = '' . __( 'Unarchive' ) . ''; else $actions['archive'] = '' . _x( 'Archive', 'verb; site' ) . ''; @@ -264,8 +281,23 @@ class WP_MS_Sites_List_Table extends WP_List_Table { $actions['delete'] = '' . __( 'Delete' ) . ''; } - $actions['visit'] = "" . __( 'Visit' ) . ''; - + $actions['visit'] = "" . __( 'Visit' ) . ''; + + /** + * Filter the action links displayed for each site in the Sites list table. + * + * The 'Edit', 'Dashboard', 'Delete', and 'Visit' links are displayed by + * default for each site. The site's status determines whether to show the + * 'Activate' or 'Deactivate' link, 'Unarchive' or 'Archive' links, and + * 'Not Spam' or 'Spam' link for each site. + * + * @since 3.1.0 + * + * @param array $actions An array of action links to be displayed. + * @param int $blog_id The site ID. + * @param string $blogname Site path, formatted depending on whether it is a sub-domain + * or subdirectory multisite install. + */ $actions = apply_filters( 'manage_sites_action_links', array_filter( $actions ), $blog['blog_id'], $blogname ); echo $this->row_actions( $actions ); ?> @@ -274,7 +306,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table { break; case 'lastupdated': - echo ""; + echo ""; if ( 'list' == $mode ) $date = 'Y/m/d'; else @@ -284,7 +316,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table { "; + echo ""; if ( $blog['registered'] == '0000-00-00 00:00:00' ) echo '—'; else @@ -294,7 +326,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table { "; + echo ""; $blogusers = get_users( array( 'blog_id' => $blog['blog_id'], 'number' => 6) ); if ( is_array( $blogusers ) ) { $blogusers_warning = ''; @@ -318,7 +350,16 @@ class WP_MS_Sites_List_Table extends WP_List_Table { case 'plugins': ?> "; + echo ""; + /** + * Fires inside the auxiliary 'Actions' column of the Sites list table. + * + * By default this column is hidden unless something is hooked to the action. + * + * @since MU + * + * @param int $blog_id The site ID. + */ do_action( 'wpmublogsaction', $blog['blog_id'] ); ?> "; + /** + * Fires for each registered custom column in the Sites list table. + * + * @since 3.1.0 + * + * @param string $column_name The name of the column to display. + * @param int $blog_id The site ID. + */ do_action( 'manage_sites_custom_column', $column_name, $blog['blog_id'] ); echo ""; break; @@ -337,5 +386,3 @@ class WP_MS_Sites_List_Table extends WP_List_Table { } } } - -?>