2010-01-29 23:21:33 +00:00
<? php
2010-04-04 13:29:35 +00:00
/**
* My Sites dashboard.
*
* @package WordPress
* @subpackage Multisite
* @since 3.0.0
*/
2013-09-25 00:18:11 +00:00
require_once ( dirname ( __FILE__ ) . '/admin.php' );
2010-01-29 23:21:33 +00:00
if ( ! is_multisite () )
2010-04-01 21:21:27 +00:00
wp_die ( __ ( 'Multisite support is not enabled.' ) );
2010-01-29 23:21:33 +00:00
if ( ! current_user_can ( 'read' ) )
2010-04-01 21:21:27 +00:00
wp_die ( __ ( 'You do not have sufficient permissions to view this page.' ) );
2010-01-29 23:21:33 +00:00
2010-04-01 21:21:27 +00:00
$action = isset ( $_POST [ 'action' ] ) ? $_POST [ 'action' ] : 'splash' ;
2010-01-29 23:21:33 +00:00
2011-08-04 03:09:27 +00:00
$blogs = get_blogs_of_user ( $current_user -> ID );
2010-01-29 23:21:33 +00:00
$updated = false ;
if ( 'updateblogsettings' == $action && isset ( $_POST [ 'primary_blog' ] ) ) {
2010-04-01 21:21:27 +00:00
check_admin_referer ( 'update-my-sites' );
$blog = get_blog_details ( ( int ) $_POST [ 'primary_blog' ] );
if ( $blog && isset ( $blog -> domain ) ) {
2011-08-04 03:09:27 +00:00
update_user_option ( $current_user -> ID , 'primary_blog' , ( int ) $_POST [ 'primary_blog' ], true );
2010-04-01 21:21:27 +00:00
$updated = true ;
} else {
2010-05-03 20:26:11 +00:00
wp_die ( __ ( 'The primary site you chose does not exist.' ) );
2010-04-01 21:21:27 +00:00
}
2010-01-29 23:21:33 +00:00
}
2010-04-01 21:21:27 +00:00
$title = __ ( 'My Sites' );
2010-01-29 23:21:33 +00:00
$parent_file = 'index.php' ;
2010-05-27 21:20:23 +00:00
2011-12-01 02:22:07 +00:00
get_current_screen () -> add_help_tab ( array (
'id' => 'overview' ,
'title' => __ ( 'Overview' ),
'content' =>
2013-11-25 02:05:10 +00:00
'<p>' . __ ( 'This screen shows an individual user all of their sites in this network, and also allows that user to set a primary site. They can use the links under each site to visit either the frontend or the dashboard for that site.' ) . '</p>' .
2011-12-01 02:22:07 +00:00
'<p>' . __ ( 'Up until WordPress version 3.0, what is now called a Multisite Network had to be installed separately as WordPress MU (multi-user).' ) . '</p>'
) );
2011-11-02 20:54:56 +00:00
get_current_screen () -> set_help_sidebar (
2010-05-27 21:20:23 +00:00
'<p><strong>' . __ ( 'For more information:' ) . '</strong></p>' .
2011-04-28 15:24:49 +00:00
'<p>' . __ ( '<a href="http://codex.wordpress.org/Dashboard_My_Sites_Screen" target="_blank">Documentation on My Sites</a>' ) . '</p>' .
2014-03-08 04:14:15 +00:00
'<p>' . __ ( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
2010-05-27 21:20:23 +00:00
);
2013-09-25 00:18:11 +00:00
require_once ( ABSPATH . 'wp-admin/admin-header.php' );
2010-01-29 23:21:33 +00:00
if ( $updated ) { ?>
2010-04-08 03:36:52 +00:00
<div id="message" class="updated"><p><strong><?php _e( 'Settings saved.' ); ?></strong></p></div>
2010-01-29 23:21:33 +00:00
<?php } ?>
<div class="wrap">
2010-05-18 04:58:18 +00:00
<h2><?php echo esc_html( $title ); ?></h2>
2011-11-17 18:52:58 +00:00
<?php
if ( empty( $blogs ) ) :
echo '<p>';
_e( 'You must be a member of at least one site to use this page.' );
echo '</p>';
else :
?>
2010-01-29 23:21:33 +00:00
<form id="myblogs" action="" method="post">
<?php
choose_primary_blog();
2013-11-20 03:36:09 +00:00
/**
* Fires before the sites table on the My Sites screen.
*
* @since 3.0.0
*/
2010-01-29 23:21:33 +00:00
do_action( 'myblogs_allblogs_options' );
2010-04-01 21:21:27 +00:00
?>
<br clear="all" />
2015-01-14 22:14:22 +00:00
<table class="widefat fixed striped">
2010-04-01 21:21:27 +00:00
<?php
2013-11-20 03:36:09 +00:00
/**
* Enable the Global Settings section on the My Sites screen.
*
* By default, the Global Settings section is hidden. Passing a non-empty
* string to this filter will enable the section, and allow new settings
* to be added, either globally or for specific sites.
*
* @since MU
*
* @param string $settings_html The settings HTML markup. Default empty.
* @param object $context Context of the setting (global or site-specific). Default 'global'.
*/
2010-01-29 23:21:33 +00:00
$settings_html = apply_filters( 'myblogs_options', '', 'global' );
if ( $settings_html != '' ) {
2014-01-24 19:06:15 +00:00
echo '<tr><td><h3>' . __( 'Global Settings' ) . '</h3></td><td>';
2010-01-29 23:21:33 +00:00
echo $settings_html;
2010-04-11 10:41:54 +00:00
echo '</td></tr>';
2010-01-29 23:21:33 +00:00
}
reset( $blogs );
$num = count( $blogs );
$cols = 1;
if ( $num >= 20 )
$cols = 4;
elseif ( $num >= 10 )
$cols = 2;
2010-04-01 21:21:27 +00:00
$num_rows = ceil( $num / $cols );
2010-01-29 23:21:33 +00:00
$split = 0;
for ( $i = 1; $i <= $num_rows; $i++ ) {
$rows[] = array_slice( $blogs, $split, $cols );
$split = $split + $cols;
}
foreach ( $rows as $row ) {
2015-01-14 22:14:22 +00:00
echo "<tr>";
2010-04-01 21:21:27 +00:00
$i = 0;
2010-01-29 23:21:33 +00:00
foreach ( $row as $user_blog ) {
2010-04-01 21:21:27 +00:00
$s = $i == 3 ? '' : 'border-right: 1px solid #ccc;';
2014-01-24 19:06:15 +00:00
echo "<td style='$s'>";
2010-01-29 23:21:33 +00:00
echo "<h3>{$user_blog->blogname}</h3>";
2013-11-20 03:36:09 +00:00
/**
* Filter the row links displayed for each site on the My Sites screen.
*
* @since MU
*
* @param string $string The HTML site link markup.
* @param object $user_blog An object containing the site data.
*/
2010-05-03 18:16:22 +00:00
echo "<p>" . apply_filters( 'myblogs_blog_actions', "<a href='" . esc_url( get_home_url( $user_blog->userblog_id ) ). "'>" . __( 'Visit' ) . "</a> | <a href='" . esc_url( get_admin_url( $user_blog->userblog_id ) ) . "'>" . __( 'Dashboard' ) . "</a>", $user_blog ) . "</p>";
2013-11-20 03:36:09 +00:00
/** This filter is documented in wp-admin/my-sites.php */
2010-01-29 23:21:33 +00:00
echo apply_filters( 'myblogs_options', '', $user_blog );
echo "</td>";
2010-04-01 21:21:27 +00:00
$i++;
2010-01-29 23:21:33 +00:00
}
echo "</tr>";
}?>
</table>
<input type="hidden" name="action" value="updateblogsettings" />
2010-04-01 21:21:27 +00:00
<?php wp_nonce_field( 'update-my-sites' ); ?>
2010-10-28 21:56:43 +00:00
<?php submit_button(); ?>
2010-01-29 23:21:33 +00:00
</form>
2011-11-17 18:52:58 +00:00
<?php endif; ?>
2010-01-29 23:21:33 +00:00
</div>
<?php
2013-09-25 00:18:11 +00:00
include( ABSPATH . 'wp-admin/admin-footer.php' );