Make WordPress Core

Ticket #25824: 25824.3.diff

File 25824.3.diff, 100.9 KB (added by lessbloat, 10 years ago)
  • wp-includes/default-widgets.php

     
    904904                if ( $link == '' ) {
    905905                        echo "<li>$title{$date}{$summary}{$author}</li>";
    906906                } else {
    907                         echo "<li><a class='rsswidget' href='$link' title='$desc'>$title</a>{$date}{$summary}{$author}</li>";
     907                        echo "<li><div class='rss-title-row'><a class='rsswidget' href='$link' title='$desc'>$title</a>{$date}</div>{$summary}{$author}</li>";
    908908                }
    909909        }
    910910        echo '</ul>';
  • wp-admin/includes/ajax-actions.php

     
    234234        require_once ABSPATH . 'wp-admin/includes/dashboard.php';
    235235
    236236        switch ( $_GET['widget'] ) {
    237                 case 'dashboard_incoming_links' :
    238                         wp_dashboard_incoming_links();
     237                case 'dashboard_rss' :
     238                        wp_dashboard_rss();
    239239                        break;
    240                 case 'dashboard_primary' :
    241                         wp_dashboard_primary();
    242                         break;
    243                 case 'dashboard_secondary' :
    244                         wp_dashboard_secondary();
    245                         break;
    246                 case 'dashboard_plugins' :
    247                         wp_dashboard_plugins();
    248                         break;
    249240        }
    250241        wp_die();
    251242}
  • wp-admin/includes/dashboard.php

     
    66 * @subpackage Administration
    77 */
    88
     9/* Temporary hack until MP6 is in core
     10 * MP6 currently unenqueues wp-admin/css/wp-admin.css
     11 * After MP6 merges:
     12 * - add the styles in temporary-dash-styles.css to wp-admin.css
     13 * - add the styles in temporary-dash-styles-rtl.css to wp-admin-rtl.css
     14 * - and DELETE THIS FUNCTION,
     15 */
     16function temporary_dash_styles() {
     17        wp_add_inline_style( 'wp-admin', file_get_contents( ABSPATH . 'wp-admin/css/temporary-dash-styles.css' ) );
     18}
     19add_action( 'admin_enqueue_scripts', 'temporary_dash_styles' );
     20
    921/**
    1022 * Registers dashboard widgets.
    1123 *
     
    3749
    3850        // Right Now
    3951        if ( is_blog_admin() && current_user_can('edit_posts') )
    40                 wp_add_dashboard_widget( 'dashboard_right_now', __( 'Right Now' ), 'wp_dashboard_right_now' );
     52                add_meta_box( 'dash-right-now', 'Site Content', 'dashboard_new_right_now', 'dashboard', 'normal', 'high' );
    4153
    4254        if ( is_network_admin() )
    4355                wp_add_dashboard_widget( 'network_dashboard_right_now', __( 'Right Now' ), 'wp_network_dashboard_right_now' );
    4456
    45         // Recent Comments Widget
    46         if ( is_blog_admin() && current_user_can('moderate_comments') ) {
    47                 if ( !isset( $widget_options['dashboard_recent_comments'] ) || !isset( $widget_options['dashboard_recent_comments']['items'] ) ) {
    48                         $update = true;
    49                         $widget_options['dashboard_recent_comments'] = array(
    50                                 'items' => 5,
    51                         );
    52                 }
    53                 $recent_comments_title = __( 'Recent Comments' );
    54                 wp_add_dashboard_widget( 'dashboard_recent_comments', $recent_comments_title, 'wp_dashboard_recent_comments', 'wp_dashboard_recent_comments_control' );
    55         }
     57        // Activity Widget
     58        add_meta_box( 'dashboard_activity', __( 'Activity' ), 'wp_dashboard_activity', 'dashboard', 'normal', 'high' );
    5659
    57         // Incoming Links Widget
    58         if ( is_blog_admin() && current_user_can('publish_posts') ) {
    59                 if ( !isset( $widget_options['dashboard_incoming_links'] ) || !isset( $widget_options['dashboard_incoming_links']['home'] ) || $widget_options['dashboard_incoming_links']['home'] != get_option('home') ) {
    60                         $update = true;
    61                         $num_items = isset($widget_options['dashboard_incoming_links']['items']) ? $widget_options['dashboard_incoming_links']['items'] : 10;
    62                         $widget_options['dashboard_incoming_links'] = array(
    63                                 'home' => get_option('home'),
    64                                 'link' => apply_filters( 'dashboard_incoming_links_link', 'http://blogsearch.google.com/blogsearch?scoring=d&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) ),
    65                                 'url' => isset($widget_options['dashboard_incoming_links']['url']) ? apply_filters( 'dashboard_incoming_links_feed', $widget_options['dashboard_incoming_links']['url'] ) : apply_filters( 'dashboard_incoming_links_feed', 'http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=' . $num_items . '&output=rss&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) ),
    66                                 'items' => $num_items,
    67                                 'show_date' => isset($widget_options['dashboard_incoming_links']['show_date']) ? $widget_options['dashboard_incoming_links']['show_date'] : false
    68                         );
    69                 }
    70                 wp_add_dashboard_widget( 'dashboard_incoming_links', __( 'Incoming Links' ), 'wp_dashboard_incoming_links', 'wp_dashboard_incoming_links_control' );
    71         }
    72 
    73         // WP Plugins Widget
    74         if ( ( ! is_multisite() && is_blog_admin() && current_user_can( 'install_plugins' ) ) || ( is_network_admin() && current_user_can( 'manage_network_plugins' ) && current_user_can( 'install_plugins' ) ) )
    75                 wp_add_dashboard_widget( 'dashboard_plugins', __( 'Plugins' ), 'wp_dashboard_plugins' );
    76 
    7760        // QuickPress Widget
    78         if ( is_blog_admin() && current_user_can('edit_posts') )
    79                 wp_add_dashboard_widget( 'dashboard_quick_press', __( 'QuickPress' ), 'wp_dashboard_quick_press' );
     61        if ( is_blog_admin() && current_user_can( 'edit_posts' ) )
     62                add_meta_box( 'dashboard_quick_draft', __( 'Quick Draft' ), 'wp_dashboard_quick_draft', 'dashboard', 'side', 'high' );
     63       
     64        // WordPress News
     65        add_meta_box( 'dashboard_rss', __( 'WordPress News' ), 'wp_dashboard_rss', 'dashboard', 'side', 'low' );
    8066
    81         // Recent Drafts
    82         if ( is_blog_admin() && current_user_can('edit_posts') )
    83                 wp_add_dashboard_widget( 'dashboard_recent_drafts', __('Recent Drafts'), 'wp_dashboard_recent_drafts' );
    84 
    85         // Primary feed (Dev Blog) Widget
    86         if ( !isset( $widget_options['dashboard_primary'] ) ) {
    87                 $update = true;
    88                 $widget_options['dashboard_primary'] = array(
    89                         'link' => apply_filters( 'dashboard_primary_link', __( 'http://wordpress.org/news/' ) ),
    90                         'url' => apply_filters( 'dashboard_primary_feed', __( 'http://wordpress.org/news/feed/' ) ),
    91                         'title' => apply_filters( 'dashboard_primary_title', __( 'WordPress Blog' ) ),
    92                         'items' => 2,
    93                         'show_summary' => 1,
    94                         'show_author' => 0,
    95                         'show_date' => 1,
    96                 );
    97         }
    98         wp_add_dashboard_widget( 'dashboard_primary', $widget_options['dashboard_primary']['title'], 'wp_dashboard_primary', 'wp_dashboard_primary_control' );
    99 
    100         // Secondary Feed (Planet) Widget
    101         if ( !isset( $widget_options['dashboard_secondary'] ) ) {
    102                 $update = true;
    103                 $widget_options['dashboard_secondary'] = array(
    104                         'link' => apply_filters( 'dashboard_secondary_link', __( 'http://planet.wordpress.org/' ) ),
    105                         'url' => apply_filters( 'dashboard_secondary_feed', __( 'http://planet.wordpress.org/feed/' ) ),
    106                         'title' => apply_filters( 'dashboard_secondary_title', __( 'Other WordPress News' ) ),
    107                         'items' => 5,
    108                         'show_summary' => 0,
    109                         'show_author' => 0,
    110                         'show_date' => 0,
    111                 );
    112         }
    113         wp_add_dashboard_widget( 'dashboard_secondary', $widget_options['dashboard_secondary']['title'], 'wp_dashboard_secondary', 'wp_dashboard_secondary_control' );
    114 
    11567        // Hook to register new widgets
    11668        // Filter widget order
    11769        if ( is_network_admin() ) {
     
    165117        }
    166118
    167119        if ( is_blog_admin () )
    168                 $side_widgets = array('dashboard_quick_press', 'dashboard_recent_drafts', 'dashboard_primary', 'dashboard_secondary');
     120                $side_widgets = array('dashboard_quick_draft');
    169121        else if (is_network_admin() )
    170                 $side_widgets = array('dashboard_primary', 'dashboard_secondary');
     122                $side_widgets = array();
    171123        else
    172124                $side_widgets = array();
    173125
     
    224176
    225177/* Dashboard Widgets */
    226178
    227 function wp_dashboard_right_now() {
    228         global $wp_registered_sidebars;
    229 
    230         $num_posts = wp_count_posts( 'post' );
    231         $num_pages = wp_count_posts( 'page' );
    232 
    233         $num_cats  = wp_count_terms('category');
    234 
    235         $num_tags = wp_count_terms('post_tag');
    236 
    237         $num_comm = wp_count_comments();
    238 
    239         echo "\n\t".'<div class="table table_content">';
    240         echo "\n\t".'<p class="sub">' . __('Content') . '</p>'."\n\t".'<table>';
    241         echo "\n\t".'<tr class="first">';
    242 
    243         // Posts
    244         $num = number_format_i18n( $num_posts->publish );
    245         $text = _n( 'Post', 'Posts', intval($num_posts->publish) );
    246         if ( current_user_can( 'edit_posts' ) ) {
    247                 $num = "<a href='edit.php'>$num</a>";
    248                 $text = "<a href='edit.php'>$text</a>";
    249         }
    250         echo '<td class="first b b-posts">' . $num . '</td>';
    251         echo '<td class="t posts">' . $text . '</td>';
    252 
    253         echo '</tr><tr>';
    254         /* TODO: Show status breakdown on hover
    255         if ( $can_edit_pages && !empty($num_pages->publish) ) { // how many pages is not exposed in feeds. Don't show if !current_user_can
    256                 $post_type_texts[] = '<a href="edit-pages.php">'.sprintf( _n( '%s page', '%s pages', $num_pages->publish ), number_format_i18n( $num_pages->publish ) ).'</a>';
    257         }
    258         if ( $can_edit_posts && !empty($num_posts->draft) ) {
    259                 $post_type_texts[] = '<a href="edit.php?post_status=draft">'.sprintf( _n( '%s draft', '%s drafts', $num_posts->draft ), number_format_i18n( $num_posts->draft ) ).'</a>';
    260         }
    261         if ( $can_edit_posts && !empty($num_posts->future) ) {
    262                 $post_type_texts[] = '<a href="edit.php?post_status=future">'.sprintf( _n( '%s scheduled post', '%s scheduled posts', $num_posts->future ), number_format_i18n( $num_posts->future ) ).'</a>';
    263         }
    264         if ( current_user_can('publish_posts') && !empty($num_posts->pending) ) {
    265                 $pending_text = sprintf( _n( 'There is <a href="%1$s">%2$s post</a> pending your review.', 'There are <a href="%1$s">%2$s posts</a> pending your review.', $num_posts->pending ), 'edit.php?post_status=pending', number_format_i18n( $num_posts->pending ) );
    266         } else {
    267                 $pending_text = '';
    268         }
    269         */
    270 
    271         // Pages
    272         $num = number_format_i18n( $num_pages->publish );
    273         $text = _n( 'Page', 'Pages', $num_pages->publish );
    274         if ( current_user_can( 'edit_pages' ) ) {
    275                 $num = "<a href='edit.php?post_type=page'>$num</a>";
    276                 $text = "<a href='edit.php?post_type=page'>$text</a>";
    277         }
    278         echo '<td class="first b b_pages">' . $num . '</td>';
    279         echo '<td class="t pages">' . $text . '</td>';
    280 
    281         echo '</tr><tr>';
    282 
    283         // Categories
    284         $num = number_format_i18n( $num_cats );
    285         $text = _n( 'Category', 'Categories', $num_cats );
    286         if ( current_user_can( 'manage_categories' ) ) {
    287                 $num = "<a href='edit-tags.php?taxonomy=category'>$num</a>";
    288                 $text = "<a href='edit-tags.php?taxonomy=category'>$text</a>";
    289         }
    290         echo '<td class="first b b-cats">' . $num . '</td>';
    291         echo '<td class="t cats">' . $text . '</td>';
    292 
    293         echo '</tr><tr>';
    294 
    295         // Tags
    296         $num = number_format_i18n( $num_tags );
    297         $text = _n( 'Tag', 'Tags', $num_tags );
    298         if ( current_user_can( 'manage_categories' ) ) {
    299                 $num = "<a href='edit-tags.php'>$num</a>";
    300                 $text = "<a href='edit-tags.php'>$text</a>";
    301         }
    302         echo '<td class="first b b-tags">' . $num . '</td>';
    303         echo '<td class="t tags">' . $text . '</td>';
    304 
    305         echo "</tr>";
    306         do_action('right_now_content_table_end');
    307         echo "\n\t</table>\n\t</div>";
    308 
    309         echo "\n\t".'<div class="table table_discussion">';
    310         echo "\n\t".'<p class="sub">' . __('Discussion') . '</p>'."\n\t".'<table>';
    311         echo "\n\t".'<tr class="first">';
    312 
    313         // Total Comments
    314         $num = '<span class="total-count">' . number_format_i18n($num_comm->total_comments) . '</span>';
    315         $text = _n( 'Comment', 'Comments', $num_comm->total_comments );
    316         if ( current_user_can( 'moderate_comments' ) ) {
    317                 $num = '<a href="edit-comments.php">' . $num . '</a>';
    318                 $text = '<a href="edit-comments.php">' . $text . '</a>';
    319         }
    320         echo '<td class="b b-comments">' . $num . '</td>';
    321         echo '<td class="last t comments">' . $text . '</td>';
    322 
    323         echo '</tr><tr>';
    324 
    325         // Approved Comments
    326         $num = '<span class="approved-count">' . number_format_i18n($num_comm->approved) . '</span>';
    327         $text = _nx( 'Approved', 'Approved', $num_comm->approved, 'Right Now' );
    328         if ( current_user_can( 'moderate_comments' ) ) {
    329                 $num = "<a href='edit-comments.php?comment_status=approved'>$num</a>";
    330                 $text = "<a class='approved' href='edit-comments.php?comment_status=approved'>$text</a>";
    331         }
    332         echo '<td class="b b_approved">' . $num . '</td>';
    333         echo '<td class="last t">' . $text . '</td>';
    334 
    335         echo "</tr>\n\t<tr>";
    336 
    337         // Pending Comments
    338         $num = '<span class="pending-count">' . number_format_i18n($num_comm->moderated) . '</span>';
    339         $text = _n( 'Pending', 'Pending', $num_comm->moderated );
    340         if ( current_user_can( 'moderate_comments' ) ) {
    341                 $num = "<a href='edit-comments.php?comment_status=moderated'>$num</a>";
    342                 $text = "<a class='waiting' href='edit-comments.php?comment_status=moderated'>$text</a>";
    343         }
    344         echo '<td class="b b-waiting">' . $num . '</td>';
    345         echo '<td class="last t">' . $text . '</td>';
    346 
    347         echo "</tr>\n\t<tr>";
    348 
    349         // Spam Comments
    350         $num = number_format_i18n($num_comm->spam);
    351         $text = _nx( 'Spam', 'Spam', $num_comm->spam, 'comment' );
    352         if ( current_user_can( 'moderate_comments' ) ) {
    353                 $num = "<a href='edit-comments.php?comment_status=spam'><span class='spam-count'>$num</span></a>";
    354                 $text = "<a class='spam' href='edit-comments.php?comment_status=spam'>$text</a>";
    355         }
    356         echo '<td class="b b-spam">' . $num . '</td>';
    357         echo '<td class="last t">' . $text . '</td>';
    358 
    359         echo "</tr>";
    360         do_action('right_now_table_end');
    361         do_action('right_now_discussion_table_end');
    362         echo "\n\t</table>\n\t</div>";
    363 
    364         echo "\n\t".'<div class="versions">';
     179function dashboard_new_right_now() {
    365180        $theme = wp_get_theme();
    366 
    367         echo "\n\t<p>";
    368 
    369         if ( $theme->errors() ) {
    370                 if ( ! is_multisite() || is_super_admin() )
    371                         echo '<span class="error-message">' . sprintf( __( 'ERROR: %s' ), $theme->errors()->get_error_message() ) . '</span>';
    372         } elseif ( ! empty($wp_registered_sidebars) ) {
    373                 $sidebars_widgets = wp_get_sidebars_widgets();
    374                 $num_widgets = 0;
    375                 foreach ( (array) $sidebars_widgets as $k => $v ) {
    376                         if ( 'wp_inactive_widgets' == $k || 'orphaned_widgets' == substr( $k, 0, 16 ) )
    377                                 continue;
    378                         if ( is_array($v) )
    379                                 $num_widgets = $num_widgets + count($v);
     181        if ( current_user_can( 'switch_themes' ) )
     182                $theme_name = sprintf( '<a href="themes.php">%1$s</a>', $theme->display('Name') );
     183        else
     184                $theme_name = $theme->display('Name');
     185?>
     186        <div class="main">
     187        <ul>
     188        <?php
     189        do_action( 'rightnow_list_start' );
     190        // Using show_in_nav_menus as my arg for grabbing what post types should show, is there better?
     191        $post_types = get_post_types( array( 'show_in_nav_menus' => true ), 'objects' );
     192        $post_types = (array) apply_filters( 'rightnow_post_types', $post_types );
     193        foreach ( $post_types as $post_type => $post_type_obj ){
     194                $num_posts = wp_count_posts( $post_type );
     195                if ( $num_posts && $num_posts->publish ) {
     196                        printf(
     197                                '<li class="%1$s-count"><a href="edit.php?post_type=%1$s">%2$s %3$s</a></li>',
     198                                $post_type,
     199                                number_format_i18n( $num_posts->publish ),
     200                                $post_type_obj->label
     201                        );
    380202                }
    381                 $num = number_format_i18n( $num_widgets );
    382 
    383                 $switch_themes = $theme->display('Name');
    384                 if ( current_user_can( 'switch_themes') )
    385                         $switch_themes = '<a href="themes.php">' . $switch_themes . '</a>';
    386                 if ( current_user_can( 'edit_theme_options' ) ) {
    387                         printf(_n('Theme <span class="b">%1$s</span> with <span class="b"><a href="widgets.php">%2$s Widget</a></span>', 'Theme <span class="b">%1$s</span> with <span class="b"><a href="widgets.php">%2$s Widgets</a></span>', $num_widgets), $switch_themes, $num);
    388                 } else {
    389                         printf(_n('Theme <span class="b">%1$s</span> with <span class="b">%2$s Widget</span>', 'Theme <span class="b">%1$s</span> with <span class="b">%2$s Widgets</span>', $num_widgets), $switch_themes, $num);
     203        }
     204        // Comments
     205        $num_comm = wp_count_comments();
     206        if ( $num_comm && $num_comm->total_comments ) {
     207                $text = _n( 'comment', 'comments', $num_comm->total_comments );
     208                printf(
     209                        '<li class="comment-count"><a href="edit-comments.php">%1$s %2$s</a></li>',
     210                        number_format_i18n( $num_comm->total_comments ),
     211                        $text
     212                );
     213                if ( $num_comm->moderated ) {
     214                        $text = _n( 'in moderation', 'in moderation', $num_comm->total_comments );
     215                        printf(
     216                                '<li class="comment-mod-count"><a href="edit-comments.php?comment_status=moderated">%1$s %2$s</a></li>',
     217                                number_format_i18n( $num_comm->moderated ),
     218                                $text
     219                        );
    390220                }
    391         } else {
    392                 if ( current_user_can( 'switch_themes' ) )
    393                         printf( __('Theme <span class="b"><a href="themes.php">%1$s</a></span>'), $theme->display('Name') );
    394                 else
    395                         printf( __('Theme <span class="b">%1$s</span>'), $theme->display('Name') );
    396221        }
    397         echo '</p>';
     222        do_action( 'rightnow_list_end' );
     223        ?>
     224        </ul>
     225        <p><?php printf( __( 'WordPress %1$s running %2$s theme.' ), get_bloginfo( 'version', 'display' ), $theme_name ); ?></p>
     226        </div>
    398227
    399         // Check if search engines are asked not to index this site.
    400         if ( !is_network_admin() && !is_user_admin() && current_user_can('manage_options') && '1' != get_option('blog_public') ) {
    401                 $title = apply_filters('privacy_on_link_title', __('Your site is asking search engines not to index its content') );
    402                 $content = apply_filters('privacy_on_link_text', __('Search Engines Discouraged') );
    403 
    404                 echo "<p><a href='options-reading.php' title='$title'>$content</a></p>";
    405         }
    406 
    407         update_right_now_message();
    408 
    409         echo "\n\t".'<br class="clear" /></div>';
     228        <?php
     229        // activity_box_end has a core action, but only prints content when multisite.
     230        // Using an output buffer is the only way to really check if anything's displayed here.
     231        ob_start();
    410232        do_action( 'rightnow_end' );
    411233        do_action( 'activity_box_end' );
     234        $actions = ob_get_clean();
     235
     236        if ( !empty( $actions ) ) : ?>
     237        <div class="sub">
     238                <?php echo $actions; ?>
     239        </div>
     240        <?php endif;
    412241}
    413242
    414243function wp_network_dashboard_right_now() {
     
    458287        do_action( 'mu_activity_box_end' );
    459288}
    460289
    461 function wp_dashboard_quick_press() {
     290/**
     291 * The Quick Draft widget display and creation of drafts
     292 *
     293 *
     294 *
     295 * @since 3.8.0
     296 *
     297 */
     298function wp_dashboard_quick_draft( $error_msg=false ) {
    462299        global $post_ID;
    463300
    464         $drafts = false;
    465         if ( 'post' === strtolower( $_SERVER['REQUEST_METHOD'] ) && isset( $_POST['action'] ) && 0 === strpos( $_POST['action'], 'post-quickpress' ) && (int) $_POST['post_ID'] ) {
    466                 $view = get_permalink( $_POST['post_ID'] );
    467                 $edit = esc_url( get_edit_post_link( $_POST['post_ID'] ) );
    468                 if ( 'post-quickpress-publish' == $_POST['action'] ) {
    469                         if ( current_user_can('publish_posts') )
    470                                 printf( '<div class="updated"><p>' . __( 'Post published. <a href="%s">View post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( $view ), $edit );
    471                         else
    472                                 printf( '<div class="updated"><p>' . __( 'Post submitted. <a href="%s">Preview post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( add_query_arg( 'preview', 1, $view ) ), $edit );
    473                 } else {
    474                         printf( '<div class="updated"><p>' . __( 'Draft saved. <a href="%s">Preview post</a> | <a href="%s">Edit post</a>' ) . '</p></div>', esc_url( add_query_arg( 'preview', 1, $view ) ), $edit );
    475                         $drafts_query = new WP_Query( array(
    476                                 'post_type' => 'post',
    477                                 'post_status' => 'draft',
    478                                 'author' => $GLOBALS['current_user']->ID,
    479                                 'posts_per_page' => 1,
    480                                 'orderby' => 'modified',
    481                                 'order' => 'DESC'
    482                         ) );
    483 
    484                         if ( $drafts_query->posts )
    485                                 $drafts =& $drafts_query->posts;
    486                 }
    487                 printf('<p class="easy-blogging">' . __('You can also try %s, easy blogging from anywhere on the Web.') . '</p>', '<a href="' . esc_url( admin_url( 'tools.php' ) ) . '">' . __('Press This') . '</a>' );
    488                 $_REQUEST = array(); // hack for get_default_post_to_edit()
    489         }
    490 
    491301        /* Check if a new auto-draft (= no new post_ID) is needed or if the old can be used */
    492302        $last_post_id = (int) get_user_option( 'dashboard_quick_press_last_post_id' ); // Get the last post_ID
    493303        if ( $last_post_id ) {
    494304                $post = get_post( $last_post_id );
    495305                if ( empty( $post ) || $post->post_status != 'auto-draft' ) { // auto-draft doesn't exists anymore
    496                         $post = get_default_post_to_edit('post', true);
     306                        $post = get_default_post_to_edit( 'post', true );
    497307                        update_user_option( get_current_user_id(), 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID
    498308                } else {
    499309                        $post->post_title = ''; // Remove the auto draft title
     
    507317        }
    508318
    509319        $post_ID = (int) $post->ID;
    510 
    511         $media_settings = array(
    512                 'id' => $post->ID,
    513                 'nonce' => wp_create_nonce( 'update-post_' . $post->ID ),
    514         );
    515 
    516         if ( current_theme_supports( 'post-thumbnails', $post->post_type ) && post_type_supports( $post->post_type, 'thumbnail' ) ) {
    517                 $featured_image_id = get_post_meta( $post->ID, '_thumbnail_id', true );
    518                 $media_settings['featuredImageId'] = $featured_image_id ? $featured_image_id : -1;
    519         }
     320       
     321        do_action( 'dashboard_quickdraft_beginning', $post );
    520322?>
    521323
    522         <form name="post" action="<?php echo esc_url( admin_url( 'post.php' ) ); ?>" method="post" id="quick-press">
     324        <form name="post" action="<?php echo esc_url( admin_url( 'post.php' ) ); ?>" method="post" id="quick-press" class="initial-form">
     325               
     326                <?php if ($error_msg) : ?>
     327                <div class="error"><?php _e( $error_msg ); ?></div>
     328                <?php endif; ?>
     329               
    523330                <div class="input-text-wrap" id="title-wrap">
    524                         <label class="screen-reader-text prompt" for="title" id="title-prompt-text"><?php _e( 'Enter title here' ); ?></label>
    525                         <input type="text" name="post_title" id="title" autocomplete="off" value="<?php echo esc_attr( $post->post_title ); ?>" />
     331                        <label class="screen-reader-text prompt" for="title" id="title-prompt-text"><?php _e( "What's on your mind?" ); ?></label>
     332                        <input type="text" name="post_title" id="title" autocomplete="off" />
    526333                </div>
    527334
    528                 <?php if ( current_user_can( 'upload_files' ) ) : ?>
    529                 <div id="wp-content-wrap" class="wp-editor-wrap hide-if-no-js wp-media-buttons">
    530                         <?php do_action( 'media_buttons', 'content' ); ?>
     335                <div class="textarea-wrap" id="description-wrap">
     336                        <label class="screen-reader-text prompt" for="content" id="content-prompt-text"><?php _e( 'Enter a description' ); ?></label>
     337                        <textarea name="content" id="content" class="mceEditor" rows="3" cols="15"></textarea>
    531338                </div>
    532                 <?php endif; ?>
    533339
    534                 <div class="textarea-wrap">
    535                         <label class="screen-reader-text" for="content"><?php _e( 'Content' ); ?></label>
    536                         <textarea name="content" id="content" class="mceEditor" rows="3" cols="15"><?php echo esc_textarea( $post->post_content ); ?></textarea>
    537                 </div>
    538 
    539                 <script type="text/javascript">
    540                 edCanvas = document.getElementById('content');
    541                 edInsertContent = null;
    542                 <?php if ( $_POST ) : ?>
    543                 wp.media.editor.remove('content');
    544                 wp.media.view.settings.post = <?php echo json_encode( $media_settings ); // big juicy hack. ?>;
    545                 wp.media.editor.add('content');
    546                 <?php endif; ?>
    547                 </script>
    548 
    549                 <div class="input-text-wrap" id="tags-input-wrap">
    550                         <label class="screen-reader-text prompt" for="tags-input" id="tags-input-prompt-text"><?php _e( 'Tags (separate with commas)' ); ?></label>
    551                         <input type="text" name="tags_input" id="tags-input" value="<?php echo get_tags_to_edit( $post->ID ); ?>" />
    552                 </div>
    553 
    554340                <p class="submit">
    555                         <span id="publishing-action">
    556                                 <input type="submit" name="publish" id="publish" accesskey="p" class="button-primary" value="<?php current_user_can('publish_posts') ? esc_attr_e('Publish') : esc_attr_e('Submit for Review'); ?>" />
    557                                 <span class="spinner"></span>
    558                         </span>
    559                         <input type="hidden" name="action" id="quickpost-action" value="post-quickpress-save" />
     341                        <input type="hidden" name="action" id="quickpost-action" value="post-quickdraft-save" />
    560342                        <input type="hidden" name="post_ID" value="<?php echo $post_ID; ?>" />
    561343                        <input type="hidden" name="post_type" value="post" />
    562                         <?php wp_nonce_field('add-post'); ?>
    563                         <?php submit_button( __( 'Save Draft' ), 'button', 'save', false, array( 'id' => 'save-post' ) ); ?>
    564                         <input type="reset" value="<?php esc_attr_e( 'Reset' ); ?>" class="button" />
     344                        <?php wp_nonce_field( 'add-post' ); ?>
     345                        <?php submit_button( __( 'Save Draft' ), 'primary', 'save', false, array( 'id' => 'save-post' ) ); ?>
    565346                        <br class="clear" />
    566347                </p>
    567348
    568349        </form>
    569350
    570351<?php
    571         if ( $drafts )
    572                 wp_dashboard_recent_drafts( $drafts );
     352        wp_dashboard_recent_quickdrafts();
     353       
     354        do_action( 'dashboard_quickdraft_end' );
    573355}
    574356
    575 function wp_dashboard_recent_drafts( $drafts = false ) {
    576         if ( !$drafts ) {
    577                 $drafts_query = new WP_Query( array(
    578                         'post_type' => 'post',
    579                         'post_status' => 'draft',
    580                         'author' => $GLOBALS['current_user']->ID,
    581                         'posts_per_page' => 5,
    582                         'orderby' => 'modified',
    583                         'order' => 'DESC'
    584                 ) );
    585                 $drafts =& $drafts_query->posts;
    586         }
     357/**
     358 * Show `Recent Drafts` below Quick Draft form
     359 *
     360 *
     361 *
     362 * @since 3.8.0
     363 *
     364 */
     365function wp_dashboard_recent_quickdrafts() {
    587366
     367        $query_args = array(
     368                'post_type'      => 'post',
     369                'post_status'    => 'draft',
     370                'author'         => $GLOBALS['current_user']->ID,
     371                'posts_per_page' => 4,
     372                'orderby'        => 'modified',
     373                'order'          => 'DESC'
     374        );
     375        $query_args = apply_filters( 'dash_recent_quickdrafts_query_args', $query_args );
     376        $drafts_query = new WP_Query( $query_args );
     377        $drafts =& $drafts_query->posts;
     378
     379
    588380        if ( $drafts && is_array( $drafts ) ) {
    589381                $list = array();
     382                $draft_count = 0;
    590383                foreach ( $drafts as $draft ) {
     384                        if ( 3 == $draft_count )
     385                                break;
     386                       
     387                        $draft_count++;
     388                       
    591389                        $url = get_edit_post_link( $draft->ID );
    592390                        $title = _draft_or_post_title( $draft->ID );
    593                         $item = "<h4><a href='$url' title='" . sprintf( __( 'Edit &#8220;%s&#8221;' ), esc_attr( $title ) ) . "'>" . esc_html($title) . "</a> <abbr title='" . get_the_time(__('Y/m/d g:i:s A'), $draft) . "'>" . get_the_time( get_option( 'date_format' ), $draft ) . '</abbr></h4>';
     391                        $item = '<div class="draft-title"><a href="' . $url . '" title="' . sprintf( __( 'Edit &#8220;%s&#8221;' ), esc_attr( $title ) ) . '">' . esc_html( $title ) . '</a> <time datetime="' . get_the_time( 'c', $draft) . '">' . get_the_time( get_option( 'date_format' ), $draft ) . '</time></div>';
    594392                        if ( $the_content = wp_trim_words( $draft->post_content, 10 ) )
    595393                                $item .= '<p>' . $the_content . '</p>';
    596394                        $list[] = $item;
    597395                }
     396               
     397                do_action( 'dashboard_quickdraft_drafts_list', $drafts );
    598398?>
    599         <ul>
    600                 <li><?php echo join( "</li>\n<li>", $list ); ?></li>
    601         </ul>
    602         <p class="textright"><a href="edit.php?post_status=draft" ><?php _e('View all'); ?></a></p>
    603 <?php
    604         } else {
    605                 _e('There are no drafts at the moment');
    606         }
     399        <div class="drafts">
     400                <?php if ( 3 < count($drafts) ) { ?>
     401                <p class="view-all"><a href="edit.php?post_status=draft" ><?php _e( 'View all' ); ?></a></p>
     402                <?php } ?>
     403                <h4><?php _e('Drafts'); ?></h4>
     404                <ul id="draft-list">
     405                        <li><?php echo join( "</li>\n<li>", $list ); ?></li>
     406                </ul>
     407        </div>
     408<?php }
    607409}
    608410
    609 /**
    610  * Display recent comments dashboard widget content.
    611  *
    612  * @since 2.5.0
    613  */
    614 function wp_dashboard_recent_comments() {
    615         global $wpdb;
    616 
    617         // Select all comment types and filter out spam later for better query performance.
    618         $comments = array();
    619         $start = 0;
    620 
    621         $widgets = get_option( 'dashboard_widget_options' );
    622         $total_items = isset( $widgets['dashboard_recent_comments'] ) && isset( $widgets['dashboard_recent_comments']['items'] )
    623                 ? absint( $widgets['dashboard_recent_comments']['items'] ) : 5;
    624 
    625         $comments_query = array( 'number' => $total_items * 5, 'offset' => 0 );
    626         if ( ! current_user_can( 'edit_posts' ) )
    627                 $comments_query['status'] = 'approve';
    628 
    629         while ( count( $comments ) < $total_items && $possible = get_comments( $comments_query ) ) {
    630                 foreach ( $possible as $comment ) {
    631                         if ( ! current_user_can( 'read_post', $comment->comment_post_ID ) )
    632                                 continue;
    633                         $comments[] = $comment;
    634                         if ( count( $comments ) == $total_items )
    635                                 break 2;
    636                 }
    637                 $comments_query['offset'] += $comments_query['number'];
    638                 $comments_query['number'] = $total_items * 10;
    639         }
    640 
    641         if ( $comments ) {
    642                 echo '<div id="the-comment-list" data-wp-lists="list:comment">';
    643                 foreach ( $comments as $comment )
    644                         _wp_dashboard_recent_comments_row( $comment );
    645                 echo '</div>';
    646 
    647                 if ( current_user_can('edit_posts') )
    648                         _get_list_table('WP_Comments_List_Table')->views();
    649 
    650                 wp_comment_reply( -1, false, 'dashboard', false );
    651                 wp_comment_trashnotice();
    652         } else {
    653                 echo '<p>' . __( 'No comments yet.' ) . '</p>';
    654         }
    655 }
    656 
    657411function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
    658412        $GLOBALS['comment'] =& $comment;
    659413
     
    748502}
    749503
    750504/**
    751  * The recent comments dashboard widget control.
     505 * callback function for `Activity` widget
    752506 *
    753  * @since 3.0.0
     507 *
     508 *
     509 * @since 3.8.0
     510 *
    754511 */
    755 function wp_dashboard_recent_comments_control() {
    756         if ( !$widget_options = get_option( 'dashboard_widget_options' ) )
    757                 $widget_options = array();
     512function wp_dashboard_activity() {
    758513
    759         if ( !isset($widget_options['dashboard_recent_comments']) )
    760                 $widget_options['dashboard_recent_comments'] = array();
     514        echo '<div id="activity-widget">';
    761515
    762         if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-recent-comments']) ) {
    763                 $number = absint( $_POST['widget-recent-comments']['items'] );
    764                 $widget_options['dashboard_recent_comments']['items'] = $number;
    765                 update_option( 'dashboard_widget_options', $widget_options );
     516        do_action( 'dashboard_activity_beginning' );
     517
     518        $future_posts = dashboard_show_published_posts( array(
     519                'display' => 2,
     520                'max'     => 5,
     521                'status'  => 'future',
     522                'order'   => 'ASC',
     523                'title'   => __( 'Publishing Soon' ),
     524                'id'      => 'future-posts',
     525        ) );
     526        $recent_posts = dashboard_show_published_posts( array(
     527                'display' => 2,
     528                'max'     => 5,
     529                'status'  => 'publish',
     530                'order'   => 'DESC',
     531                'title'   => __( 'Recently Published' ),
     532                'id'      => 'published-posts',
     533        ) );
     534       
     535        do_action( 'dashboard_activity_middle' );
     536       
     537        $recent_comments = dashboard_comments();
     538       
     539        if ( !$future_posts && !$recent_posts && !$recent_comments ) {
     540                echo '<div class="no-activity">';
     541                echo '<p class="smiley"></p>';
     542                echo '<p>' . __( 'No activity yet!' ) . '</p>';
     543                echo '</div>';
    766544        }
     545       
     546        do_action( 'dashboard_activity_end' );
    767547
    768         $number = isset( $widget_options['dashboard_recent_comments']['items'] ) ? (int) $widget_options['dashboard_recent_comments']['items'] : '';
    769 
    770         echo '<p><label for="comments-number">' . __('Number of comments to show:') . '</label>';
    771         echo '<input id="comments-number" name="widget-recent-comments[items]" type="text" value="' . $number . '" size="3" /></p>';
     548        echo '</div>';
    772549}
    773550
    774 function wp_dashboard_incoming_links() {
    775         wp_dashboard_cached_rss_widget( 'dashboard_incoming_links', 'wp_dashboard_incoming_links_output' );
    776 }
    777 
    778551/**
    779  * Display incoming links dashboard widget content.
     552 * Generates `Publishing Soon` and `Recently Published` sections
    780553 *
    781  * @since 2.5.0
     554 *
     555 *
     556 * @since 3.8.0
     557 *
    782558 */
    783 function wp_dashboard_incoming_links_output() {
    784         $widgets = get_option( 'dashboard_widget_options' );
    785         @extract( @$widgets['dashboard_incoming_links'], EXTR_SKIP );
    786         $rss = fetch_feed( $url );
     559function dashboard_show_published_posts( $args ) {
    787560
    788         if ( is_wp_error($rss) ) {
    789                 if ( is_admin() || current_user_can('manage_options') ) {
    790                         echo '<p>';
    791                         printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message());
    792                         echo '</p>';
    793                 }
    794                 return;
    795         }
     561        $query_args = array(
     562                'post_type'      => 'post',
     563                'post_status'    => $args['status'],
     564                'orderby'        => 'date',
     565                'order'          => $args['order'],
     566                'posts_per_page' => intval( $args['max'] ),
     567                'no_found_rows'  => true,
     568                'cache_results'  => false
     569        );
     570        $query_args = apply_filters( 'dash_show_published_posts_query_args', $query_args );
     571        $posts = new WP_Query( $query_args );
    796572
    797         if ( !$rss->get_item_quantity() ) {
    798                 echo '<p>' . __('This dashboard widget queries <a href="http://blogsearch.google.com/">Google Blog Search</a> so that when another blog links to your site it will show up here. It has found no incoming links&hellip; yet. It&#8217;s okay &#8212; there is no rush.') . "</p>\n";
    799                 $rss->__destruct();
    800                 unset($rss);
    801                 return;
    802         }
     573        if ( $posts->have_posts() ) {
    803574
    804         echo "<ul>\n";
     575                echo '<div id="' . $args['id'] . '" class="activity-block">';
    805576
    806         if ( !isset($items) )
    807                 $items = 10;
    808 
    809         foreach ( $rss->get_items(0, $items) as $item ) {
    810                 $publisher = '';
    811                 $site_link = '';
    812                 $link = '';
    813                 $content = '';
    814                 $date = '';
    815                 $link = esc_url( strip_tags( $item->get_link() ) );
    816 
    817                 $author = $item->get_author();
    818                 if ( $author ) {
    819                         $site_link = esc_url( strip_tags( $author->get_link() ) );
    820 
    821                         if ( !$publisher = esc_html( strip_tags( $author->get_name() ) ) )
    822                                 $publisher = __( 'Somebody' );
    823                 } else {
    824                   $publisher = __( 'Somebody' );
     577                if ( $posts->post_count > $args['display'] ) {
     578                        echo '<small class="show-more"><a href="#">' . sprintf( __( 'See %s more&hellip;'), $posts->post_count - intval( $args['display'] ) ) . '</a></small>';
    825579                }
    826                 if ( $site_link )
    827                         $publisher = "<a href='$site_link'>$publisher</a>";
    828                 else
    829                         $publisher = "<strong>$publisher</strong>";
    830580
    831                 $content = $item->get_content();
    832                 $content = wp_html_excerpt( $content, 50, ' &hellip;' );
     581                echo '<h4>' . $args['title'] . '</h4>';
    833582
    834                 if ( $link )
    835                         /* translators: incoming links feed, %1$s is other person, %3$s is content */
    836                         $text = __( '%1$s linked here <a href="%2$s">saying</a>, "%3$s"' );
    837                 else
    838                         /* translators: incoming links feed, %1$s is other person, %3$s is content */
    839                         $text = __( '%1$s linked here saying, "%3$s"' );
     583                echo '<ul>';
    840584
    841                 if ( !empty( $show_date ) ) {
    842                         if ( $link )
    843                                 /* translators: incoming links feed, %1$s is other person, %3$s is content, %4$s is the date */
    844                                 $text = __( '%1$s linked here <a href="%2$s">saying</a>, "%3$s" on %4$s' );
    845                         else
    846                                 /* translators: incoming links feed, %1$s is other person, %3$s is content, %4$s is the date */
    847                                 $text = __( '%1$s linked here saying, "%3$s" on %4$s' );
    848                         $date = esc_html( strip_tags( $item->get_date() ) );
    849                         $date = strtotime( $date );
    850                         $date = gmdate( get_option( 'date_format' ), $date );
     585                $i = 0;
     586                while ( $posts->have_posts() ) {
     587                        $posts->the_post();
     588                        printf(
     589                                '<li%s><span>%s, %s</span> <a href="%s">%s</a></li>',
     590                                ( $i >= intval ( $args['display'] ) ? ' class="hidden"' : '' ),
     591                                dashboard_relative_date( get_the_time( 'U' ) ),
     592                                get_the_time(),
     593                                get_edit_post_link(),
     594                                get_the_title()
     595                        );
     596                        $i++;
    851597                }
    852598
    853                 echo "\t<li>" . sprintf( $text, $publisher, $link, $content, $date ) . "</li>\n";
     599                echo '</ul>';
     600                echo '</div>';
     601
     602        } else {
     603                return false;
    854604        }
    855605
    856         echo "</ul>\n";
    857         $rss->__destruct();
    858         unset($rss);
    859 }
     606        wp_reset_postdata();
    860607
    861 function wp_dashboard_incoming_links_control() {
    862         wp_dashboard_rss_control( 'dashboard_incoming_links', array( 'title' => false, 'show_summary' => false, 'show_author' => false ) );
     608        return true;
    863609}
    864610
    865 function wp_dashboard_primary() {
    866         wp_dashboard_cached_rss_widget( 'dashboard_primary', 'wp_dashboard_rss_output' );
    867 }
    868 
    869 function wp_dashboard_primary_control() {
    870         wp_dashboard_rss_control( 'dashboard_primary' );
    871 }
    872 
    873611/**
    874  * Display primary dashboard RSS widget feed.
     612 * Show `Comments` section
    875613 *
    876  * @since 2.5.0
    877614 *
    878  * @param string $widget_id
    879  */
    880 function wp_dashboard_rss_output( $widget_id ) {
    881         $widgets = get_option( 'dashboard_widget_options' );
    882         echo '<div class="rss-widget">';
    883         wp_widget_rss_output( $widgets[$widget_id] );
    884         echo "</div>";
    885 }
    886 
    887 function wp_dashboard_secondary() {
    888         wp_dashboard_cached_rss_widget( 'dashboard_secondary', 'wp_dashboard_secondary_output' );
    889 }
    890 
    891 function wp_dashboard_secondary_control() {
    892         wp_dashboard_rss_control( 'dashboard_secondary' );
    893 }
    894 
    895 /**
    896  * Display secondary dashboard RSS widget feed.
    897615 *
    898  * @since 2.5.0
     616 * @since 3.8.0
    899617 *
    900  * @return unknown
    901618 */
    902 function wp_dashboard_secondary_output() {
    903         $widgets = get_option( 'dashboard_widget_options' );
    904         @extract( @$widgets['dashboard_secondary'], EXTR_SKIP );
    905         $rss = @fetch_feed( $url );
     619function dashboard_comments( $total_items = 5 ) {
     620        global $wpdb;
    906621
    907         if ( is_wp_error($rss) ) {
    908                 if ( is_admin() || current_user_can('manage_options') ) {
    909                         echo '<div class="rss-widget"><p>';
    910                         printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message());
    911                         echo '</p></div>';
     622        // Select all comment types and filter out spam later for better query performance.
     623        $comments = array();
     624        $start = 0;
     625
     626        $comments_query = array(
     627                'number' => $total_items * 5,
     628                'offset' => 0
     629        );
     630        if ( ! current_user_can( 'edit_posts' ) )
     631                $comments_query['status'] = 'approve';
     632
     633        while ( count( $comments ) < $total_items && $possible = get_comments( $comments_query ) ) {
     634                foreach ( $possible as $comment ) {
     635                        if ( ! current_user_can( 'read_post', $comment->comment_post_ID ) )
     636                                continue;
     637                        $comments[] = $comment;
     638                        if ( count( $comments ) == $total_items )
     639                                break 2;
    912640                }
    913         } elseif ( !$rss->get_item_quantity() ) {
    914                 $rss->__destruct();
    915                 unset($rss);
    916                 return false;
    917         } else {
    918                 echo '<div class="rss-widget">';
    919                 wp_widget_rss_output( $rss, $widgets['dashboard_secondary'] );
     641                $comments_query['offset'] += $comments_query['number'];
     642                $comments_query['number'] = $total_items * 10;
     643        }
     644       
     645       
     646
     647        if ( $comments ) {
     648                echo '<div id="latest-comments" class="activity-block">';
     649                echo '<h4>' . __( 'Comments' ) . '</h4>';
     650               
     651                echo '<div id="the-comment-list" data-wp-lists="list:comment">';
     652                foreach ( $comments as $comment )
     653                        _wp_dashboard_recent_comments_row( $comment );
    920654                echo '</div>';
    921                 $rss->__destruct();
    922                 unset($rss);
     655
     656                if ( current_user_can('edit_posts') )
     657                        _get_list_table('WP_Comments_List_Table')->views();
     658
     659                wp_comment_reply( -1, false, 'dashboard', false );
     660                wp_comment_trashnotice();
     661               
     662                echo '</div>';
     663        } else {
     664                return false;
    923665        }
     666        return true;
    924667}
    925668
    926 function wp_dashboard_plugins() {
    927         wp_dashboard_cached_rss_widget( 'dashboard_plugins', 'wp_dashboard_plugins_output', array(
    928                 'http://wordpress.org/plugins/rss/browse/popular/',
    929                 'http://wordpress.org/plugins/rss/browse/new/'
    930         ) );
    931 }
    932 
    933669/**
    934  * Display plugins most popular, newest plugins, and recently updated widget text.
     670 * return relative date for given timestamp
    935671 *
    936  * @since 2.5.0
     672 *
     673 *
     674 * @since 3.8.0
     675 *
    937676 */
    938 function wp_dashboard_plugins_output() {
    939         $popular = fetch_feed( 'http://wordpress.org/plugins/rss/browse/popular/' );
    940         $new     = fetch_feed( 'http://wordpress.org/plugins/rss/browse/new/' );
     677function dashboard_relative_date( $time ) {
    941678
    942         if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) {
    943                 $plugin_slugs = array_keys( get_plugins() );
    944                 set_transient( 'plugin_slugs', $plugin_slugs, DAY_IN_SECONDS );
    945         }
     679        $diff = floor( ( $time - time() ) / DAY_IN_SECONDS );
    946680
    947         foreach ( array( 'popular' => __('Most Popular'), 'new' => __('Newest Plugins') ) as $feed => $label ) {
    948                 if ( is_wp_error($$feed) || !$$feed->get_item_quantity() )
    949                         continue;
     681        if ( $diff == 0 )
     682                return __( 'Today' );
    950683
    951                 $items = $$feed->get_items(0, 5);
     684        if ( $diff == 1 )
     685                return __( 'Tomorrow' );
    952686
    953                 // Pick a random, non-installed plugin
    954                 while ( true ) {
    955                         // Abort this foreach loop iteration if there's no plugins left of this type
    956                         if ( 0 == count($items) )
    957                                 continue 2;
     687        return date( 'M jS', $time);
    958688
    959                         $item_key = array_rand($items);
    960                         $item = $items[$item_key];
    961 
    962                         list($link, $frag) = explode( '#', $item->get_link() );
    963 
    964                         $link = esc_url($link);
    965                         if ( preg_match( '|/([^/]+?)/?$|', $link, $matches ) )
    966                                 $slug = $matches[1];
    967                         else {
    968                                 unset( $items[$item_key] );
    969                                 continue;
    970                         }
    971 
    972                         // Is this random plugin's slug already installed? If so, try again.
    973                         reset( $plugin_slugs );
    974                         foreach ( $plugin_slugs as $plugin_slug ) {
    975                                 if ( $slug == substr( $plugin_slug, 0, strlen( $slug ) ) ) {
    976                                         unset( $items[$item_key] );
    977                                         continue 2;
    978                                 }
    979                         }
    980 
    981                         // If we get to this point, then the random plugin isn't installed and we can stop the while().
    982                         break;
    983                 }
    984 
    985                 // Eliminate some common badly formed plugin descriptions
    986                 while ( ( null !== $item_key = array_rand($items) ) && false !== strpos( $items[$item_key]->get_description(), 'Plugin Name:' ) )
    987                         unset($items[$item_key]);
    988 
    989                 if ( !isset($items[$item_key]) )
    990                         continue;
    991 
    992                 $title = esc_html( $item->get_title() );
    993 
    994                 $description = esc_html( strip_tags(@html_entity_decode($item->get_description(), ENT_QUOTES, get_option('blog_charset'))) );
    995 
    996                 $ilink = wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' . $slug, 'install-plugin_' . $slug) .
    997                                                         '&amp;TB_iframe=true&amp;width=600&amp;height=800';
    998 
    999                 echo "<h4>$label</h4>\n";
    1000                 echo "<h5><a href='$link'>$title</a></h5>&nbsp;<span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span>\n";
    1001                 echo "<p>$description</p>\n";
    1002 
    1003                 $$feed->__destruct();
    1004                 unset($$feed);
    1005         }
    1006689}
    1007690
    1008691/**
     
    1074757}
    1075758
    1076759/**
    1077  * The RSS dashboard widget control.
     760 * Returns default WordPress News feeds
    1078761 *
    1079  * Sets up $args to be used as input to wp_widget_rss_form(). Handles POST data
    1080  * from RSS-type widgets.
    1081762 *
    1082  * @since 2.5.0
    1083763 *
    1084  * @param string $widget_id
    1085  * @param array $form_inputs
     764 * @since 3.8.0
     765 *
    1086766 */
    1087 function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) {
    1088         if ( !$widget_options = get_option( 'dashboard_widget_options' ) )
     767function wp_dashboard_default_feeds() {
     768        return array(
     769                'news'   => array(
     770                        'link'         => apply_filters( 'dashboard_primary_link', __( 'http://wordpress.org/news/' ) ),
     771                        'url'          => apply_filters( 'dashboard_primary_feed', __( 'http://wordpress.org/news/feed/' ) ),
     772                        'title'        => '',
     773                        'items'        => 1,
     774                        'show_summary' => 1,
     775                        'show_author'  => 0,
     776                        'show_date'    => 1,
     777                ),
     778                'planet' => array(
     779                        'link'         => apply_filters( 'dashboard_secondary_link', __( 'http://planet.wordpress.org/' ) ),
     780                        'url'          => apply_filters( 'dashboard_secondary_feed', __( 'http://planet.wordpress.org/feed/' ) ),
     781                        'title'        => '',
     782                        'items'        => 3,
     783                        'show_summary' => 0,
     784                        'show_author'  => 0,
     785                        'show_date'    => 0,
     786                ),
     787                'plugins' => array(
     788                        'link'         => '',
     789                        'url'          => array(
     790                                        'popular' => 'http://wordpress.org/plugins/rss/browse/popular/'
     791                        ),
     792                        'title'        => '',
     793                        'items'        => 1,
     794                        'show_summary' => 0,
     795                        'show_author'  => 0,
     796                        'show_date'    => 0,
     797                )
     798        );
     799}
     800
     801/**
     802 * Check for cached feeds
     803 *
     804 *
     805 *
     806 * @since 3.8.0
     807 *
     808 */
     809function wp_dashboard_rss() {
     810        $default_feeds = wp_dashboard_default_feeds();
     811
     812        $widget_options = get_option( 'dashboard_widget_options' );
     813
     814        if ( !$widget_options || !is_array($widget_options) )
    1089815                $widget_options = array();
    1090816
    1091         if ( !isset($widget_options[$widget_id]) )
    1092                 $widget_options[$widget_id] = array();
     817        //if ( ! isset( $widget_options['dashboard_rss'] ) ) {
     818                $widget_options['dashboard_rss'] = $default_feeds;
     819                update_option( 'dashboard_widget_options', $widget_options );
     820        //}
    1093821
    1094         $number = 1; // Hack to use wp_widget_rss_form()
    1095         $widget_options[$widget_id]['number'] = $number;
     822        foreach( $default_feeds as $key => $value ) {
     823                $default_urls[] = $value['url'];
     824        }
     825       
     826        $cache_key = 'dash_' . md5( 'dashboard_rss' );
     827        delete_transient( $cache_key );
     828       
     829        do_action( 'dashboard_news_beginning' );
    1096830
    1097         if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number]) ) {
    1098                 $_POST['widget-rss'][$number] = wp_unslash( $_POST['widget-rss'][$number] );
    1099                 $widget_options[$widget_id] = wp_widget_rss_process( $_POST['widget-rss'][$number] );
    1100                 $widget_options[$widget_id]['number'] = $number;
    1101                 // title is optional. If black, fill it if possible
    1102                 if ( !$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title']) ) {
    1103                         $rss = fetch_feed($widget_options[$widget_id]['url']);
    1104                         if ( is_wp_error($rss) ) {
    1105                                 $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
    1106                         } else {
    1107                                 $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
    1108                                 $rss->__destruct();
    1109                                 unset($rss);
     831        wp_dashboard_cached_rss_widget( 'dashboard_rss', 'wp_dashboard_news_output', $default_urls );
     832       
     833        do_action( 'dashboard_news_end' );
     834}
     835
     836/**
     837 * Display news feeds
     838 *
     839 *
     840 *
     841 * @since 3.8.0
     842 *
     843 */
     844function wp_dashboard_news_output() {
     845        $widgets = get_option( 'dashboard_widget_options' );
     846
     847        foreach( $widgets['dashboard_rss'] as $type => $args ) {
     848                $args['type'] = $type;
     849                echo '<div class="rss-widget">';
     850                wp_widget_news_output( $args['url'], $args );
     851                echo "</div>";
     852        }
     853}
     854
     855/**
     856 * Generate code for each news feed
     857 *
     858 *
     859 *
     860 * @since 3.8.0
     861 *
     862 */
     863function wp_widget_news_output( $rss, $args = array() ) {
     864       
     865        // Regular RSS feeds
     866        if ( isset( $args['type'] ) && 'plugins' != $args['type'] )     
     867                return wp_widget_rss_output( $rss, $args );
     868       
     869        // Plugin feeds plus link to install them
     870        if ( ! is_multisite() && current_user_can( 'install_plugins' ) ) {
     871                $popular = fetch_feed( $args['url']['popular'] );
     872       
     873                if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) {
     874                        $plugin_slugs = array_keys( get_plugins() );
     875                        set_transient( 'plugin_slugs', $plugin_slugs, DAY_IN_SECONDS );
     876                }
     877       
     878                echo '<ul>';
     879       
     880                foreach ( array(
     881                        'popular' => __( 'Popular Plugin' )
     882                ) as $feed => $label ) {
     883                        if ( is_wp_error($$feed) || !$$feed->get_item_quantity() )
     884                                continue;
     885       
     886                        $items = $$feed->get_items(0, 5);
     887       
     888                        // Pick a random, non-installed plugin
     889                        while ( true ) {
     890                                // Abort this foreach loop iteration if there's no plugins left of this type
     891                                if ( 0 == count($items) )
     892                                        continue 2;
     893       
     894                                $item_key = array_rand($items);
     895                                $item = $items[$item_key];
     896       
     897                                list($link, $frag) = explode( '#', $item->get_link() );
     898       
     899                                $link = esc_url($link);
     900                                if ( preg_match( '|/([^/]+?)/?$|', $link, $matches ) )
     901                                        $slug = $matches[1];
     902                                else {
     903                                        unset( $items[$item_key] );
     904                                        continue;
     905                                }
     906       
     907                                // Is this random plugin's slug already installed? If so, try again.
     908                                reset( $plugin_slugs );
     909                                foreach ( $plugin_slugs as $plugin_slug ) {
     910                                        if ( $slug == substr( $plugin_slug, 0, strlen( $slug ) ) ) {
     911                                                unset( $items[$item_key] );
     912                                                continue 2;
     913                                        }
     914                                }
     915       
     916                                // If we get to this point, then the random plugin isn't installed and we can stop the while().
     917                                break;
    1110918                        }
     919       
     920                        // Eliminate some common badly formed plugin descriptions
     921                        while ( ( null !== $item_key = array_rand($items) ) && false !== strpos( $items[$item_key]->get_description(), 'Plugin Name:' ) )
     922                                unset($items[$item_key]);
     923       
     924                        if ( !isset($items[$item_key]) )
     925                                continue;
     926       
     927                        $title = esc_html( $item->get_title() );
     928       
     929                        $description = esc_html( strip_tags( @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) ) ) );
     930       
     931                        $ilink = wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' . $slug, 'install-plugin_' . $slug) . '&amp;TB_iframe=true&amp;width=600&amp;height=800';
     932       
     933                        echo "<li class='dashboard-news-plugin'><span>$label:</span> <a href='$link' class='dashboard-news-plugin-link'>$title</a></h5>&nbsp;<span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span></li>";
     934       
     935                        $$feed->__destruct();
     936                        unset( $$feed );
    1111937                }
    1112                 update_option( 'dashboard_widget_options', $widget_options );
    1113                 $cache_key = 'dash_' . md5( $widget_id );
    1114                 delete_transient( $cache_key );
     938               
     939                echo '</ul>';
    1115940        }
    1116 
    1117         wp_widget_rss_form( $widget_options[$widget_id], $form_inputs );
    1118941}
    1119942
    1120943/**
     
    1127950 * @return bool True if not multisite, user can't upload files, or the space check option is disabled.
    1128951*/
    1129952function wp_dashboard_quota() {
    1130         if ( !is_multisite() || !current_user_can('upload_files') || get_site_option( 'upload_space_check_disabled' ) )
     953        if ( !is_multisite() || !current_user_can( 'upload_files' ) || get_site_option( 'upload_space_check_disabled' ) )
    1131954                return true;
    1132955
    1133956        $quota = get_space_allowed();
     
    1137960                $percentused = '100';
    1138961        else
    1139962                $percentused = ( $used / $quota ) * 100;
    1140         $used_color = ( $percentused >= 70 ) ? ' spam' : '';
     963        $used_class = ( $percentused >= 70 ) ? ' warning' : '';
    1141964        $used = round( $used, 2 );
    1142965        $percentused = number_format( $percentused );
    1143966
    1144967        ?>
    1145         <p class="sub musub"><?php _e( 'Storage Space' ); ?></p>
    1146         <div class="table table_content musubtable">
    1147         <table>
    1148                 <tr class="first">
    1149                         <td class="first b b-posts"><?php printf( __( '<a href="%1$s" title="Manage Uploads" class="musublink">%2$sMB</a>' ), esc_url( admin_url( 'upload.php' ) ), number_format_i18n( $quota ) ); ?></td>
    1150                         <td class="t posts"><?php _e( 'Space Allowed' ); ?></td>
    1151                 </tr>
    1152         </table>
     968        <h4 class="mu-storage"><?php _e( 'Storage Space' ); ?></h4>
     969        <div class="mu-storage">
     970        <ul>
     971                <li class="storage-count">
     972                        <?php printf(
     973                                '<a href="%1$s" title="%3$s">%2$sMB %4$s</a>',
     974                                esc_url( admin_url( 'upload.php' ) ),
     975                                number_format_i18n( $quota ),
     976                                __( 'Manage Uploads' ),
     977                                __( 'Space Allowed' )
     978                        ); ?>
     979                </li><li class="storage-count <?php echo $used_class; ?>">
     980                        <?php printf(
     981                                '<a href="%1$s" title="%4$s" class="musublink">%2$sMB (%3$s%%) %5$s</a>',
     982                                esc_url( admin_url( 'upload.php' ) ),
     983                                number_format_i18n( $used, 2 ),
     984                                $percentused,
     985                                __( 'Manage Uploads' ),
     986                                __( 'Space Used' )
     987                        ); ?>
     988                </li>
     989        </ul>
    1153990        </div>
    1154         <div class="table table_discussion musubtable">
    1155         <table>
    1156                 <tr class="first">
    1157                         <td class="b b-comments"><?php printf( __( '<a href="%1$s" title="Manage Uploads" class="musublink">%2$sMB (%3$s%%)</a>' ), esc_url( admin_url( 'upload.php' ) ), number_format_i18n( $used, 2 ), $percentused ); ?></td>
    1158                         <td class="last t comments<?php echo $used_color;?>"><?php _e( 'Space Used' );?></td>
    1159                 </tr>
    1160         </table>
    1161         </div>
    1162         <br class="clear" />
    1163991        <?php
    1164992}
    1165993add_action( 'activity_box_end', 'wp_dashboard_quota' );
  • wp-admin/includes/deprecated.php

     
    730730 */
    731731function wp_dashboard_quick_press_output() {
    732732        _deprecated_function( __FUNCTION__, '3.2', 'wp_dashboard_quick_press()' );
    733         wp_dashboard_quick_press();
     733        wp_dashboard_quick_draft();
    734734}
    735735
    736736/**
  • wp-admin/post.php

     
    6666                $location = add_query_arg( 'message', 3, wp_get_referer() );
    6767                $location = explode('#', $location);
    6868                $location = $location[0] . '#postcustom';
    69         } elseif ( 'post-quickpress-save-cont' == $_POST['action'] ) {
    70                 $location = "post.php?action=edit&post=$post_id&message=7";
    7169        } else {
    7270                $location = add_query_arg( 'message', 4, get_edit_post_link( $post_id, 'url' ) );
    7371        }
     
    9694}
    9795
    9896switch($action) {
     97case 'post-quickdraft-save':
     98        // Check nonce and capabilities
     99        $nonce = $_REQUEST['_wpnonce'];
     100        $error_msg = false;
     101        if ( ! wp_verify_nonce( $nonce, 'add-post' ) )
     102                $error_msg = 'Unable to submit this form, please refresh and try again.';
     103               
     104        if ( ! current_user_can( 'edit_posts' ) )
     105                $error_msg = "Oops, you don't have access to add new drafts.";
     106               
     107        if ( $error_msg )
     108                return wp_dashboard_quick_draft( $error_msg );
     109               
     110        $post = get_post( $_REQUEST['post_ID'] );
     111        check_admin_referer( 'add-' . $post->post_type );
     112        edit_post();
     113        // output the quickdraft dashboard widget
     114        require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
     115        wp_dashboard_quick_draft();
     116        exit;
     117        break;
     118       
    99119case 'postajaxpost':
    100120case 'post':
    101 case 'post-quickpress-publish':
    102 case 'post-quickpress-save':
    103         check_admin_referer('add-' . $post_type);
     121        // Check nonce and capabilities
     122        $nonce = $_REQUEST['_wpnonce'];
     123        $error_msg = false;
     124        if ( ! wp_verify_nonce( $nonce, 'add-post' ) )
     125                $error_msg = 'Unable to submit this form, please refresh and try again.';
     126               
     127        if ( ! current_user_can( 'edit_posts' ) )
     128                $error_msg = "Oops, you don't have access to add new drafts.";
    104129
    105         if ( 'post-quickpress-publish' == $action )
    106                 $_POST['publish'] = 'publish'; // tell write_post() to publish
     130        $post_id = 'postajaxpost' == $action ? edit_post() : write_post();
    107131
    108         if ( 'post-quickpress-publish' == $action || 'post-quickpress-save' == $action ) {
    109                 $_POST['comment_status'] = get_option('default_comment_status');
    110                 $_POST['ping_status'] = get_option('default_ping_status');
    111                 $post_id = edit_post();
    112         } else {
    113                 $post_id = 'postajaxpost' == $action ? edit_post() : write_post();
    114         }
    115 
    116         if ( 0 === strpos( $action, 'post-quickpress' ) ) {
    117                 $_POST['post_ID'] = $post_id;
    118                 // output the quickpress dashboard widget
    119                 require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
    120                 wp_dashboard_quick_press();
    121                 exit;
    122         }
    123 
    124132        redirect_post($post_id);
    125133        exit();
    126134        break;
  • wp-admin/js/dashboard.js

     
    2929
    3030        // These widgets are sometimes populated via ajax
    3131        ajaxWidgets = [
    32                 'dashboard_incoming_links',
    33                 'dashboard_primary',
    34                 'dashboard_secondary',
    35                 'dashboard_plugins'
     32                'dashboard_rss'
    3633        ];
    3734
    3835        ajaxPopulateWidgets = function(el) {
     
    6158        ajaxPopulateWidgets();
    6259
    6360        postboxes.add_postbox_toggles(pagenow, { pbshow: ajaxPopulateWidgets } );
    64 
     61       
    6562        /* QuickPress */
    6663        quickPressLoad = function() {
    6764                var act = $('#quickpost-action'), t;
    6865                t = $('#quick-press').submit( function() {
    69                         $('#dashboard_quick_press #publishing-action .spinner').show();
     66                        $('#dashboard_quick_draft #publishing-action .spinner').show();
    7067                        $('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop('disabled', true);
    7168
    72                         if ( 'post' == act.val() ) {
    73                                 act.val( 'post-quickpress-publish' );
     69                        $.post( t.attr( 'action' ), t.serializeArray(), function( data ) {
     70                                // Replace the form, and prepend the published post.
     71                                $('#dashboard_quick_draft .inside').html( data );
     72                                $('#quick-press').removeClass('initial-form');
     73                                quickPressLoad();
     74                                highlightLatestPost();
     75                                $('#title').focus();
     76                        });
     77                       
     78                        function highlightLatestPost () {
     79                                var latestPost = $('#draft-list li').first();
     80                                latestPost.css('background', '#fffbe5');
     81                                setTimeout(function () {
     82                                        latestPost.css('background', 'none');
     83                                }, 1000);
    7484                        }
    75 
    76                         $('#dashboard_quick_press div.inside').load( t.attr( 'action' ), t.serializeArray(), function() {
    77                                 $('#dashboard_quick_press #publishing-action .spinner').hide();
    78                                 $('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop('disabled', false);
    79                                 $('#dashboard_quick_press ul').next('p').remove();
    80                                 $('#dashboard_quick_press ul').find('li').each( function() {
    81                                         $('#dashboard_recent_drafts ul').prepend( this );
    82                                 } ).end().remove();
    83                                 quickPressLoad();
    84                         } );
     85                       
    8586                        return false;
    8687                } );
    87 
     88       
    8889                $('#publish').click( function() { act.val( 'post-quickpress-publish' ); } );
    8990
    90                 $('#title, #tags-input').each( function() {
     91                $('#title, #tags-input, #content').each( function() {
    9192                        var input = $(this), prompt = $('#' + this.id + '-prompt-text');
    9293
    9394                        if ( '' === this.value )
     
    109110                });
    110111
    111112                $('#quick-press').on( 'click focusin', function() {
     113                        $(this).addClass("quickpress-open");
     114                        $("#description-wrap, p.submit").slideDown(200);
    112115                        wpActiveEditor = 'content';
    113116                });
    114117        };
    115118        quickPressLoad();
     119       
     120        // Activity Widget
     121        $( '.show-more a' ).on( 'click', function(e) {
     122                $( this ).fadeOut().closest('.activity-block').find( 'li.hidden' ).fadeIn().removeClass( 'hidden' );
     123                e.preventDefault();
     124        })
     125       
     126        // Dashboard columns
     127        jQuery(document).ready(function ($) {
     128                // Update main column count on load
     129                updateColumnCount();
     130        });
     131       
     132        jQuery(window).resize( _.debounce( function(){
     133                updateColumnCount();
     134        }, 30) );
     135       
     136        function updateColumnCount() {
     137                var cols = 1,
     138                        windowWidth = parseInt(jQuery(window).width());
     139                if (799 < windowWidth && 1299 > windowWidth)
     140                        cols = 2;
     141                if (1300 < windowWidth && 1799 > windowWidth)
     142                        cols = 3;
     143                if (1800 < windowWidth)
     144                        cols = 4;
     145                jQuery('.metabox-holder').attr('class', jQuery('.metabox-holder').attr('class').replace(/columns-\d+/, 'columns-' + cols));
     146        }
    116147
    117148} );
  • wp-admin/js/plugin-install.js

     
    2727
    2828        $(window).resize(function(){ tb_position(); });
    2929
    30         $('#dashboard_plugins, .plugins').on( 'click', 'a.thickbox', function() {
     30        $('.plugins').on( 'click', 'a.thickbox', function() {
    3131                tb_click.call(this);
    3232
    3333                $('#TB_title').css({'background-color':'#222','color':'#cfcfcf'});
  • wp-admin/index.php

     
    2929$title = __('Dashboard');
    3030$parent_file = 'index.php';
    3131
    32 if ( is_user_admin() )
    33         add_screen_option('layout_columns', array('max' => 4, 'default' => 1) );
    34 else
    35         add_screen_option('layout_columns', array('max' => 4, 'default' => 2) );
    36 
    3732$help = '<p>' . __( 'Welcome to your WordPress Dashboard! This is the screen you will see when you log in to your site, and gives you access to all the site management features of WordPress. You can get help for any screen by clicking the Help tab in the upper corner.' ) . '</p>';
    3833
    3934// Not using chaining here, so as to be parseable by PHP4.
     
    4742
    4843// Help tabs
    4944
    50 $help  = '<p>' . __('The left-hand navigation menu provides links to all of the WordPress administration screens, with submenu items displayed on hover. You can minimize this menu to a narrow icon strip by clicking on the Collapse Menu arrow at the bottom.') . '</p>';
    51 $help .= '<p>' . __('Links in the Toolbar at the top of the screen connect your dashboard and the front end of your site, and provide access to your profile and helpful WordPress information.') . '</p>';
    52 
     45$help  = '<p>' . __( 'The left-hand navigation menu provides links to all of the WordPress administration screens, with submenu items displayed on hover. You can minimize this menu to a narrow icon strip by clicking on the Collapse Menu arrow at the bottom.' ) . '</p>';
     46$help .= '<p>' . __( 'Links in the Toolbar at the top of the screen connect your dashboard and the front end of your site, and provide access to your profile and helpful WordPress information.' ) . '</p>';
     47 
    5348$screen->add_help_tab( array(
    5449        'id'      => 'help-navigation',
    55         'title'   => __('Navigation'),
     50        'title'   => __( 'Navigation' ),
    5651        'content' => $help,
    5752) );
    5853
    59 $help  = '<p>' . __('You can use the following controls to arrange your Dashboard screen to suit your workflow. This is true on most other administration screens as well.') . '</p>';
    60 $help .= '<p>' . __('<strong>Screen Options</strong> - Use the Screen Options tab to choose which Dashboard boxes to show, and how many columns to display.') . '</p>';
    61 $help .= '<p>' . __('<strong>Drag and Drop</strong> - To rearrange the boxes, drag and drop by clicking on the title bar of the selected box and releasing when you see a gray dotted-line rectangle appear in the location you want to place the box.') . '</p>';
    62 $help .= '<p>' . __('<strong>Box Controls</strong> - Click the title bar of the box to expand or collapse it. In addition, some boxes have configurable content, and will show a &#8220;Configure&#8221; link in the title bar if you hover over it.') . '</p>';
     54$help  = '<p>' . __( 'You can use the following controls to arrange your Dashboard screen to suit your workflow. This is true on most other administration screens as well.' ) . '</p>';
     55$help .= '<p>' . __( '<strong>Screen Options</strong> - Use the Screen Options tab to choose which Dashboard boxes to show.' ) . '</p>';
     56$help .= '<p>' . __( '<strong>Drag and Drop</strong> - To rearrange the boxes, drag and drop by clicking on the title bar of the selected box and releasing when you see a gray dotted-line rectangle appear in the location you want to place the box.' ) . '</p>';
     57$help .= '<p>' . __( '<strong>Box Controls</strong> - Click the title bar of the box to expand or collapse it. In addition, some boxes have configurable content, and will show a &#8220;Configure&#8221; link in the title bar if you hover over it.' ) . '</p>';
    6358
    6459$screen->add_help_tab( array(
    6560        'id'      => 'help-layout',
    66         'title'   => __('Layout'),
     61        'title'   => __( 'Layout' ),
    6762        'content' => $help,
    6863) );
    6964
    70 $help  = '<p>' . __('The boxes on your Dashboard screen are:') . '</p>';
     65$help  = '<p>' . __( 'The boxes on your Dashboard screen are:' ) . '</p>';
    7166if ( current_user_can( 'edit_posts' ) )
    72         $help .= '<p>' . __('<strong>Right Now</strong> - Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.') . '</p>';
    73 if ( current_user_can( 'moderate_comments' ) )
    74         $help .= '<p>' . __('<strong>Recent Comments</strong> - Shows the most recent comments on your posts (configurable, up to 30) and allows you to moderate them.') . '</p>';
    75 if ( current_user_can( 'publish_posts' ) )
    76         $help .= '<p>' . __('<strong>Incoming Links</strong> - Shows links to your site found by Google Blog Search.') . '</p>';
    77 if ( current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) {
    78         $help .= '<p>' . __('<strong>QuickPress</strong> - Allows you to create a new post and either publish it or save it as a draft.') . '</p>';
    79         $help .= '<p>' . __('<strong>Recent Drafts</strong> - Displays links to the 5 most recent draft posts you&#8217;ve started.') . '</p>';
    80 }
    81 $help .= '<p>' . __('<strong>WordPress Blog</strong> - Latest news from the official WordPress project.') . '</p>';
    82 $help .= '<p>' . __('<strong>Other WordPress News</strong> - Shows the <a href="http://planet.wordpress.org" target="_blank">WordPress Planet</a> feed. You can configure it to show a different feed of your choosing.') . '</p>';
     67        $help .= '<p>' . __( '<strong>Site Content</strong> - Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.' ) . '</p>';
     68$help .= '<p>' . __( '<strong>Activity</strong> - Shows the upcoming scheduled posts, recently published posts, and the most recent comments on your posts and allows you to moderate them.' ) . '</p>';
     69if ( is_blog_admin() && current_user_can( 'edit_posts' ) )
     70        $help .= '<p>' . __( "<strong>Quick Draft</strong> - Allows you to create a new post and save it as a draft. Also displays links to the 5 most recent draft posts you've started." ) . '</p>';
    8371if ( ! is_multisite() && current_user_can( 'install_plugins' ) )
    84         $help .= '<p>' . __('<strong>Plugins</strong> - Features the most popular, newest, and recently updated plugins from the WordPress.org Plugin Directory.') . '</p>';
     72        $help .= '<p>' . __( '<strong>WordPress News</strong> - Latest news from the official WordPress project, the <a href="http://planet.wordpress.org/">WordPress Planet</a>, and popular and recent plugins.' ) . '</p>';
     73else
     74        $help .= '<p>' . __( '<strong>WordPress News</strong> - Latest news from the official WordPress project, the <a href="http://planet.wordpress.org/">WordPress Planet</a>.' ) . '</p>';
    8575if ( current_user_can( 'edit_theme_options' ) )
    86         $help .= '<p>' . __('<strong>Welcome</strong> - Shows links for some of the most common tasks when setting up a new site.') . '</p>';
    87 
     76        $help .= '<p>' . __( '<strong>Welcome</strong> - Shows links for some of the most common tasks when setting up a new site.' ) . '</p>';
     77 
    8878$screen->add_help_tab( array(
    8979        'id'      => 'help-content',
    90         'title'   => __('Content'),
     80        'title'   => __( 'Content' ),
    9181        'content' => $help,
    9282) );
    9383
    9484unset( $help );
    95 
     85 
    9686$screen->set_help_sidebar(
    9787        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
    9888        '<p>' . __( '<a href="http://codex.wordpress.org/Dashboard_Screen" target="_blank">Documentation on Dashboard</a>' ) . '</p>' .
    9989        '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
    10090);
    10191
    102 include (ABSPATH . 'wp-admin/admin-header.php');
     92include ( ABSPATH . 'wp-admin/admin-header.php' );
    10393
    104 $today = current_time('mysql', 1);
     94$today = current_time( 'mysql', 1 );
    10595?>
    10696
    10797<div class="wrap">
    108 <?php screen_icon(); ?>
    109 <h2><?php echo esc_html( $title ); ?></h2>
     98        <?php screen_icon(); ?>
     99        <h2><?php echo esc_html( $title ); ?></h2>
    110100
    111 <?php if ( has_action( 'welcome_panel' ) && current_user_can( 'edit_theme_options' ) ) :
     101        <?php if ( has_action( 'welcome_panel' ) && current_user_can( 'edit_theme_options' ) ) :
    112102        $classes = 'welcome-panel';
    113103
    114104        $option = get_user_meta( get_current_user_id(), 'show_welcome_panel', true );
     
    117107        if ( $hide )
    118108                $classes .= ' hidden'; ?>
    119109
    120         <div id="welcome-panel" class="<?php echo esc_attr( $classes ); ?>">
    121                 <?php wp_nonce_field( 'welcome-panel-nonce', 'welcomepanelnonce', false ); ?>
     110        <div id="welcome-panel" class="<?php echo esc_attr( $classes ); ?>">
     111                <?php wp_nonce_field( 'welcome-panel-nonce', 'welcomepanelnonce', false ); ?>
    122112                <a class="welcome-panel-close" href="<?php echo esc_url( admin_url( '?welcome=0' ) ); ?>"><?php _e( 'Dismiss' ); ?></a>
    123113                <?php
    124114                /**
     
    129119                 *
    130120                 * @since 3.5.0
    131121                 */
    132                 do_action( 'welcome_panel' );
     122                do_action( 'welcome_panel' ); 
    133123                ?>
    134124        </div>
    135 <?php endif; ?>
     125        <?php endif; ?>
    136126
    137 <div id="dashboard-widgets-wrap">
     127        <div id="dashboard-widgets-wrap">
     128        <?php wp_dashboard(); ?>
     129        </div><!-- dashboard-widgets-wrap -->
    138130
    139 <?php wp_dashboard(); ?>
    140 
    141 <div class="clear"></div>
    142 </div><!-- dashboard-widgets-wrap -->
    143 
    144131</div><!-- wrap -->
    145132
    146 <?php require(ABSPATH . 'wp-admin/admin-footer.php'); ?>
     133<?php require( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
     134 No newline at end of file
  • wp-admin/css/ie-rtl.css

     
    8686        margin-right: 335px !important;
    8787}
    8888
    89 #dashboard_plugins {
    90         direction: ltr;
    91 }
    92 
    93 #dashboard_plugins h3.hndle {
    94         direction: rtl;
    95 }
    96 
    97 #dashboard_incoming_links ul li,
    98 #dashboard_secondary ul li,
    99 #dashboard_primary ul li,
    10089p.row-actions {
    10190        width: 100%;
    10291}
  • wp-admin/css/ie.css

     
    141141        overflow: visible;
    142142}
    143143
    144 #dashboard-widgets #dashboard_quick_press form p.submit #publish {
    145         float: none;
    146 }
    147 
    148144#dashboard-widgets h3 a {
    149145        height: 14px;
    150146        line-height: 14px;
  • wp-admin/css/colors-fresh.css

     
    126126        border-right-color: #eee;
    127127}
    128128
    129 #dashboard_right_now .t,
    130 #dashboard_right_now .b {
    131         color: #777;
    132 }
    133 
    134129#the-comment-list .comment-item p.row-actions,
    135 #dashboard_recent_comments .subsubsub,
    136130.plugins .row-actions-visible,
    137131.row-actions {
    138132        color: #ddd;
     
    552546        color: #2ea2cc;
    553547}
    554548
    555 #the-comment-list .comment-item,
    556 #dashboard-widgets #dashboard_quick_press form p.submit {
     549#the-comment-list .comment-item {
    557550        border: none;
    558551}
    559552
     
    580573table.widefat span.delete a,
    581574table.widefat span.trash a,
    582575table.widefat span.spam a,
    583 #dashboard_recent_comments .delete a,
    584 #dashboard_recent_comments .trash a,
    585 #dashboard_recent_comments .spam a,
    586576.plugins a.delete,
    587577#all-plugins-table .plugins a.delete,
    588578#search-plugins-table .plugins a.delete,
     
    596586table.widefat span.delete a:hover,
    597587table.widefat span.trash a:hover,
    598588table.widefat span.spam a:hover,
    599 #dashboard_recent_comments .delete a:hover,
    600 #dashboard_recent_comments .trash a:hover,
    601 #dashboard_recent_comments .spam a:hover,
    602589.plugins a.delete:hover,
    603590#all-plugins-table .plugins a.delete:hover,
    604591#search-plugins-table .plugins a.delete:hover,
     
    771758        border-color: #666;
    772759}
    773760
    774 #dashboard_secondary div.dashboard-widget-content ul li a {
    775         background-color: #f9f9f9;
    776 }
    777 
    778761input.readonly, textarea.readonly {
    779762        background-color: #ddd;
    780763}
     
    929912}
    930913
    931914#the-comment-list .unapproved th,
    932 #the-comment-list .unapproved td,
    933 #dashboard_recent_comments #the-comment-list .unapproved {
     915#the-comment-list .unapproved td {
    934916        background-color: #fefaf7;
    935917}
    936918
    937 #the-comment-list .unapproved th.check-column,
    938 #dashboard_recent_comments #the-comment-list .unapproved {
     919#the-comment-list .unapproved th.check-column {
    939920        border-left: 4px solid #d54e21;
    940921}
    941922
    942 #dashboard_recent_comments #the-comment-list .unapproved .avatar {
    943         margin-left: -4px;
    944 }
    945 
    946923#the-comment-list .approve a {
    947924        color: #006505;
    948925}
     
    10381015
    10391016.postbox h3,
    10401017#namediv h3,
    1041 #submitdiv h3,
    1042 #dashboard_recent_comments .comment {
     1018#submitdiv h3 {
    10431019        color: #555;
    10441020        border-bottom: 1px solid #eeeeee;
    10451021}
     
    11651141.widget-control-remove:hover,
    11661142table.widefat .delete a:hover,
    11671143table.widefat .trash a:hover,
    1168 table.widefat .spam a:hover,
    1169 #dashboard_recent_comments .delete a:hover,
    1170 #dashboard_recent_comments .trash a:hover
    1171 #dashboard_recent_comments .spam a:hover {
     1144table.widefat .spam a:hover {
    11721145        color: #f00;
    11731146}
    11741147
     
    21972170        border-right: 4px solid #d54e21;
    21982171}
    21992172
    2200 .rtl #the-comment-list .unapproved th.check-column,
    2201 .rtl #dashboard_recent_comments #the-comment-list .unapproved {
     2173.rtl #the-comment-list .unapproved th.check-column {
    22022174    border-left: none;
    22032175    border-right: 4px solid #d54e21;
    22042176}
    2205 
    2206 .rtl #dashboard_recent_comments #the-comment-list .unapproved .avatar {
    2207         margin-left: 10px;
    2208     margin-right: -4px;
    2209 }
  • wp-admin/css/wp-admin-rtl.css

     
    668668
    669669.welcome-panel .welcome-panel-close:before {
    670670        left: auto;
    671         right: -12px;
     671        right: -18px;
    672672}
    673673
    674674.welcome-panel-content {
     
    22272227#dashboard_right_now p.sub,
    22282228#dashboard-widgets h4,
    22292229a.rsswidget,
    2230 #dashboard_plugins h4,
    2231 #dashboard_plugins h5,
    2232 #dashboard_recent_comments .comment-meta .approve,
    22332230#dashboard_right_now td.b,
    22342231#dashboard_right_now .versions a {
    22352232        font-family: Tahoma, Arial, sans-serif;
     
    22642261        clear: left;
    22652262}
    22662263
    2267 #dashboard_plugins .inside span {
    2268          padding-left: 0;
    2269          padding-right: 5px;
    2270 }
    2271 
    22722264#dashboard-widgets h3 .postbox-title-action {
    22732265        right: auto;
    22742266        left: 10px;
     
    23062298        margin-right: 3px;
    23072299}
    23082300
    2309 /* QuickPress */
    2310 #dashboard-widgets #dashboard_quick_press form p.submit input {
    2311         float: right;
    2312 }
    2313 
    2314 #dashboard-widgets #dashboard_quick_press form p.submit #save-post {
    2315         margin: 0 1px 0 0.7em;
    2316 }
    2317 
    2318 #dashboard-widgets #dashboard_quick_press form p.submit #publish {
    2319         float: left;
    2320 }
    2321 
    2322 #dashboard-widgets #dashboard_quick_press form p.submit .spinner {
    2323         margin: 4px 0 0 6px;
    2324 }
    2325 
    2326 #dashboard_quick_press .input-text-wrap {
    2327         margin-right: 0;
    2328         margin-left: 1px;
    2329 }
    2330 
    2331 #dashboard_quick_press .wp-media-buttons,
    2332 #dashboard_quick_press .textarea-wrap {
    2333         margin-left: 0;
    2334         margin-right: 1px;
    2335 }
    2336 
    2337 /* Recent Drafts */
    2338 #dashboard_recent_drafts h4 abbr {
    2339         font-family: Tahoma, Arial, sans-serif;
    2340         margin-left:0;
    2341         margin-right: 3px;
    2342 }
    2343 
    23442301/* login */
    23452302body.login {
    23462303        font-family: Tahoma, Arial, sans-serif;
     
    30132970.locale-he-il #dashboard_right_now p.sub,
    30142971.locale-he-il #dashboard-widgets h4,
    30152972.locale-he-il a.rsswidget,
    3016 .locale-he-il #dashboard_plugins h4,
    3017 .locale-he-il #dashboard_plugins h5,
    3018 .locale-he-il #dashboard_recent_comments .comment-meta .approve,
    30192973.locale-he-il #dashboard_right_now td.b,
    30202974.locale-he-il #dashboard_right_now .versions a,
    30212975.locale-he-il .rss-widget span.rss-date,
    3022 .locale-he-il #dashboard_recent_drafts h4 abbr,
    30232976body.login.locale-he-il,
    30242977.locale-he-il #login form .submit input,
    30252978.locale-he-il #menu-management .nav-tabs-arrow-right,
  • wp-admin/css/wp-admin.css

     
    905905
    906906div.sidebar-name h3,
    907907#menu-management .nav-tab,
    908 #dashboard_plugins h5,
    909908a.rsswidget,
    910909#dashboard_right_now td.b,
    911910#dashboard-widgets h4,
     
    26272626        margin: 0 8px;
    26282627}
    26292628
    2630 #dashboard_recent_comments div.undo {
    2631         margin: 0 -12px;
    2632         padding: 6px 12px;
    2633         font-size: 11px;
    2634 }
    2635 
    2636 #dashboard_recent_comments div.undo .avatar {
    2637         float: left;
    2638 }
    2639 
    2640 #dashboard_recent_comments div.undo div {
    2641         min-height: 20px;
    2642 }
    2643 
    26442629#the-comment-list td.comment p.comment-author {
    26452630        margin-top: 0;
    26462631        margin-left: 0;
     
    76587643}
    76597644
    76607645/* Recent Comments */
    7661 #dashboard_recent_comments h3 {
    7662         margin-bottom: 0;
    7663 }
    76647646
    7665 #dashboard_recent_comments .inside {
    7666         margin-top: 0;
    7667 }
    7668 
    7669 #dashboard_recent_comments .comment-meta .approve {
    7670         font-family: "Open Sans", sans-serif;
    7671         font-size: 13px;
    7672         line-height: 1;
    7673         margin: 0 10px;
    7674 }
    7675 
    7676 #dashboard_recent_comments .subsubsub {
    7677         float: none;
    7678         white-space: normal;
    7679 }
    7680 
    76817647#the-comment-list {
    76827648        position: relative;
    76837649}
     
    77237689        display: inline;
    77247690}
    77257691
    7726 #dashboard_recent_comments #the-comment-list .trackback blockquote,
    7727 #dashboard_recent_comments #the-comment-list .pingback blockquote {
    7728         display: block;
    7729 }
    7730 
    77317692#the-comment-list .comment-item p.row-actions {
    77327693        margin: 3px 0 0;
    77337694        padding: 0;
    77347695        font-size: 13px;
    77357696}
    77367697
    7737 /* QuickPress */
    7738 #header-logo {
    7739         display: none;
    7740 }
     7698/* QuickDraft */
    77417699
    7742 #site-heading:before {
    7743         top: 3px;
    7744         position: relative;
    7745         display: inline-block;
    7746         font: normal 18px/1 'dashicons';
    7747         speak: none;
    7748         color: #727272;
    7749         content: '\f120';
    7750         -webkit-font-smoothing: antialiased;
    7751         -moz-osx-font-smoothing: grayscale;
    7752 }
    7753 .no-js #dashboard_quick_press {
    7754         display: none;
    7755 }
    7756 
    7757 #dashboard_quick_press .easy-blogging {
    7758         padding: 0 8px;
    7759         text-align: left;
    7760 }
    7761 
    7762 #dashboard_quick_press .input-text-wrap {
    7763         position: relative;
    7764 }
    7765 
    7766 #dashboard_quick_press .prompt {
    7767         color: #bbb;
    7768         position: absolute;
    7769 }
    7770 
    7771 #dashboard_quick_press div.updated  {
    7772         padding: 0 5px;
    7773 }
    7774 
    7775 #title-wrap label,
    7776 #tags-input-wrap label {
     7700#title-wrap label {
    77777701        cursor: text;
    77787702}
    77797703
     
    77847708        outline: none;
    77857709}
    77867710
    7787 #tags-input-wrap #tags-input {
    7788         outline: none;
    7789         padding: 3px 6px;
    7790 }
    7791 
    77927711#title-wrap #title-prompt-text {
    77937712        font-size: 1.3em;
    77947713        padding: 5px 8px;
    77957714}
    77967715
    7797 #tags-input-wrap #tags-input-prompt-text {
    7798         font-size: 1em;
    7799         padding: 5px 8px;
    7800 }
    7801 
    7802 #dashboard_quick_press .input-text-wrap,
    7803 #dashboard_quick_press .textarea-wrap {
    7804         margin: 0 0 .7em 0;
    7805 }
    7806 
    7807 #dashboard_quick_press .input-text-wrap {
    7808         margin-right: 1px;
    7809 }
    7810 
    7811 #dashboard_quick_press .textarea-wrap {
    7812         margin-left: 1px;
    7813 }
    7814 
    7815 #dashboard_quick_press .wp-media-buttons {
    7816         margin: 0 0 2px 1px;
    7817         padding: 0;
    7818 }
    7819 
    7820 #dashboard_quick_press .wp-media-buttons a {
    7821         color: #777;
    7822         margin-bottom: 0;
    7823 }
    7824 
    7825 #dashboard-widgets #dashboard_quick_press form p.submit input {
    7826         float: left;
    7827 }
    7828 
    7829 #dashboard-widgets #dashboard_quick_press form p.submit #save-post {
    7830         margin: 0 0.7em 0 1px;
    7831 }
    7832 
    7833 #dashboard-widgets #dashboard_quick_press form p.submit #publish {
    7834         float: right;
    7835 }
    7836 
    7837 #dashboard-widgets #dashboard_quick_press form p.submit .spinner {
    7838         vertical-align: middle;
    7839         margin: 4px 6px 0 0;
    7840 }
    7841 
    7842 /* Recent Drafts */
    7843 #dashboard_recent_drafts ul,
    7844 #dashboard_recent_drafts p {
    7845         margin: 0;
    7846         padding: 0;
    7847         word-wrap: break-word;
    7848 }
    7849 
    7850 #dashboard_recent_drafts ul {
    7851         list-style: none;
    7852 }
    7853 
    7854 #dashboard_recent_drafts ul li {
    7855         margin-bottom: 1em;
    7856 }
    7857 
    7858 #dashboard_recent_drafts h4 {
    7859         line-height: 1.7em;
    7860         word-wrap: break-word;
    7861 }
    7862 
    7863 #dashboard_recent_drafts h4 abbr {
    7864         font-weight: normal;
    7865         font-family: "Open Sans", sans-serif;
    7866         font-size: 12px;
    7867         color: #999;
    7868         margin-left: 3px;
    7869 }
    7870 
    78717716/* Feeds */
    78727717.rss-widget ul {
    78737718        margin: 0;
     
    79037748        content: '\2014';
    79047749}
    79057750
    7906 /* Plugins */
    7907 #dashboard_plugins h4 {
    7908         line-height: 1.7em;
    7909 }
    7910 
    7911 #dashboard_plugins h5 {
    7912         font-weight: normal;
    7913         font-size: 13px;
    7914         margin: 0;
    7915         display: inline;
    7916         line-height: 1.4em;
    7917 }
    7918 
    7919 #dashboard_plugins h5 a {
    7920         line-height: 1.4em;
    7921 }
    7922 
    7923 #dashboard_plugins .inside span {
    7924         font-size: 12px;
    7925         padding-left: 5px;
    7926 }
    7927 
    7928 #dashboard_plugins p {
    7929         margin: 0.3em 0 1.4em;
    7930         line-height: 1.4em;
    7931 }
    7932 
    79337751.dashboard-comment-wrap {
    79347752        overflow: hidden;
    79357753        word-wrap: break-word;
  • wp-admin/css/temporary-dash-styles.css

     
     1/*------------------------------------------------------------------------------
     2  8.0 - Layout Blocks
     3------------------------------------------------------------------------------*/
     4#dashboard-widgets .postbox-container {
     5        width: 25%;
     6}
     7
     8#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container {
     9        border: none !important;
     10}
     11
     12#dashboard-widgets-wrap {
     13        overflow: hidden;
     14}
     15
     16/* one column on the dash */
     17/* this includes all of what's currently in wp-admin.css with column option related CSS removed */
     18@media only screen and (max-width: 799px) {
     19        #wpbody-content #dashboard-widgets .postbox-container {
     20                width: 100%;
     21        }
     22
     23        #wpbody-content .metabox-holder .postbox-container .empty-container {
     24                border: 0 none;
     25                height: 0;
     26                min-height: 0;
     27        }
     28}
     29
     30/* two columns on the dash */
     31@media only screen and (min-width: 800px) and (max-width: 1399px) {
     32        #wpbody-content #dashboard-widgets .postbox-container {
     33                width: 49.5%;
     34        }
     35
     36        #wpbody-content #dashboard-widgets #postbox-container-2,
     37        #wpbody-content #dashboard-widgets #postbox-container-3,
     38        #wpbody-content #dashboard-widgets #postbox-container-4 {
     39                float: right;
     40                width: 50.5%;
     41        }
     42
     43        #dashboard-widgets #postbox-container-3 .empty-container,
     44        #dashboard-widgets #postbox-container-4 .empty-container {
     45                border: 0 none;
     46                height: 0;
     47                min-height: 0;
     48        }
     49}
     50
     51/* three columns on the dash */
     52@media only screen and (min-width: 1400px) and (max-width: 1800px) {
     53        #wpbody-content #dashboard-widgets .postbox-container {
     54                width: 33.5%;
     55        }
     56
     57        #wpbody-content #dashboard-widgets #postbox-container-1 {
     58                width: 33%;
     59        }
     60
     61        #wpbody-content #dashboard-widgets #postbox-container-3,
     62        #wpbody-content #dashboard-widgets #postbox-container-4 {
     63                float: right;
     64        } 
     65
     66        #dashboard-widgets #postbox-container-4 .empty-container {
     67                border: 0 none;
     68                height: 0;
     69                min-height: 0;
     70        }
     71}
     72
     73/* Browse happy box */
     74
     75#dashboard-widgets #dashboard_browser_nag.postbox .inside {
     76        margin: 10px;
     77}
     78
     79/* Dashboard WordPress news */
     80
     81#dashboard_rss .inside {
     82        margin: 0;
     83        padding: 0;
     84}
     85
     86#dashboard_rss .widget-loading,
     87#dashboard_rss .dashboard-widget-control-form {
     88        padding: 12px 12px 0;
     89}
     90
     91body #dashboard-widgets .postbox form .submit {
     92        margin: 0;
     93}
     94
     95.dashboard-news-plugin a.dashboard-news-plugin-link,
     96.dashboard-news-plugin span {
     97        float: left;
     98        margin: 0 5px 0 0;
     99}
     100
     101.dashboard-widget-control-form {
     102        overflow: hidden;
     103}
     104
     105.dashboard-widget-control-form p {
     106        margin-top: 0;
     107}
     108
     109.rssSummary {
     110        color: #999;
     111        margin-top: 4px;
     112}
     113
     114.rss-widget {
     115        border-bottom: 1px solid #eee;
     116        font-size: 13px;
     117        padding: 8px 12px 12px;
     118}
     119
     120.rss-widget:last-child {
     121        border-bottom: none;
     122        padding-bottom: 0;
     123}
     124
     125.rss-widget a {
     126        font-weight: normal;
     127}
     128
     129.rss-widget span,
     130.rss-widget span.rss-date {
     131        color: #bbb;
     132}
     133
     134.rss-widget span.rss-date {
     135        margin-left: 12px;
     136}
     137
     138.rss-widget ul li {
     139        margin-bottom: 8px;
     140}
     141
     142.rss-title-row {
     143        overflow: hidden;
     144}
     145
     146.rss-title-row .rsswidget {
     147        float: left;
     148}
     149
     150.rss-title-row .rss-date {
     151        float: left;
     152        margin: 4px 0 0 12px;
     153}
     154
     155/* Dashboard right now */
     156
     157#dash-right-now ul {
     158        margin: 0;
     159        overflow: hidden;
     160}
     161
     162#dash-right-now li {
     163        width: 50%;
     164        float: left;
     165        margin-bottom: 10px;
     166}
     167
     168#dash-right-now .inside {
     169        margin-bottom: 0;
     170        overflow: hidden;
     171        padding: 0;
     172}
     173
     174#dash-right-now .main {
     175        padding: 0 12px;
     176}
     177
     178#dash-right-now .main p {
     179        margin: 0;
     180}
     181
     182.mu-storage {
     183        overflow: hidden;
     184}
     185
     186/* Dashboard right now - Colors */
     187
     188#dash-right-now li a:before {
     189        color: #888;
     190}
     191
     192#dash-right-now .sub {
     193        color: #bfbbbb;
     194        background: #f5f5f5;
     195        border-top-color: #dedede;
     196        padding: 12px 12px 6px 12px;
     197        border-top: 1px solid;
     198}
     199
     200#dash-right-now .sub h4 {
     201        color: #555;
     202}
     203
     204#dash-right-now .sub p {
     205        margin: 0 0 .5em;
     206        font-size: 11px;
     207}
     208
     209#dash-right-now .warning a:before {
     210        color: #d54e21;
     211}
     212
     213/* Dashboard right now - Icons */
     214#dash-right-now li a:before {
     215        content: '\f159';
     216        font: normal 20px/1 'dashicons';
     217        speak: none;
     218        display: block;
     219        float: left;
     220        margin: 0 5px 0 0;
     221        padding: 0;
     222        text-indent: 0;
     223        text-align: center;
     224        position: relative;
     225        -webkit-font-smoothing: antialiased;
     226        text-decoration: none !important;
     227}
     228
     229#dash-right-now .page-count a:before {
     230        content: '\f105';
     231}
     232
     233#dash-right-now .post-count a:before {
     234        content: '\f109';
     235}
     236
     237#dash-right-now .comment-count a:before {
     238        content: '\f101';
     239}
     240
     241#dash-right-now .comment-mod-count a:before {
     242        content: '\f125';
     243}
     244
     245#dash-right-now .storage-count a:before {
     246        content: '\f104';
     247}
     248
     249#dash-right-now .storage-count.warning a:before {
     250        content: '\f153';
     251}
     252
     253/* Dashboard Quick Draft */
     254
     255#dashboard_quick_draft div.updated {
     256        margin-bottom: 10px;
     257        border: 1px solid #eee;
     258        border-width: 1px 1px 1px 0;
     259}
     260
     261#dashboard_quick_draft form {
     262        padding: 0 12px 1px 12px;
     263        overflow: hidden;
     264}
     265
     266#dashboard_quick_draft .drafts,
     267#dashboard_quick_draft .easy-blogging {
     268        padding: 8px 12px 0;
     269}
     270
     271#dashboard-widgets .postbox .inside {
     272        margin: 10px 0;
     273        padding: 0;
     274}
     275
     276/* Dashboard Quick Draft - Form styling */
     277
     278input#save-post {
     279        float: right;
     280}
     281
     282form.initial-form label.prompt {
     283        font-style: italic;
     284}
     285
     286form.initial-form input#title {
     287        height: 3em;
     288}
     289
     290form.initial-form.quickpress-open label.prompt {
     291        font-style: normal;
     292}
     293
     294form.initial-form.quickpress-open input#title {
     295        height: auto;
     296}
     297
     298#dashboard_quick_draft input,
     299#dashboard_quick_draft textarea {
     300        box-sizing: border-box;
     301        -moz-box-sizing:border-box;
     302        -webkit-box-sizing:border-box;
     303        margin: 0;
     304}
     305
     306#dashboard_quick_draft textarea {
     307        resize: vertical;
     308}
     309
     310#dashboard-widgets .postbox form .submit {
     311        margin: -39px 0;
     312        float: right;
     313}
     314
     315#description-wrap {
     316        margin-top: 12px;
     317}
     318
     319#title-wrap #title-prompt-text,
     320.textarea-wrap #content-prompt-text {
     321        color: #BBB;
     322}
     323
     324#title-wrap #title-prompt-text {
     325        font-size: 1.1em;
     326        padding: 7px 8px;
     327}
     328
     329.initial-form #description-wrap,
     330.initial-form p.submit {
     331        display: none;
     332}
     333
     334.input-text-wrap,
     335.textarea-wrap {
     336        position: relative;
     337}
     338
     339.input-text-wrap .prompt,
     340.textarea-wrap .prompt {
     341        position: absolute;
     342}
     343
     344.textarea-wrap #content-prompt-text {
     345        font-size: 1.1em;
     346        padding: 7px 8px;
     347}
     348
     349.textarea-wrap textarea#content {
     350        margin: 0 0 8px;
     351        padding: 6px 7px;
     352}
     353
     354/* Dashboard Quick Draft - Drafts list */
     355
     356#dashboard_quick_draft .drafts {
     357        border-top: 1px solid #eee;
     358        margin-top: 12px;
     359}
     360
     361#dashboard_quick_draft .drafts abbr {
     362        border: none;
     363}
     364
     365#dashboard_quick_draft .drafts h4 {
     366        margin: 0 0 8px 0;
     367        font-weight: normal;
     368}
     369
     370#dashboard_quick_draft .drafts .view-all {
     371        float: right;
     372        margin-top: 0;
     373}
     374
     375#draft-list {
     376        margin: 0;
     377}
     378
     379#draft-list li {
     380        margin-bottom: 1em;
     381}
     382#draft-list li time {
     383        color: #bbb;
     384}
     385
     386#draft-list p {
     387        margin: 0;
     388}
     389
     390/* Dashboard activity widget */
     391
     392#dashboard_activity h4 {
     393        margin: 0 12px 8px;
     394        font-weight: normal;
     395}
     396
     397#dashboard_activity h4.comment-meta {
     398        overflow: hidden;
     399        text-overflow: ellipsis;
     400        white-space: nowrap;
     401        margin-bottom: 4px;
     402}
     403
     404#dashboard_activity ul {
     405        padding: 0 12px;
     406}
     407
     408#dashboard_activity .comment-meta span.approve:before {
     409        content: '\f227';
     410        font: 20px/.5 "dashicons";
     411        margin-left: 12px;
     412        vertical-align: middle;
     413        position: relative;
     414        top: -1px;
     415        margin-right: 2px;
     416}
     417
     418#dashboard_activity .inside {
     419        padding: 0;
     420        margin: 0;
     421}
     422
     423#dashboard_activity .no-activity {
     424        overflow: hidden;
     425        padding: 0 12px 12px;
     426        text-align: center;
     427}
     428
     429#dashboard_activity .no-activity p {
     430        color: #999;
     431        font-size: 16px;
     432}
     433
     434#dashboard_activity .no-activity .smiley {
     435        margin-top: 0;
     436}
     437
     438#dashboard_activity .no-activity .smiley:before {
     439        content: '\f328';
     440        font: normal 120px/1 'dashicons';
     441        speak: none;
     442        display: block;
     443        margin: 0 5px 0 0;
     444        padding: 0;
     445        text-indent: 0;
     446        text-align: center;
     447        position: relative;
     448        -webkit-font-smoothing: antialiased;
     449        text-decoration: none !important;
     450}
     451
     452#dashboard_activity .subsubsub {
     453        float: none;
     454        border-top: 1px solid #eeeeee;
     455        margin-top: 0;
     456        padding: 8px 12px 0 12px;
     457}
     458
     459#future-posts .show-more,
     460#published-posts .show-more {
     461        float: right;
     462}
     463
     464#future-posts ul,
     465#published-posts ul {
     466        clear: both;
     467        margin-bottom: 0;
     468}
     469
     470#future-posts li,
     471#published-posts li {
     472        overflow: hidden;
     473        margin-bottom: 8px;
     474}
     475
     476#future-posts ul span,
     477#published-posts ul span {
     478        color: #bbb;
     479        float: left;
     480        margin-right: 8px;
     481        min-width: 150px;
     482}
     483
     484.activity-block {
     485        border-bottom: 1px solid #eee;
     486        overflow: hidden;
     487        padding: 8px 0 0;
     488}
     489
     490.activity-block:last-child {
     491        border-bottom: none;
     492}
     493
     494.activity-block .subsubsub li {
     495        color: #ddd;
     496}
     497
     498/* Dashboard activity widget - Comments */
     499
     500#the-comment-list tr.undo, #the-comment-list div.undo {
     501        background: none;
     502        padding: 6px 0;
     503}
     504
     505#the-comment-list .alternate,
     506#the-comment-list .alt {
     507        background: none;
     508}
     509
     510#the-comment-list .comment {
     511        background: #f5f5f5;
     512        padding: 12px;
     513        position: relative;
     514        border-top: 1px solid #eeeeee;
     515}
     516
     517#the-comment-list img {
     518        position: absolute;
     519        left: 13px;
     520        top: 13px;
     521}
     522
     523#the-comment-list .dashboard-comment-wrap {
     524        padding-left: 63px;
     525}
     526
     527#the-comment-list .dashboard-comment-wrap blockquote {
     528        margin: 1em 0;
     529}
     530
     531#the-comment-list .comment-item h4 {
     532        font-size: 13px;
     533        color: #999;
     534}
     535
     536#the-comment-list .comment-item p.row-actions {
     537        margin: 4px 0 0 0;
     538}
     539
     540#the-comment-list .comment-item:first-child {
     541        border-top: 1px solid #eeeeee;
     542}
     543
     544#the-comment-list .unapproved {
     545        background: #f7fcfe;
     546}
     547
     548#the-comment-list .unapproved:before {
     549        content: "";
     550        display: block;
     551        position: absolute;
     552        left: 0;
     553        top: 0;
     554        bottom: 0;
     555        background: #d54e21;
     556        width: 4px;
     557}
     558/* Dashboard WordPress news */
     559
     560#dashboard_rss .inside {
     561        margin: 0;
     562        padding: 0;
     563}
     564
     565#dashboard_rss .widget-loading,
     566#dashboard_rss .dashboard-widget-control-form {
     567        padding: 12px 12px 0;
     568}
     569
     570body #dashboard-widgets .postbox form .submit {
     571        margin: 0;
     572}
     573
     574.dashboard-widget-control-form {
     575        overflow: hidden;
     576}
     577
     578.dashboard-widget-control-form p {
     579        margin-top: 0;
     580}
     581
     582.rssSummary {
     583        color: #999;
     584        margin-top: 4px;
     585}
     586
     587.rss-widget {
     588        border-bottom: 1px solid #eee;
     589        font-size: 13px;
     590        padding: 8px 12px 12px;
     591}
     592
     593.rss-widget:last-child {
     594        border-bottom: none;
     595        padding-bottom: 0;
     596}
     597
     598.rss-widget a {
     599        font-weight: normal;
     600}
     601
     602.rss-widget span,
     603.rss-widget span.rss-date {
     604        color: #bbb;
     605}
     606
     607.rss-widget span.rss-date {
     608        margin-left: 12px;
     609}
     610
     611.rss-widget ul li {
     612        margin-bottom: 8px;
     613}
     614
     615/* Dashboard right now */
     616
     617#dash-right-now ul {
     618        margin: 0;
     619        overflow: hidden;
     620}
     621
     622#dash-right-now li {
     623        width: 50%;
     624        float: left;
     625        margin-bottom: 10px;
     626}
     627
     628#dash-right-now .inside {
     629        margin-bottom: 0;
     630        overflow: hidden;
     631        padding: 0;
     632}
     633
     634#dash-right-now .main {
     635        padding: 0 12px;
     636}
     637
     638#dash-right-now .main p {
     639        margin: 0;
     640}
     641
     642.mu-storage {
     643        overflow: hidden;
     644}
     645
     646/* Dashboard right now - Colors */
     647
     648#dash-right-now li a:before {
     649        color: #888;
     650}
     651
     652#dash-right-now .sub {
     653        color: #bfbbbb;
     654        background: #f5f5f5;
     655        border-top-color: #dedede;
     656        padding: 12px 12px 6px 12px;
     657        border-top: 1px solid;
     658}
     659
     660#dash-right-now .sub h4 {
     661        color: #555;
     662}
     663
     664#dash-right-now .sub p {
     665        margin: 0 0 .5em;
     666        font-size: 11px;
     667}
     668
     669#dash-right-now .warning a:before {
     670        color: #d54e21;
     671}
     672
     673/* Dashboard right now - Icons */
     674#dash-right-now li a:before {
     675        content: '\f159';
     676        font: normal 20px/1 'dashicons';
     677        speak: none;
     678        display: block;
     679        float: left;
     680        margin: 0 5px 0 0;
     681        padding: 0;
     682        text-indent: 0;
     683        text-align: center;
     684        position: relative;
     685        -webkit-font-smoothing: antialiased;
     686        text-decoration: none !important;
     687}
     688
     689#dash-right-now .page-count a:before {
     690        content: '\f105';
     691}
     692
     693#dash-right-now .post-count a:before {
     694        content: '\f109';
     695}
     696
     697#dash-right-now .comment-count a:before {
     698        content: '\f101';
     699}
     700
     701#dash-right-now .comment-mod-count a:before {
     702        content: '\f125';
     703}
     704
     705#dash-right-now .storage-count a:before {
     706        content: '\f104';
     707}
     708
     709#dash-right-now .storage-count.warning a:before {
     710        content: '\f153';
     711}
     712
     713/* Dashboard Quick Draft */
     714
     715#dashboard_quick_draft div.updated {
     716        margin-bottom: 10px;
     717        border: 1px solid #eee;
     718        border-width: 1px 1px 1px 0;
     719}
     720
     721#dashboard_quick_draft form {
     722        padding: 0 12px 1px 12px;
     723        overflow: hidden;
     724}
     725
     726#dashboard_quick_draft .drafts,
     727#dashboard_quick_draft .easy-blogging {
     728        padding: 8px 12px 0;
     729}
     730
     731#dashboard-widgets .postbox .inside {
     732        margin: 10px 0;
     733        padding: 0;
     734}
     735
     736/* Dashboard Quick Draft - Form styling */
     737
     738input#save-post {
     739        float: right;
     740}
     741
     742form.initial-form label.prompt {
     743        font-style: italic;
     744}
     745
     746form.initial-form input#title {
     747        height: 3em;
     748}
     749
     750form.initial-form.quickpress-open label.prompt {
     751        font-style: normal;
     752}
     753
     754form.initial-form.quickpress-open input#title {
     755        height: auto;
     756}
     757
     758#dashboard_quick_draft input,
     759#dashboard_quick_draft textarea {
     760        box-sizing: border-box;
     761        -moz-box-sizing:border-box;
     762        -webkit-box-sizing:border-box;
     763        margin: 0;
     764}
     765
     766#dashboard_quick_draft textarea {
     767        resize: vertical;
     768}
     769
     770#dashboard-widgets .postbox form .submit {
     771        margin: -39px 0;
     772        float: right;
     773}
     774
     775#description-wrap {
     776        margin-top: 12px;
     777}
     778
     779#title-wrap #title-prompt-text,
     780.textarea-wrap #content-prompt-text {
     781        color: #BBB;
     782}
     783
     784#title-wrap #title-prompt-text {
     785        font-size: 1.1em;
     786        padding: 7px 8px;
     787}
     788
     789.initial-form #description-wrap,
     790.initial-form p.submit {
     791        display: none;
     792}
     793
     794.input-text-wrap,
     795.textarea-wrap {
     796        position: relative;
     797}
     798
     799.input-text-wrap .prompt,
     800.textarea-wrap .prompt {
     801        position: absolute;
     802}
     803
     804.textarea-wrap #content-prompt-text {
     805        font-size: 1.1em;
     806        padding: 7px 8px;
     807}
     808
     809.textarea-wrap textarea#content {
     810        margin: 0 0 8px;
     811        padding: 6px 7px;
     812}
     813
     814/* Dashboard Quick Draft - Drafts list */
     815
     816#dashboard_quick_draft .drafts {
     817        border-top: 1px solid #eee;
     818        margin-top: 12px;
     819}
     820
     821#dashboard_quick_draft .drafts abbr {
     822        border: none;
     823}
     824
     825#dashboard_quick_draft .drafts h4 {
     826        margin: 0 0 8px 0;
     827        font-weight: normal;
     828}
     829
     830#dashboard_quick_draft .drafts .view-all {
     831        float: right;
     832        margin-top: 0;
     833}
     834
     835#draft-list {
     836        margin: 0;
     837}
     838
     839#draft-list li {
     840        margin-bottom: 1em;
     841}
     842#draft-list li time {
     843        color: #bbb;
     844}
     845
     846#draft-list p {
     847        margin: 0;
     848}
     849
     850/* Dashboard activity widget */
     851
     852#dashboard_activity h4 {
     853        margin: 0 12px 8px;
     854        font-weight: normal;
     855}
     856
     857#dashboard_activity h4.comment-meta {
     858        overflow: hidden;
     859        text-overflow: ellipsis;
     860        white-space: nowrap;
     861        margin-bottom: 4px;
     862}
     863
     864#dashboard_activity ul {
     865        padding: 0 12px;
     866}
     867
     868#dashboard_activity .comment-meta span.approve:before {
     869        content: '\f227';
     870        font: 20px/.5 "dashicons";
     871        margin-left: 12px;
     872        vertical-align: middle;
     873        position: relative;
     874        top: -1px;
     875        margin-right: 2px;
     876}
     877
     878#dashboard_activity .inside {
     879        padding: 0;
     880        margin: 0;
     881}
     882
     883#dashboard_activity .no-activity {
     884        overflow: hidden;
     885        padding: 0 12px 12px;
     886        text-align: center;
     887}
     888
     889#dashboard_activity .no-activity p {
     890        color: #999;
     891        font-size: 16px;
     892}
     893
     894#dashboard_activity .no-activity .smiley {
     895        margin-top: 0;
     896}
     897
     898#dashboard_activity .no-activity .smiley:before {
     899        content: '\f328';
     900        font: normal 120px/1 'dashicons';
     901        speak: none;
     902        display: block;
     903        margin: 0 5px 0 0;
     904        padding: 0;
     905        text-indent: 0;
     906        text-align: center;
     907        position: relative;
     908        -webkit-font-smoothing: antialiased;
     909        text-decoration: none !important;
     910}
     911
     912#dashboard_activity .subsubsub {
     913        float: none;
     914        border-top: 1px solid #eeeeee;
     915        margin-top: 0;
     916        padding: 8px 12px 0 12px;
     917}
     918
     919#future-posts .show-more,
     920#published-posts .show-more {
     921        float: right;
     922}
     923
     924#future-posts ul,
     925#published-posts ul {
     926        clear: both;
     927        margin-bottom: 0;
     928}
     929
     930#future-posts li,
     931#published-posts li {
     932        overflow: hidden;
     933        margin-bottom: 8px;
     934}
     935
     936#future-posts ul span,
     937#published-posts ul span {
     938        color: #bbb;
     939        float: left;
     940        margin-right: 8px;
     941        min-width: 150px;
     942}
     943
     944.activity-block {
     945        border-bottom: 1px solid #eee;
     946        overflow: hidden;
     947        padding: 8px 0 0;
     948}
     949
     950.activity-block:last-child {
     951        border-bottom: none;
     952}
     953
     954.activity-block .subsubsub li {
     955        color: #ddd;
     956}
     957
     958/* Dashboard activity widget - Comments */
     959
     960#the-comment-list tr.undo, #the-comment-list div.undo {
     961        background: none;
     962        padding: 6px 0;
     963}
     964
     965#the-comment-list .alternate,
     966#the-comment-list .alt {
     967        background: none;
     968}
     969
     970#the-comment-list .comment {
     971        background: #f5f5f5;
     972        padding: 12px;
     973        position: relative;
     974        border-top: 1px solid #eeeeee;
     975}
     976
     977#the-comment-list img {
     978        position: absolute;
     979        left: 13px;
     980        top: 13px;
     981}
     982
     983#the-comment-list .dashboard-comment-wrap {
     984        padding-left: 63px;
     985}
     986
     987#the-comment-list .dashboard-comment-wrap blockquote {
     988        margin: 1em 0;
     989}
     990
     991#the-comment-list .comment-item h4 {
     992        font-size: 13px;
     993        color: #999;
     994}
     995
     996#the-comment-list .comment-item p.row-actions {
     997        margin: 4px 0 0 0;
     998}
     999
     1000#the-comment-list .comment-item:first-child {
     1001        border-top: 1px solid #eeeeee;
     1002}
     1003
     1004#the-comment-list .unapproved {
     1005        background: #f7fcfe;
     1006}
     1007
     1008#the-comment-list .unapproved:before {
     1009        content: "";
     1010        display: block;
     1011        position: absolute;
     1012        left: 0;
     1013        top: 0;
     1014        bottom: 0;
     1015        background: #d54e21;
     1016        width: 4px;
     1017}
     1018/* Dashboard WordPress news */
     1019
     1020#dashboard_rss .inside {
     1021        margin: 0;
     1022        padding: 0;
     1023}
     1024
     1025#dashboard_rss .widget-loading,
     1026#dashboard_rss .dashboard-widget-control-form {
     1027        padding: 12px 12px 0;
     1028}
     1029
     1030body #dashboard-widgets .postbox form .submit {
     1031        margin: 0;
     1032}
     1033
     1034.dashboard-widget-control-form {
     1035        overflow: hidden;
     1036}
     1037
     1038.dashboard-widget-control-form p {
     1039        margin-top: 0;
     1040}
     1041
     1042.rssSummary {
     1043        color: #999;
     1044        margin-top: 4px;
     1045}
     1046
     1047.rss-widget {
     1048        border-bottom: 1px solid #eee;
     1049        font-size: 13px;
     1050        padding: 8px 12px 12px;
     1051}
     1052
     1053.rss-widget:last-child {
     1054        border-bottom: none;
     1055        padding-bottom: 0;
     1056}
     1057
     1058.rss-widget a {
     1059        font-weight: normal;
     1060}
     1061
     1062.rss-widget span,
     1063.rss-widget span.rss-date {
     1064        color: #bbb;
     1065}
     1066
     1067.rss-widget span.rss-date {
     1068        margin-left: 12px;
     1069}
     1070
     1071.rss-widget ul li {
     1072        margin-bottom: 8px;
     1073}
     1074
     1075/* Dashboard right now */
     1076
     1077#dash-right-now ul {
     1078        margin: 0;
     1079        overflow: hidden;
     1080}
     1081
     1082#dash-right-now li {
     1083        width: 50%;
     1084        float: left;
     1085        margin-bottom: 10px;
     1086}
     1087
     1088#dash-right-now .inside {
     1089        margin-bottom: 0;
     1090        overflow: hidden;
     1091        padding: 0;
     1092}
     1093
     1094#dash-right-now .main {
     1095        padding: 0 12px;
     1096}
     1097
     1098#dash-right-now .main p {
     1099        margin: 0;
     1100}
     1101
     1102.mu-storage {
     1103        overflow: hidden;
     1104}
     1105
     1106/* Dashboard right now - Colors */
     1107
     1108#dash-right-now li a:before {
     1109        color: #888;
     1110}
     1111
     1112#dash-right-now .sub {
     1113        color: #bfbbbb;
     1114        background: #f5f5f5;
     1115        border-top-color: #dedede;
     1116        padding: 12px 12px 6px 12px;
     1117        border-top: 1px solid;
     1118}
     1119
     1120#dash-right-now .sub h4 {
     1121        color: #555;
     1122}
     1123
     1124#dash-right-now .sub p {
     1125        margin: 0 0 .5em;
     1126        font-size: 11px;
     1127}
     1128
     1129#dash-right-now .warning a:before {
     1130        color: #d54e21;
     1131}
     1132
     1133/* Dashboard right now - Icons */
     1134#dash-right-now li a:before {
     1135        content: '\f159';
     1136        font: normal 20px/1 'dashicons';
     1137        speak: none;
     1138        display: block;
     1139        float: left;
     1140        margin: 0 5px 0 0;
     1141        padding: 0;
     1142        text-indent: 0;
     1143        text-align: center;
     1144        position: relative;
     1145        -webkit-font-smoothing: antialiased;
     1146        text-decoration: none !important;
     1147}
     1148
     1149#dash-right-now .page-count a:before {
     1150        content: '\f105';
     1151}
     1152
     1153#dash-right-now .post-count a:before {
     1154        content: '\f109';
     1155}
     1156
     1157#dash-right-now .comment-count a:before {
     1158        content: '\f101';
     1159}
     1160
     1161#dash-right-now .comment-mod-count a:before {
     1162        content: '\f125';
     1163}
     1164
     1165#dash-right-now .storage-count a:before {
     1166        content: '\f104';
     1167}
     1168
     1169#dash-right-now .storage-count.warning a:before {
     1170        content: '\f153';
     1171}
     1172
     1173/* Dashboard Quick Draft */
     1174
     1175#dashboard_quick_draft div.updated {
     1176        margin-bottom: 10px;
     1177        border: 1px solid #eee;
     1178        border-width: 1px 1px 1px 0;
     1179}
     1180
     1181#dashboard_quick_draft form {
     1182        padding: 0 12px 1px 12px;
     1183        overflow: hidden;
     1184}
     1185
     1186#dashboard_quick_draft .drafts,
     1187#dashboard_quick_draft .easy-blogging {
     1188        padding: 8px 12px 0;
     1189}
     1190
     1191#dashboard-widgets .postbox .inside {
     1192        margin: 10px 0;
     1193        padding: 0;
     1194}
     1195
     1196/* Dashboard Quick Draft - Form styling */
     1197
     1198input#save-post {
     1199        float: right;
     1200}
     1201
     1202form.initial-form label.prompt {
     1203        font-style: italic;
     1204}
     1205
     1206form.initial-form input#title {
     1207        height: 3em;
     1208}
     1209
     1210form.initial-form.quickpress-open label.prompt {
     1211        font-style: normal;
     1212}
     1213
     1214form.initial-form.quickpress-open input#title {
     1215        height: auto;
     1216}
     1217
     1218#dashboard_quick_draft input,
     1219#dashboard_quick_draft textarea {
     1220        box-sizing: border-box;
     1221        -moz-box-sizing:border-box;
     1222        -webkit-box-sizing:border-box;
     1223        margin: 0;
     1224}
     1225
     1226#dashboard_quick_draft textarea {
     1227        resize: vertical;
     1228}
     1229
     1230#dashboard-widgets .postbox form .submit {
     1231        margin: -39px 0;
     1232        float: right;
     1233}
     1234
     1235#description-wrap {
     1236        margin-top: 12px;
     1237}
     1238
     1239#title-wrap #title-prompt-text,
     1240.textarea-wrap #content-prompt-text {
     1241        color: #BBB;
     1242}
     1243
     1244#title-wrap #title-prompt-text {
     1245        font-size: 1.1em;
     1246        padding: 7px 8px;
     1247}
     1248
     1249.initial-form #description-wrap,
     1250.initial-form p.submit {
     1251        display: none;
     1252}
     1253
     1254.input-text-wrap,
     1255.textarea-wrap {
     1256        position: relative;
     1257}
     1258
     1259.input-text-wrap .prompt,
     1260.textarea-wrap .prompt {
     1261        position: absolute;
     1262}
     1263
     1264.textarea-wrap #content-prompt-text {
     1265        font-size: 1.1em;
     1266        padding: 7px 8px;
     1267}
     1268
     1269.textarea-wrap textarea#content {
     1270        margin: 0 0 8px;
     1271        padding: 6px 7px;
     1272}
     1273
     1274/* Dashboard Quick Draft - Drafts list */
     1275
     1276#dashboard_quick_draft .drafts {
     1277        border-top: 1px solid #eee;
     1278        margin-top: 12px;
     1279}
     1280
     1281#dashboard_quick_draft .drafts abbr {
     1282        border: none;
     1283}
     1284
     1285#dashboard_quick_draft .drafts h4 {
     1286        margin: 0 0 8px 0;
     1287        font-weight: normal;
     1288}
     1289
     1290#dashboard_quick_draft .drafts .view-all {
     1291        float: right;
     1292        margin-top: 0;
     1293}
     1294
     1295#draft-list {
     1296        margin: 0;
     1297}
     1298
     1299#draft-list li {
     1300        margin-bottom: 1em;
     1301}
     1302#draft-list li time {
     1303        color: #bbb;
     1304}
     1305
     1306#draft-list p {
     1307        margin: 0;
     1308}
     1309
     1310#draft-list .draft-title {
     1311        overflow: hidden;
     1312}
     1313
     1314#draft-list .draft-title a,
     1315#draft-list .draft-title time {
     1316        float: left;
     1317        margin: 0 5px 0 0;
     1318}
     1319
     1320/* Dashboard activity widget */
     1321
     1322#dashboard_activity h4 {
     1323        margin: 0 0 8px 12px;
     1324        font-weight: normal;
     1325}
     1326
     1327#dashboard_activity h4.comment-meta {
     1328        margin: 0;
     1329}
     1330
     1331#dashboard_activity h4.comment-meta {
     1332        overflow: hidden;
     1333        text-overflow: ellipsis;
     1334        white-space: nowrap;
     1335        margin-bottom: 4px;
     1336}
     1337
     1338#dashboard_activity ul {
     1339        padding: 0 12px;
     1340}
     1341
     1342#dashboard_activity .comment-meta span.approve:before {
     1343        content: '\f227';
     1344        font: 20px/.5 "dashicons";
     1345        margin-left: 12px;
     1346        vertical-align: middle;
     1347        position: relative;
     1348        top: -1px;
     1349        margin-right: 2px;
     1350}
     1351
     1352#dashboard_activity .inside {
     1353        padding: 0;
     1354        margin: 0;
     1355}
     1356
     1357#dashboard_activity .no-activity {
     1358        overflow: hidden;
     1359        padding: 0 12px 12px;
     1360        text-align: center;
     1361}
     1362
     1363#dashboard_activity .no-activity p {
     1364        color: #999;
     1365        font-size: 16px;
     1366}
     1367
     1368#dashboard_activity .no-activity .smiley {
     1369        margin-top: 0;
     1370}
     1371
     1372#dashboard_activity .no-activity .smiley:before {
     1373        content: '\f328';
     1374        font: normal 120px/1 'dashicons';
     1375        speak: none;
     1376        display: block;
     1377        margin: 0 5px 0 0;
     1378        padding: 0;
     1379        text-indent: 0;
     1380        text-align: center;
     1381        position: relative;
     1382        -webkit-font-smoothing: antialiased;
     1383        text-decoration: none !important;
     1384}
     1385
     1386#dashboard_activity .subsubsub {
     1387        float: none;
     1388        border-top: 1px solid #eeeeee;
     1389        margin-top: 0;
     1390        padding: 8px 12px 0 12px;
     1391}
     1392
     1393#future-posts .show-more,
     1394#published-posts .show-more {
     1395        float: right;
     1396}
     1397
     1398#future-posts ul,
     1399#published-posts ul {
     1400        clear: both;
     1401        margin-bottom: 0;
     1402}
     1403
     1404#future-posts li,
     1405#published-posts li {
     1406        overflow: hidden;
     1407        margin-bottom: 8px;
     1408}
     1409
     1410#future-posts ul span,
     1411#published-posts ul span {
     1412        color: #bbb;
     1413        float: left;
     1414        margin-right: 8px;
     1415        min-width: 150px;
     1416}
     1417
     1418.activity-block {
     1419        border-bottom: 1px solid #eee;
     1420        overflow: hidden;
     1421        padding: 8px 0 0;
     1422}
     1423
     1424.activity-block:last-child {
     1425        border-bottom: none;
     1426}
     1427
     1428.activity-block .subsubsub li {
     1429        color: #ddd;
     1430}
     1431
     1432/* Dashboard activity widget - Comments */
     1433
     1434#the-comment-list tr.undo, #the-comment-list div.undo {
     1435        background: none;
     1436        padding: 6px 0;
     1437}
     1438
     1439#the-comment-list .alternate,
     1440#the-comment-list .alt {
     1441        background: none;
     1442}
     1443
     1444#the-comment-list .comment {
     1445        background: #f5f5f5;
     1446        padding: 12px;
     1447        position: relative;
     1448        border-top: 1px solid #eeeeee;
     1449}
     1450
     1451#the-comment-list img {
     1452        position: absolute;
     1453        left: 13px;
     1454        top: 13px;
     1455}
     1456
     1457#the-comment-list .dashboard-comment-wrap {
     1458        padding-left: 63px;
     1459}
     1460
     1461#the-comment-list .dashboard-comment-wrap blockquote {
     1462        margin: 1em 0;
     1463}
     1464
     1465#the-comment-list .comment-item h4 {
     1466        font-size: 13px;
     1467        color: #999;
     1468}
     1469
     1470#the-comment-list .comment-item p.row-actions {
     1471        margin: 4px 0 0 0;
     1472}
     1473
     1474#the-comment-list .comment-item:first-child {
     1475        border-top: 1px solid #eeeeee;
     1476}
     1477
     1478#the-comment-list .unapproved {
     1479        background: #f7fcfe;
     1480}
     1481
     1482#the-comment-list .unapproved:before {
     1483        content: "";
     1484        display: block;
     1485        position: absolute;
     1486        left: 0;
     1487        top: 0;
     1488        bottom: 0;
     1489        background: #d54e21;
     1490        width: 4px;
     1491}
     1492
     1493/* RTL Styles */
     1494
     1495.rtl .welcome-panel .welcome-icon {
     1496        padding: 2px 0 8px 32px;
     1497}
     1498
     1499.rtl .welcome-panel .welcome-icon:before {
     1500        padding: 0 0 0 10px;
     1501}
     1502
     1503.rtl .welcome-panel .welcome-panel-close:before {
     1504        left: auto;
     1505        right: -18px;
     1506}
     1507
     1508.rtl #dashboard_quick_draft .drafts .view-all {
     1509        float: left;
     1510}
     1511
     1512.rtl #draft-list .draft-title a,
     1513.rtl #draft-list .draft-title time {
     1514        float: right;
     1515        margin: 0 0 0 5px;
     1516}
     1517
     1518.rtl #dash-right-now li {
     1519        float: right;
     1520}
     1521
     1522.rtl #dash-right-now li a:before {
     1523        float: right;
     1524        margin: 0 0 0 5px;
     1525}
     1526
     1527.rtl #published-posts ul span {
     1528        float: right;
     1529        margin: 0 0 0 5px;
     1530}
     1531
     1532.rtl .rss-title-row .rsswidget {
     1533        float: right;
     1534}
     1535
     1536.rtl .rss-title-row .rss-date {
     1537        float: right;
     1538        margin: 3px 12px 0 0;
     1539}
     1540
     1541.rtl .dashboard-news-plugin a.dashboard-news-plugin-link,
     1542.rtl .dashboard-news-plugin span {
     1543        float: right;
     1544        margin: 0 0 0 5px;
     1545}
     1546
     1547.rtl #the-comment-list .dashboard-comment-wrap {
     1548        padding: 0 63px 0 0;
     1549}
     1550
     1551.rtl #the-comment-list img {
     1552        left: auto;
     1553        right: 13px;
     1554}
     1555
     1556.rtl #dashboard_activity h4 {
     1557        margin: 0 12px 8px 0;
     1558}
     1559
     1560.rtl #dashboard_activity h4.comment-meta {
     1561        margin: 0;
     1562}
     1563 No newline at end of file