diff --git a/wp-admin/includes/dashboard.php b/wp-admin/includes/dashboard.php index 98c6224314..9cb8bb4e59 100644 --- a/wp-admin/includes/dashboard.php +++ b/wp-admin/includes/dashboard.php @@ -22,7 +22,7 @@ function wp_dashboard_setup() { /* Register Widgets and Controls */ // Recent Comments Widget - if ( $mod_comments = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'") ) { + if ( current_user_can( 'moderate_comments' ) && $mod_comments = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'") ) { $notice = sprintf( __ngettext( '%d comment awaiting moderation', '%d comments awaiting moderation', $mod_comments ), $mod_comments ); $notice = "$notice"; } else { @@ -127,7 +127,13 @@ function wp_dashboard_setup() { do_action( 'wp_dashboard_setup' ); // Hard code the sidebar's widgets and order - $dashboard_widgets = array( 'dashboard_recent_comments', 'dashboard_incoming_links', 'dashboard_primary', 'dashboard_plugins', 'dashboard_secondary' ); + $dashboard_widgets = array(); + $dashboard_widgets[] = 'dashboard_recent_comments'; + $dashboard_widgets[] = 'dashboard_incoming_links'; + $dashboard_widgets[] = 'dashboard_primary'; + if ( current_user_can( 'activate_plugins' ) ) + $dashboard_widgets[] = 'dashboard_plugins'; + $dashboard_widgets[] = 'dashboard_secondary'; // Filter widget order $dashboard_widgets = apply_filters( 'wp_dashboard_widgets', $dashboard_widgets ); diff --git a/wp-admin/index.php b/wp-admin/index.php index 97d6b4d872..fb05ba2335 100644 --- a/wp-admin/index.php +++ b/wp-admin/index.php @@ -39,7 +39,16 @@ $today = current_time('mysql', 1);

-


+

+ + + + + + + +
+

publish) ) { - $post_type_texts[] = ''.sprintf( __ngettext( '%s post', '%s posts', $num_posts->publish ), number_format_i18n( $num_posts->publish ) ).''; +if ( !empty($num_posts->publish) ) { // with feeds, anyone can tell how many posts there are. Just unlink if !current_user_can + $post_text = sprintf( __ngettext( '%s post', '%s posts', $num_posts->publish ), number_format_i18n( $num_posts->publish ) ); + $post_type_texts[] = $can_edit_posts ? "$post_text" : $post_text; } -if ( !empty($num_pages->publish) ) { +if ( $can_edit_pages && !empty($num_pages->publish) ) { // how many pages is not exposed in feeds. Don't show if !current_user_can $post_type_texts[] = ''.sprintf( __ngettext( '%s page', '%s pages', $num_pages->publish ), number_format_i18n( $num_pages->publish ) ).''; } -if ( !empty($num_posts->draft) ) { +if ( $can_edit_posts && !empty($num_posts->draft) ) { $post_type_texts[] = ''.sprintf( __ngettext( '%s draft', '%s drafts', $num_posts->draft ), number_format_i18n( $num_posts->draft ) ).''; } -if ( !empty($num_posts->future) ) { +if ( $can_edit_posts && !empty($num_posts->future) ) { $post_type_texts[] = ''.sprintf( __ngettext( '%s scheduled post', '%s scheduled posts', $num_posts->future ), number_format_i18n( $num_posts->future ) ).''; } -$cats_text = ''.sprintf( __ngettext( '%s category', '%s categories', $num_cats ), number_format_i18n( $num_cats ) ).''; -$tags_text = ''.sprintf( __ngettext( '%s tag', '%s tags', $num_tags ), number_format_i18n( $num_tags ) ).''; +$cats_text = sprintf( __ngettext( '%s category', '%s categories', $num_cats ), number_format_i18n( $num_cats ) ); +$tags_text = sprintf( __ngettext( '%s tag', '%s tags', $num_tags ), number_format_i18n( $num_tags ) ); +if ( current_user_can( 'manage_categories' ) ) { + $cats_text = "$cats_text"; + $tags_text = "$tags_text"; +} $post_type_text = implode(', ', $post_type_texts); @@ -79,8 +93,17 @@ $ct = current_theme_info(); $sidebars_widgets = wp_get_sidebars_widgets(); $num_widgets = array_reduce( $sidebars_widgets, create_function( '$prev, $curr', 'return $prev+count($curr);' ) ); $widgets_text = sprintf( __ngettext( '%d widget', '%d widgets', $num_widgets ), $num_widgets ); +if ( $can_switch_themes = current_user_can( 'switch_themes' ) ) + $widgets_text = "$widgets_text"; ?> -

title, "$widgets_text" ); ?>

+

+ title, $widgets_text ); ?> + + + + +

+