Ticket #25824: 25824.2.diff
File 25824.2.diff, 101.6 KB (added by , 10 years ago) |
---|
-
wp-includes/default-widgets.php
904 904 if ( $link == '' ) { 905 905 echo "<li>$title{$date}{$summary}{$author}</li>"; 906 906 } 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>"; 908 908 } 909 909 } 910 910 echo '</ul>'; -
wp-admin/includes/ajax-actions.php
234 234 require_once ABSPATH . 'wp-admin/includes/dashboard.php'; 235 235 236 236 switch ( $_GET['widget'] ) { 237 case 'dashboard_ incoming_links' :238 wp_dashboard_ incoming_links();237 case 'dashboard_rss' : 238 wp_dashboard_rss(); 239 239 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;249 240 } 250 241 wp_die(); 251 242 } -
wp-admin/includes/dashboard.php
6 6 * @subpackage Administration 7 7 */ 8 8 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 */ 16 function temporary_dash_styles() { 17 wp_add_inline_style( 'wp-admin', file_get_contents( ABSPATH . 'wp-admin/css/temporary-dash-styles.css' ) ); 18 } 19 add_action( 'admin_enqueue_scripts', 'temporary_dash_styles' ); 20 9 21 /** 10 22 * Registers dashboard widgets. 11 23 * … … 37 49 38 50 // Right Now 39 51 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' ); 41 53 42 54 if ( is_network_admin() ) 43 55 wp_add_dashboard_widget( 'network_dashboard_right_now', __( 'Right Now' ), 'wp_network_dashboard_right_now' ); 44 56 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' ); 56 59 57 // Incoming Links Widget58 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'] : false68 );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 Widget74 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 77 60 // 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' ); 80 66 81 // Recent Drafts82 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) Widget86 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) Widget101 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 115 67 // Hook to register new widgets 116 68 // Filter widget order 117 69 if ( is_network_admin() ) { … … 165 117 } 166 118 167 119 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'); 169 121 else if (is_network_admin() ) 170 $side_widgets = array( 'dashboard_primary', 'dashboard_secondary');122 $side_widgets = array(); 171 123 else 172 124 $side_widgets = array(); 173 125 … … 224 176 225 177 /* Dashboard Widgets */ 226 178 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">'; 179 function dashboard_new_right_now() { 365 180 $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 ); 380 202 } 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 ); 390 220 } 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 else395 printf( __('Theme <span class="b">%1$s</span>'), $theme->display('Name') );396 221 } 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> 398 227 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(); 410 232 do_action( 'rightnow_end' ); 411 233 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; 412 241 } 413 242 414 243 function wp_network_dashboard_right_now() { … … 458 287 do_action( 'mu_activity_box_end' ); 459 288 } 460 289 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 */ 298 function wp_dashboard_quick_draft( $error_msg=false ) { 462 299 global $post_ID; 463 300 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 else472 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 491 301 /* Check if a new auto-draft (= no new post_ID) is needed or if the old can be used */ 492 302 $last_post_id = (int) get_user_option( 'dashboard_quick_press_last_post_id' ); // Get the last post_ID 493 303 if ( $last_post_id ) { 494 304 $post = get_post( $last_post_id ); 495 305 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 ); 497 307 update_user_option( get_current_user_id(), 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID 498 308 } else { 499 309 $post->post_title = ''; // Remove the auto draft title … … 507 317 } 508 318 509 319 $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 ); 520 322 ?> 521 323 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 523 330 <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" /> 526 333 </div> 527 334 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> 531 338 </div> 532 <?php endif; ?>533 339 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 554 340 <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" /> 560 342 <input type="hidden" name="post_ID" value="<?php echo $post_ID; ?>" /> 561 343 <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' ) ); ?> 565 346 <br class="clear" /> 566 347 </p> 567 348 568 349 </form> 569 350 570 351 <?php 571 if ( $drafts ) 572 wp_dashboard_recent_drafts( $drafts ); 352 wp_dashboard_recent_quickdrafts(); 353 354 do_action( 'dashboard_quickdraft_end' ); 573 355 } 574 356 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 */ 365 function wp_dashboard_recent_quickdrafts() { 587 366 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 588 380 if ( $drafts && is_array( $drafts ) ) { 589 381 $list = array(); 382 $draft_count = 0; 590 383 foreach ( $drafts as $draft ) { 384 if ( 3 == $draft_count ) 385 break; 386 387 $draft_count++; 388 591 389 $url = get_edit_post_link( $draft->ID ); 592 390 $title = _draft_or_post_title( $draft->ID ); 593 $item = "<h4><a href='$url' title='" . sprintf( __( 'Edit “%s”' ), 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 “%s”' ), esc_attr( $title ) ) . '">' . esc_html( $title ) . '</a> <time datetime="' . get_the_time( 'c', $draft) . '">' . get_the_time( get_option( 'date_format' ), $draft ) . '</time></div>'; 594 392 if ( $the_content = wp_trim_words( $draft->post_content, 10 ) ) 595 393 $item .= '<p>' . $the_content . '</p>'; 596 394 $list[] = $item; 597 395 } 396 397 do_action( 'dashboard_quickdraft_drafts_list', $drafts ); 598 398 ?> 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 } 607 409 } 608 410 609 /**610 * Display recent comments dashboard widget content.611 *612 * @since 2.5.0613 */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 657 411 function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) { 658 412 $GLOBALS['comment'] =& $comment; 659 413 … … 748 502 } 749 503 750 504 /** 751 * The recent comments dashboard widget control.505 * callback function for `Activity` widget 752 506 * 753 * @since 3.0.0 507 * 508 * 509 * @since 3.8.0 510 * 754 511 */ 755 function wp_dashboard_recent_comments_control() { 756 if ( !$widget_options = get_option( 'dashboard_widget_options' ) ) 757 $widget_options = array(); 512 function wp_dashboard_activity() { 758 513 759 if ( !isset($widget_options['dashboard_recent_comments']) ) 760 $widget_options['dashboard_recent_comments'] = array(); 514 echo '<div id="activity-widget">'; 761 515 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>'; 766 544 } 545 546 do_action( 'dashboard_activity_end' ); 767 547 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>'; 772 549 } 773 550 774 function wp_dashboard_incoming_links() {775 wp_dashboard_cached_rss_widget( 'dashboard_incoming_links', 'wp_dashboard_incoming_links_output' );776 }777 778 551 /** 779 * Display incoming links dashboard widget content.552 * Generates `Publishing Soon` and `Recently Published` sections 780 553 * 781 * @since 2.5.0 554 * 555 * 556 * @since 3.8.0 557 * 782 558 */ 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 ); 559 function dashboard_show_published_posts( $args ) { 787 560 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 ); 796 572 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… yet. It’s okay — there is no rush.') . "</p>\n"; 799 $rss->__destruct(); 800 unset($rss); 801 return; 802 } 573 if ( $posts->have_posts() ) { 803 574 804 echo "<ul>\n";575 echo '<div id="' . $args['id'] . '" class="activity-block">'; 805 576 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…'), $posts->post_count - intval( $args['display'] ) ) . '</a></small>'; 825 579 } 826 if ( $site_link )827 $publisher = "<a href='$site_link'>$publisher</a>";828 else829 $publisher = "<strong>$publisher</strong>";830 580 831 $content = $item->get_content(); 832 $content = wp_html_excerpt( $content, 50, ' …' ); 581 echo '<h4>' . $args['title'] . '</h4>'; 833 582 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>'; 840 584 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++; 851 597 } 852 598 853 echo "\t<li>" . sprintf( $text, $publisher, $link, $content, $date ) . "</li>\n"; 599 echo '</ul>'; 600 echo '</div>'; 601 602 } else { 603 return false; 854 604 } 855 605 856 echo "</ul>\n"; 857 $rss->__destruct(); 858 unset($rss); 859 } 606 wp_reset_postdata(); 860 607 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; 863 609 } 864 610 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 873 611 /** 874 * Display primary dashboard RSS widget feed.612 * Show `Comments` section 875 613 * 876 * @since 2.5.0877 614 * 878 * @param string $widget_id879 */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.897 615 * 898 * @since 2.5.0616 * @since 3.8.0 899 617 * 900 * @return unknown901 618 */ 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 ); 619 function dashboard_comments( $total_items = 5 ) { 620 global $wpdb; 906 621 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; 912 640 } 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 ); 920 654 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; 923 665 } 666 return true; 924 667 } 925 668 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 933 669 /** 934 * Display plugins most popular, newest plugins, and recently updated widget text.670 * return relative date for given timestamp 935 671 * 936 * @since 2.5.0 672 * 673 * 674 * @since 3.8.0 675 * 937 676 */ 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/' ); 677 function dashboard_relative_date( $time ) { 941 678 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 ); 946 680 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' ); 950 683 951 $items = $$feed->get_items(0, 5); 684 if ( $diff == 1 ) 685 return __( 'Tomorrow' ); 952 686 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); 958 688 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 descriptions986 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 '&TB_iframe=true&width=600&height=800';998 999 echo "<h4>$label</h4>\n";1000 echo "<h5><a href='$link'>$title</a></h5> <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 }1006 689 } 1007 690 1008 691 /** … … 1074 757 } 1075 758 1076 759 /** 1077 * The RSS dashboard widget control.760 * Returns default WordPress News feeds 1078 761 * 1079 * Sets up $args to be used as input to wp_widget_rss_form(). Handles POST data1080 * from RSS-type widgets.1081 762 * 1082 * @since 2.5.01083 763 * 1084 * @ param string $widget_id1085 * @param array $form_inputs764 * @since 3.8.0 765 * 1086 766 */ 1087 function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) { 1088 if ( !$widget_options = get_option( 'dashboard_widget_options' ) ) 767 function 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 'new' => 'http://wordpress.org/plugins/rss/browse/new/' 792 ), 793 'title' => '', 794 'items' => 1, 795 'show_summary' => 0, 796 'show_author' => 0, 797 'show_date' => 0, 798 ) 799 ); 800 } 801 802 /** 803 * Check for cached feeds 804 * 805 * 806 * 807 * @since 3.8.0 808 * 809 */ 810 function wp_dashboard_rss() { 811 $default_feeds = wp_dashboard_default_feeds(); 812 813 $widget_options = get_option( 'dashboard_widget_options' ); 814 815 if ( !$widget_options || !is_array($widget_options) ) 1089 816 $widget_options = array(); 1090 817 1091 if ( !isset($widget_options[$widget_id]) ) 1092 $widget_options[$widget_id] = array(); 818 if ( ! isset( $widget_options['dashboard_rss'] ) ) { 819 $widget_options['dashboard_rss'] = $default_feeds; 820 update_option( 'dashboard_widget_options', $widget_options ); 821 } 1093 822 1094 $number = 1; // Hack to use wp_widget_rss_form() 1095 $widget_options[$widget_id]['number'] = $number; 823 foreach( $default_feeds as $key => $value ) { 824 $default_urls[] = $value['url']; 825 } 826 827 do_action( 'dashboard_news_beginning' ); 1096 828 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); 829 wp_dashboard_cached_rss_widget( 'dashboard_rss', 'wp_dashboard_news_output', $default_urls ); 830 831 do_action( 'dashboard_news_end' ); 832 } 833 834 /** 835 * Display news feeds 836 * 837 * 838 * 839 * @since 3.8.0 840 * 841 */ 842 function wp_dashboard_news_output() { 843 $widgets = get_option( 'dashboard_widget_options' ); 844 845 foreach( $widgets['dashboard_rss'] as $type => $args ) { 846 $args['type'] = $type; 847 echo '<div class="rss-widget">'; 848 wp_widget_news_output( $args['url'], $args ); 849 echo "</div>"; 850 } 851 } 852 853 /** 854 * Generate code for each news feed 855 * 856 * 857 * 858 * @since 3.8.0 859 * 860 */ 861 function wp_widget_news_output( $rss, $args = array() ) { 862 863 // Regular RSS feeds 864 if ( isset( $args['type'] ) && 'plugins' != $args['type'] ) 865 return wp_widget_rss_output( $rss, $args ); 866 867 // Plugin feeds plus link to install them 868 if ( ! is_multisite() && current_user_can( 'install_plugins' ) ) { 869 $popular = fetch_feed( $args['url']['popular'] ); 870 $new = fetch_feed( $args['url']['new'] ); 871 872 if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) { 873 $plugin_slugs = array_keys( get_plugins() ); 874 set_transient( 'plugin_slugs', $plugin_slugs, DAY_IN_SECONDS ); 875 } 876 877 echo '<ul>'; 878 879 foreach ( array( 880 'popular' => __( 'Popular Plugin' ), 881 'new' => __( 'Newest 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; 1110 918 } 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) . '&TB_iframe=true&width=600&height=800'; 932 933 echo "<li class='dashboard-news-plugin'><span>$label:</span> <a href='$link' class='dashboard-news-plugin-link'>$title</a></h5> <span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span></li>"; 934 935 $$feed->__destruct(); 936 unset( $$feed ); 1111 937 } 1112 update_option( 'dashboard_widget_options', $widget_options ); 1113 $cache_key = 'dash_' . md5( $widget_id ); 1114 delete_transient( $cache_key ); 938 939 echo '</ul>'; 1115 940 } 1116 1117 wp_widget_rss_form( $widget_options[$widget_id], $form_inputs );1118 941 } 1119 942 1120 943 /** … … 1127 950 * @return bool True if not multisite, user can't upload files, or the space check option is disabled. 1128 951 */ 1129 952 function 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' ) ) 1131 954 return true; 1132 955 1133 956 $quota = get_space_allowed(); … … 1137 960 $percentused = '100'; 1138 961 else 1139 962 $percentused = ( $used / $quota ) * 100; 1140 $used_c olor = ( $percentused >= 70 ) ? ' spam' : '';963 $used_class = ( $percentused >= 70 ) ? ' warning' : ''; 1141 964 $used = round( $used, 2 ); 1142 965 $percentused = number_format( $percentused ); 1143 966 1144 967 ?> 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> 1153 990 </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" />1163 991 <?php 1164 992 } 1165 993 add_action( 'activity_box_end', 'wp_dashboard_quota' ); -
wp-admin/includes/deprecated.php
730 730 */ 731 731 function wp_dashboard_quick_press_output() { 732 732 _deprecated_function( __FUNCTION__, '3.2', 'wp_dashboard_quick_press()' ); 733 wp_dashboard_quick_ press();733 wp_dashboard_quick_draft(); 734 734 } 735 735 736 736 /** -
wp-admin/post.php
66 66 $location = add_query_arg( 'message', 3, wp_get_referer() ); 67 67 $location = explode('#', $location); 68 68 $location = $location[0] . '#postcustom'; 69 } elseif ( 'post-quickpress-save-cont' == $_POST['action'] ) {70 $location = "post.php?action=edit&post=$post_id&message=7";71 69 } else { 72 70 $location = add_query_arg( 'message', 4, get_edit_post_link( $post_id, 'url' ) ); 73 71 } … … 96 94 } 97 95 98 96 switch($action) { 97 case '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 99 119 case 'postajaxpost': 100 120 case '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."; 104 129 105 if ( 'post-quickpress-publish' == $action ) 106 $_POST['publish'] = 'publish'; // tell write_post() to publish 130 $post_id = 'postajaxpost' == $action ? edit_post() : write_post(); 107 131 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 widget119 require_once(ABSPATH . 'wp-admin/includes/dashboard.php');120 wp_dashboard_quick_press();121 exit;122 }123 124 132 redirect_post($post_id); 125 133 exit(); 126 134 break; -
wp-admin/js/dashboard.js
29 29 30 30 // These widgets are sometimes populated via ajax 31 31 ajaxWidgets = [ 32 'dashboard_incoming_links', 33 'dashboard_primary', 34 'dashboard_secondary', 35 'dashboard_plugins' 32 'dashboard_rss' 36 33 ]; 37 34 38 35 ajaxPopulateWidgets = function(el) { … … 61 58 ajaxPopulateWidgets(); 62 59 63 60 postboxes.add_postbox_toggles(pagenow, { pbshow: ajaxPopulateWidgets } ); 64 61 65 62 /* QuickPress */ 66 63 quickPressLoad = function() { 67 64 var act = $('#quickpost-action'), t; 68 65 t = $('#quick-press').submit( function() { 69 $('#dashboard_quick_ press#publishing-action .spinner').show();66 $('#dashboard_quick_draft #publishing-action .spinner').show(); 70 67 $('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop('disabled', true); 71 68 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); 74 84 } 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 85 86 return false; 86 87 } ); 87 88 88 89 $('#publish').click( function() { act.val( 'post-quickpress-publish' ); } ); 89 90 90 $('#title, #tags-input ').each( function() {91 $('#title, #tags-input, #content').each( function() { 91 92 var input = $(this), prompt = $('#' + this.id + '-prompt-text'); 92 93 93 94 if ( '' === this.value ) … … 109 110 }); 110 111 111 112 $('#quick-press').on( 'click focusin', function() { 113 $(this).addClass("quickpress-open"); 114 $("#description-wrap, p.submit").slideDown(200); 112 115 wpActiveEditor = 'content'; 113 116 }); 114 117 }; 115 118 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 // Show dashed box only on sort 132 var emptyContainers = $('.postbox-container .empty-container'); 133 $('.meta-box-sortables').on('sortstart', function(event, ui) { 134 emptyContainers.css('border', '3px dashed #CCCCCC'); 135 }).on( 'sortbeforestop', function(event, ui) { 136 emptyContainers.css('border', 'none'); 137 }).on( 'sortover', function(event, ui) { 138 $(event.target).find(emptyContainers).css('border', 'none'); 139 }).on( 'sortout', function(event, ui) { 140 $(event.target).find(emptyContainers).css('border', '3px dashed #CCCCCC'); 141 }); 142 }); 143 144 jQuery(window).resize( _.debounce( function(){ 145 updateColumnCount(); 146 }, 30) ); 147 148 function updateColumnCount() { 149 var cols = 1, 150 windowWidth = parseInt(jQuery(window).width()); 151 if (799 < windowWidth && 1299 > windowWidth) 152 cols = 2; 153 if (1300 < windowWidth && 1799 > windowWidth) 154 cols = 3; 155 if (1800 < windowWidth) 156 cols = 4; 157 jQuery('.metabox-holder').attr('class', jQuery('.metabox-holder').attr('class').replace(/columns-\d+/, 'columns-' + cols)); 158 } 116 159 117 160 } ); -
wp-admin/js/plugin-install.js
27 27 28 28 $(window).resize(function(){ tb_position(); }); 29 29 30 $(' #dashboard_plugins,.plugins').on( 'click', 'a.thickbox', function() {30 $('.plugins').on( 'click', 'a.thickbox', function() { 31 31 tb_click.call(this); 32 32 33 33 $('#TB_title').css({'background-color':'#222','color':'#cfcfcf'}); -
wp-admin/index.php
29 29 $title = __('Dashboard'); 30 30 $parent_file = 'index.php'; 31 31 32 if ( is_user_admin() )33 add_screen_option('layout_columns', array('max' => 4, 'default' => 1) );34 else35 add_screen_option('layout_columns', array('max' => 4, 'default' => 2) );36 37 32 $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>'; 38 33 39 34 // Not using chaining here, so as to be parseable by PHP4. … … 47 42 48 43 // Help tabs 49 44 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 53 48 $screen->add_help_tab( array( 54 49 'id' => 'help-navigation', 55 'title' => __( 'Navigation'),50 'title' => __( 'Navigation' ), 56 51 'content' => $help, 57 52 ) ); 58 53 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 “Configure” 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 “Configure” link in the title bar if you hover over it.' ) . '</p>'; 63 58 64 59 $screen->add_help_tab( array( 65 60 'id' => 'help-layout', 66 'title' => __( 'Layout'),61 'title' => __( 'Layout' ), 67 62 'content' => $help, 68 63 ) ); 69 64 70 $help = '<p>' . __( 'The boxes on your Dashboard screen are:') . '</p>';65 $help = '<p>' . __( 'The boxes on your Dashboard screen are:' ) . '</p>'; 71 66 if ( 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’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>'; 69 if ( 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>'; 83 71 if ( ! 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>'; 73 else 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>'; 85 75 if ( 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 88 78 $screen->add_help_tab( array( 89 79 'id' => 'help-content', 90 'title' => __( 'Content'),80 'title' => __( 'Content' ), 91 81 'content' => $help, 92 82 ) ); 93 83 94 84 unset( $help ); 95 85 96 86 $screen->set_help_sidebar( 97 87 '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . 98 88 '<p>' . __( '<a href="http://codex.wordpress.org/Dashboard_Screen" target="_blank">Documentation on Dashboard</a>' ) . '</p>' . 99 89 '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' 100 90 ); 101 91 102 include ( ABSPATH . 'wp-admin/admin-header.php');92 include ( ABSPATH . 'wp-admin/admin-header.php' ); 103 93 104 $today = current_time( 'mysql', 1);94 $today = current_time( 'mysql', 1 ); 105 95 ?> 106 96 107 97 <div class="wrap"> 108 <?php screen_icon(); ?>109 <h2><?php echo esc_html( $title); ?></h2>98 <?php screen_icon(); ?> 99 <h2><?php $words = array( 'Hola', 'Bonjour', 'Aloha', 'Ahoy There', "G'day", "It's Go Time", 'Break a Leg', 'Go For Broke' ); echo esc_html( $words[ mt_rand( 0, count( $words) -1 ) ] ); ?></h2> 110 100 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' ) ) : 112 102 $classes = 'welcome-panel'; 113 103 114 104 $option = get_user_meta( get_current_user_id(), 'show_welcome_panel', true ); … … 117 107 if ( $hide ) 118 108 $classes .= ' hidden'; ?> 119 109 120 121 110 <div id="welcome-panel" class="<?php echo esc_attr( $classes ); ?>"> 111 <?php wp_nonce_field( 'welcome-panel-nonce', 'welcomepanelnonce', false ); ?> 122 112 <a class="welcome-panel-close" href="<?php echo esc_url( admin_url( '?welcome=0' ) ); ?>"><?php _e( 'Dismiss' ); ?></a> 123 113 <?php 124 114 /** … … 129 119 * 130 120 * @since 3.5.0 131 121 */ 132 do_action( 'welcome_panel' ); 122 do_action( 'welcome_panel' ); 133 123 ?> 134 124 </div> 135 <?php endif; ?>125 <?php endif; ?> 136 126 137 <div id="dashboard-widgets-wrap"> 127 <div id="dashboard-widgets-wrap"> 128 <?php wp_dashboard(); ?> 129 </div><!-- dashboard-widgets-wrap --> 138 130 139 <?php wp_dashboard(); ?>140 141 <div class="clear"></div>142 </div><!-- dashboard-widgets-wrap -->143 144 131 </div><!-- wrap --> 145 132 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
86 86 margin-right: 335px !important; 87 87 } 88 88 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,100 89 p.row-actions { 101 90 width: 100%; 102 91 } -
wp-admin/css/ie.css
141 141 overflow: visible; 142 142 } 143 143 144 #dashboard-widgets #dashboard_quick_press form p.submit #publish {145 float: none;146 }147 148 144 #dashboard-widgets h3 a { 149 145 height: 14px; 150 146 line-height: 14px; -
wp-admin/css/colors-fresh.css
126 126 border-right-color: #eee; 127 127 } 128 128 129 #dashboard_right_now .t,130 #dashboard_right_now .b {131 color: #777;132 }133 134 129 #the-comment-list .comment-item p.row-actions, 135 #dashboard_recent_comments .subsubsub,136 130 .plugins .row-actions-visible, 137 131 .row-actions { 138 132 color: #ddd; … … 552 546 color: #2ea2cc; 553 547 } 554 548 555 #the-comment-list .comment-item, 556 #dashboard-widgets #dashboard_quick_press form p.submit { 549 #the-comment-list .comment-item { 557 550 border: none; 558 551 } 559 552 … … 580 573 table.widefat span.delete a, 581 574 table.widefat span.trash a, 582 575 table.widefat span.spam a, 583 #dashboard_recent_comments .delete a,584 #dashboard_recent_comments .trash a,585 #dashboard_recent_comments .spam a,586 576 .plugins a.delete, 587 577 #all-plugins-table .plugins a.delete, 588 578 #search-plugins-table .plugins a.delete, … … 596 586 table.widefat span.delete a:hover, 597 587 table.widefat span.trash a:hover, 598 588 table.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,602 589 .plugins a.delete:hover, 603 590 #all-plugins-table .plugins a.delete:hover, 604 591 #search-plugins-table .plugins a.delete:hover, … … 771 758 border-color: #666; 772 759 } 773 760 774 #dashboard_secondary div.dashboard-widget-content ul li a {775 background-color: #f9f9f9;776 }777 778 761 input.readonly, textarea.readonly { 779 762 background-color: #ddd; 780 763 } … … 929 912 } 930 913 931 914 #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 { 934 916 background-color: #fefaf7; 935 917 } 936 918 937 #the-comment-list .unapproved th.check-column, 938 #dashboard_recent_comments #the-comment-list .unapproved { 919 #the-comment-list .unapproved th.check-column { 939 920 border-left: 4px solid #d54e21; 940 921 } 941 922 942 #dashboard_recent_comments #the-comment-list .unapproved .avatar {943 margin-left: -4px;944 }945 946 923 #the-comment-list .approve a { 947 924 color: #006505; 948 925 } … … 1038 1015 1039 1016 .postbox h3, 1040 1017 #namediv h3, 1041 #submitdiv h3, 1042 #dashboard_recent_comments .comment { 1018 #submitdiv h3 { 1043 1019 color: #555; 1044 1020 border-bottom: 1px solid #eeeeee; 1045 1021 } … … 1165 1141 .widget-control-remove:hover, 1166 1142 table.widefat .delete a:hover, 1167 1143 table.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 { 1144 table.widefat .spam a:hover { 1172 1145 color: #f00; 1173 1146 } 1174 1147 … … 2197 2170 border-right: 4px solid #d54e21; 2198 2171 } 2199 2172 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 { 2202 2174 border-left: none; 2203 2175 border-right: 4px solid #d54e21; 2204 2176 } 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
668 668 669 669 .welcome-panel .welcome-panel-close:before { 670 670 left: auto; 671 right: -1 2px;671 right: -18px; 672 672 } 673 673 674 674 .welcome-panel-content { … … 2227 2227 #dashboard_right_now p.sub, 2228 2228 #dashboard-widgets h4, 2229 2229 a.rsswidget, 2230 #dashboard_plugins h4,2231 #dashboard_plugins h5,2232 #dashboard_recent_comments .comment-meta .approve,2233 2230 #dashboard_right_now td.b, 2234 2231 #dashboard_right_now .versions a { 2235 2232 font-family: Tahoma, Arial, sans-serif; … … 2264 2261 clear: left; 2265 2262 } 2266 2263 2267 #dashboard_plugins .inside span {2268 padding-left: 0;2269 padding-right: 5px;2270 }2271 2272 2264 #dashboard-widgets h3 .postbox-title-action { 2273 2265 right: auto; 2274 2266 left: 10px; … … 2306 2298 margin-right: 3px; 2307 2299 } 2308 2300 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 2344 2301 /* login */ 2345 2302 body.login { 2346 2303 font-family: Tahoma, Arial, sans-serif; … … 3013 2970 .locale-he-il #dashboard_right_now p.sub, 3014 2971 .locale-he-il #dashboard-widgets h4, 3015 2972 .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,3019 2973 .locale-he-il #dashboard_right_now td.b, 3020 2974 .locale-he-il #dashboard_right_now .versions a, 3021 2975 .locale-he-il .rss-widget span.rss-date, 3022 .locale-he-il #dashboard_recent_drafts h4 abbr,3023 2976 body.login.locale-he-il, 3024 2977 .locale-he-il #login form .submit input, 3025 2978 .locale-he-il #menu-management .nav-tabs-arrow-right, -
wp-admin/css/wp-admin.css
905 905 906 906 div.sidebar-name h3, 907 907 #menu-management .nav-tab, 908 #dashboard_plugins h5,909 908 a.rsswidget, 910 909 #dashboard_right_now td.b, 911 910 #dashboard-widgets h4, … … 2627 2626 margin: 0 8px; 2628 2627 } 2629 2628 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 2644 2629 #the-comment-list td.comment p.comment-author { 2645 2630 margin-top: 0; 2646 2631 margin-left: 0; … … 7658 7643 } 7659 7644 7660 7645 /* Recent Comments */ 7661 #dashboard_recent_comments h3 {7662 margin-bottom: 0;7663 }7664 7646 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 7681 7647 #the-comment-list { 7682 7648 position: relative; 7683 7649 } … … 7723 7689 display: inline; 7724 7690 } 7725 7691 7726 #dashboard_recent_comments #the-comment-list .trackback blockquote,7727 #dashboard_recent_comments #the-comment-list .pingback blockquote {7728 display: block;7729 }7730 7731 7692 #the-comment-list .comment-item p.row-actions { 7732 7693 margin: 3px 0 0; 7733 7694 padding: 0; 7734 7695 font-size: 13px; 7735 7696 } 7736 7697 7737 /* QuickPress */ 7738 #header-logo { 7739 display: none; 7740 } 7698 /* QuickDraft */ 7741 7699 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 { 7777 7701 cursor: text; 7778 7702 } 7779 7703 … … 7784 7708 outline: none; 7785 7709 } 7786 7710 7787 #tags-input-wrap #tags-input {7788 outline: none;7789 padding: 3px 6px;7790 }7791 7792 7711 #title-wrap #title-prompt-text { 7793 7712 font-size: 1.3em; 7794 7713 padding: 5px 8px; 7795 7714 } 7796 7715 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 7871 7716 /* Feeds */ 7872 7717 .rss-widget ul { 7873 7718 margin: 0; … … 7903 7748 content: '\2014'; 7904 7749 } 7905 7750 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 7933 7751 .dashboard-comment-wrap { 7934 7752 overflow: hidden; 7935 7753 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 .metabox-holder .postbox-container .empty-container { 17 border: none; 18 } 19 20 /* one column on the dash */ 21 /* this includes all of what's currently in wp-admin.css with column option related CSS removed */ 22 @media only screen and (max-width: 799px) { 23 #wpbody-content #dashboard-widgets .postbox-container { 24 width: 100%; 25 } 26 27 #wpbody-content .metabox-holder .postbox-container .empty-container { 28 border: 0 none; 29 height: 0; 30 min-height: 0; 31 } 32 } 33 34 /* two columns on the dash */ 35 @media only screen and (min-width: 800px) and (max-width: 1399px) { 36 #wpbody-content #dashboard-widgets .postbox-container { 37 width: 49.5%; 38 } 39 40 #wpbody-content #dashboard-widgets #postbox-container-2, 41 #wpbody-content #dashboard-widgets #postbox-container-3, 42 #wpbody-content #dashboard-widgets #postbox-container-4 { 43 float: right; 44 width: 50.5%; 45 } 46 47 #dashboard-widgets #postbox-container-3 .empty-container, 48 #dashboard-widgets #postbox-container-4 .empty-container { 49 border: 0 none; 50 height: 0; 51 min-height: 0; 52 } 53 } 54 55 /* three columns on the dash */ 56 @media only screen and (min-width: 1400px) and (max-width: 1800px) { 57 #wpbody-content #dashboard-widgets .postbox-container { 58 width: 33.5%; 59 } 60 61 #wpbody-content #dashboard-widgets #postbox-container-1 { 62 width: 33%; 63 } 64 65 #wpbody-content #dashboard-widgets #postbox-container-3, 66 #wpbody-content #dashboard-widgets #postbox-container-4 { 67 float: right; 68 } 69 70 #dashboard-widgets #postbox-container-4 .empty-container { 71 border: 0 none; 72 height: 0; 73 min-height: 0; 74 } 75 } 76 77 /* Dashboard WordPress news */ 78 79 #dashboard_rss .inside { 80 margin: 0; 81 padding: 0; 82 } 83 84 #dashboard_rss .widget-loading, 85 #dashboard_rss .dashboard-widget-control-form { 86 padding: 12px 12px 0; 87 } 88 89 body #dashboard-widgets .postbox form .submit { 90 margin: 0; 91 } 92 93 .dashboard-news-plugin a.dashboard-news-plugin-link, 94 .dashboard-news-plugin span { 95 float: left; 96 margin: 0 5px 0 0; 97 } 98 99 .dashboard-widget-control-form { 100 overflow: hidden; 101 } 102 103 .dashboard-widget-control-form p { 104 margin-top: 0; 105 } 106 107 .rssSummary { 108 color: #999; 109 margin-top: 4px; 110 } 111 112 .rss-widget { 113 border-bottom: 1px solid #eee; 114 font-size: 13px; 115 padding: 8px 12px 12px; 116 } 117 118 .rss-widget:last-child { 119 border-bottom: none; 120 padding-bottom: 0; 121 } 122 123 .rss-widget a { 124 font-weight: normal; 125 } 126 127 .rss-widget span, 128 .rss-widget span.rss-date { 129 color: #bbb; 130 } 131 132 .rss-widget span.rss-date { 133 margin-left: 12px; 134 } 135 136 .rss-widget ul li { 137 margin-bottom: 8px; 138 } 139 140 .rss-title-row { 141 overflow: hidden; 142 } 143 144 .rss-title-row .rsswidget { 145 float: left; 146 } 147 148 .rss-title-row .rss-date { 149 float: left; 150 margin: 4px 0 0 12px; 151 } 152 153 /* Dashboard right now */ 154 155 #dash-right-now ul { 156 margin: 0; 157 overflow: hidden; 158 } 159 160 #dash-right-now li { 161 width: 50%; 162 float: left; 163 margin-bottom: 10px; 164 } 165 166 #dash-right-now .inside { 167 margin-bottom: 0; 168 overflow: hidden; 169 padding: 0; 170 } 171 172 #dash-right-now .main { 173 padding: 0 12px; 174 } 175 176 #dash-right-now .main p { 177 margin: 0; 178 } 179 180 .mu-storage { 181 overflow: hidden; 182 } 183 184 /* Dashboard right now - Colors */ 185 186 #dash-right-now li a:before { 187 color: #888; 188 } 189 190 #dash-right-now .sub { 191 color: #bfbbbb; 192 background: #f5f5f5; 193 border-top-color: #dedede; 194 padding: 12px 12px 6px 12px; 195 border-top: 1px solid; 196 } 197 198 #dash-right-now .sub h4 { 199 color: #555; 200 } 201 202 #dash-right-now .sub p { 203 margin: 0 0 .5em; 204 font-size: 11px; 205 } 206 207 #dash-right-now .warning a:before { 208 color: #d54e21; 209 } 210 211 /* Dashboard right now - Icons */ 212 #dash-right-now li a:before { 213 content: '\f159'; 214 font: normal 20px/1 'dashicons'; 215 speak: none; 216 display: block; 217 float: left; 218 margin: 0 5px 0 0; 219 padding: 0; 220 text-indent: 0; 221 text-align: center; 222 position: relative; 223 -webkit-font-smoothing: antialiased; 224 text-decoration: none !important; 225 } 226 227 #dash-right-now .page-count a:before { 228 content: '\f105'; 229 } 230 231 #dash-right-now .post-count a:before { 232 content: '\f109'; 233 } 234 235 #dash-right-now .comment-count a:before { 236 content: '\f101'; 237 } 238 239 #dash-right-now .comment-mod-count a:before { 240 content: '\f125'; 241 } 242 243 #dash-right-now .storage-count a:before { 244 content: '\f104'; 245 } 246 247 #dash-right-now .storage-count.warning a:before { 248 content: '\f153'; 249 } 250 251 /* Dashboard Quick Draft */ 252 253 #dashboard_quick_draft div.updated { 254 margin-bottom: 10px; 255 border: 1px solid #eee; 256 border-width: 1px 1px 1px 0; 257 } 258 259 #dashboard_quick_draft form { 260 padding: 0 12px 1px 12px; 261 overflow: hidden; 262 } 263 264 #dashboard_quick_draft .drafts, 265 #dashboard_quick_draft .easy-blogging { 266 padding: 8px 12px 0; 267 } 268 269 #dashboard-widgets .postbox .inside { 270 margin: 10px 0; 271 padding: 0; 272 } 273 274 /* Dashboard Quick Draft - Form styling */ 275 276 input#save-post { 277 float: right; 278 } 279 280 form.initial-form label.prompt { 281 font-style: italic; 282 } 283 284 form.initial-form input#title { 285 height: 3em; 286 } 287 288 form.initial-form.quickpress-open label.prompt { 289 font-style: normal; 290 } 291 292 form.initial-form.quickpress-open input#title { 293 height: auto; 294 } 295 296 #dashboard_quick_draft input, 297 #dashboard_quick_draft textarea { 298 box-sizing: border-box; 299 -moz-box-sizing:border-box; 300 -webkit-box-sizing:border-box; 301 margin: 0; 302 } 303 304 #dashboard_quick_draft textarea { 305 resize: vertical; 306 } 307 308 #dashboard-widgets .postbox form .submit { 309 margin: -39px 0; 310 float: right; 311 } 312 313 #description-wrap { 314 margin-top: 12px; 315 } 316 317 #title-wrap #title-prompt-text, 318 .textarea-wrap #content-prompt-text { 319 color: #BBB; 320 } 321 322 #title-wrap #title-prompt-text { 323 font-size: 1.1em; 324 padding: 7px 8px; 325 } 326 327 .initial-form #description-wrap, 328 .initial-form p.submit { 329 display: none; 330 } 331 332 .input-text-wrap, 333 .textarea-wrap { 334 position: relative; 335 } 336 337 .input-text-wrap .prompt, 338 .textarea-wrap .prompt { 339 position: absolute; 340 } 341 342 .textarea-wrap #content-prompt-text { 343 font-size: 1.1em; 344 padding: 7px 8px; 345 } 346 347 .textarea-wrap textarea#content { 348 margin: 0 0 8px; 349 padding: 6px 7px; 350 } 351 352 /* Dashboard Quick Draft - Drafts list */ 353 354 #dashboard_quick_draft .drafts { 355 border-top: 1px solid #eee; 356 margin-top: 12px; 357 } 358 359 #dashboard_quick_draft .drafts abbr { 360 border: none; 361 } 362 363 #dashboard_quick_draft .drafts h4 { 364 margin: 0 0 8px 0; 365 font-weight: normal; 366 } 367 368 #dashboard_quick_draft .drafts .view-all { 369 float: right; 370 margin-top: 0; 371 } 372 373 #draft-list { 374 margin: 0; 375 } 376 377 #draft-list li { 378 margin-bottom: 1em; 379 } 380 #draft-list li time { 381 color: #bbb; 382 } 383 384 #draft-list p { 385 margin: 0; 386 } 387 388 /* Dashboard activity widget */ 389 390 #dashboard_activity h4 { 391 margin: 0 12px 8px; 392 font-weight: normal; 393 } 394 395 #dashboard_activity h4.comment-meta { 396 overflow: hidden; 397 text-overflow: ellipsis; 398 white-space: nowrap; 399 margin-bottom: 4px; 400 } 401 402 #dashboard_activity ul { 403 padding: 0 12px; 404 } 405 406 #dashboard_activity .comment-meta span.approve:before { 407 content: '\f227'; 408 font: 20px/.5 "dashicons"; 409 margin-left: 12px; 410 vertical-align: middle; 411 position: relative; 412 top: -1px; 413 margin-right: 2px; 414 } 415 416 #dashboard_activity .inside { 417 padding: 0; 418 margin: 0; 419 } 420 421 #dashboard_activity .no-activity { 422 overflow: hidden; 423 padding: 0 12px 12px; 424 text-align: center; 425 } 426 427 #dashboard_activity .no-activity p { 428 color: #999; 429 font-size: 16px; 430 } 431 432 #dashboard_activity .no-activity .smiley { 433 margin-top: 0; 434 } 435 436 #dashboard_activity .no-activity .smiley:before { 437 content: '\f328'; 438 font: normal 120px/1 'dashicons'; 439 speak: none; 440 display: block; 441 margin: 0 5px 0 0; 442 padding: 0; 443 text-indent: 0; 444 text-align: center; 445 position: relative; 446 -webkit-font-smoothing: antialiased; 447 text-decoration: none !important; 448 } 449 450 #dashboard_activity .subsubsub { 451 float: none; 452 border-top: 1px solid #eeeeee; 453 margin-top: 0; 454 padding: 8px 12px 0 12px; 455 } 456 457 #future-posts .show-more, 458 #published-posts .show-more { 459 float: right; 460 } 461 462 #future-posts ul, 463 #published-posts ul { 464 clear: both; 465 margin-bottom: 0; 466 } 467 468 #future-posts li, 469 #published-posts li { 470 overflow: hidden; 471 margin-bottom: 8px; 472 } 473 474 #future-posts ul span, 475 #published-posts ul span { 476 color: #bbb; 477 float: left; 478 margin-right: 8px; 479 min-width: 150px; 480 } 481 482 .activity-block { 483 border-bottom: 1px solid #eee; 484 overflow: hidden; 485 padding: 8px 0 0; 486 } 487 488 .activity-block:last-child { 489 border-bottom: none; 490 } 491 492 .activity-block .subsubsub li { 493 color: #ddd; 494 } 495 496 /* Dashboard activity widget - Comments */ 497 498 #the-comment-list tr.undo, #the-comment-list div.undo { 499 background: none; 500 padding: 6px 0; 501 } 502 503 #the-comment-list .alternate, 504 #the-comment-list .alt { 505 background: none; 506 } 507 508 #the-comment-list .comment { 509 background: #f5f5f5; 510 padding: 12px; 511 position: relative; 512 border-top: 1px solid #eeeeee; 513 } 514 515 #the-comment-list img { 516 position: absolute; 517 left: 13px; 518 top: 13px; 519 } 520 521 #the-comment-list .dashboard-comment-wrap { 522 padding-left: 63px; 523 } 524 525 #the-comment-list .dashboard-comment-wrap blockquote { 526 margin: 1em 0; 527 } 528 529 #the-comment-list .comment-item h4 { 530 font-size: 13px; 531 color: #999; 532 } 533 534 #the-comment-list .comment-item p.row-actions { 535 margin: 4px 0 0 0; 536 } 537 538 #the-comment-list .comment-item:first-child { 539 border-top: 1px solid #eeeeee; 540 } 541 542 #the-comment-list .unapproved { 543 background: #f7fcfe; 544 } 545 546 #the-comment-list .unapproved:before { 547 content: ""; 548 display: block; 549 position: absolute; 550 left: 0; 551 top: 0; 552 bottom: 0; 553 background: #d54e21; 554 width: 4px; 555 } 556 /* Dashboard WordPress news */ 557 558 #dashboard_rss .inside { 559 margin: 0; 560 padding: 0; 561 } 562 563 #dashboard_rss .widget-loading, 564 #dashboard_rss .dashboard-widget-control-form { 565 padding: 12px 12px 0; 566 } 567 568 body #dashboard-widgets .postbox form .submit { 569 margin: 0; 570 } 571 572 .dashboard-widget-control-form { 573 overflow: hidden; 574 } 575 576 .dashboard-widget-control-form p { 577 margin-top: 0; 578 } 579 580 .rssSummary { 581 color: #999; 582 margin-top: 4px; 583 } 584 585 .rss-widget { 586 border-bottom: 1px solid #eee; 587 font-size: 13px; 588 padding: 8px 12px 12px; 589 } 590 591 .rss-widget:last-child { 592 border-bottom: none; 593 padding-bottom: 0; 594 } 595 596 .rss-widget a { 597 font-weight: normal; 598 } 599 600 .rss-widget span, 601 .rss-widget span.rss-date { 602 color: #bbb; 603 } 604 605 .rss-widget span.rss-date { 606 margin-left: 12px; 607 } 608 609 .rss-widget ul li { 610 margin-bottom: 8px; 611 } 612 613 /* Dashboard right now */ 614 615 #dash-right-now ul { 616 margin: 0; 617 overflow: hidden; 618 } 619 620 #dash-right-now li { 621 width: 50%; 622 float: left; 623 margin-bottom: 10px; 624 } 625 626 #dash-right-now .inside { 627 margin-bottom: 0; 628 overflow: hidden; 629 padding: 0; 630 } 631 632 #dash-right-now .main { 633 padding: 0 12px; 634 } 635 636 #dash-right-now .main p { 637 margin: 0; 638 } 639 640 .mu-storage { 641 overflow: hidden; 642 } 643 644 /* Dashboard right now - Colors */ 645 646 #dash-right-now li a:before { 647 color: #888; 648 } 649 650 #dash-right-now .sub { 651 color: #bfbbbb; 652 background: #f5f5f5; 653 border-top-color: #dedede; 654 padding: 12px 12px 6px 12px; 655 border-top: 1px solid; 656 } 657 658 #dash-right-now .sub h4 { 659 color: #555; 660 } 661 662 #dash-right-now .sub p { 663 margin: 0 0 .5em; 664 font-size: 11px; 665 } 666 667 #dash-right-now .warning a:before { 668 color: #d54e21; 669 } 670 671 /* Dashboard right now - Icons */ 672 #dash-right-now li a:before { 673 content: '\f159'; 674 font: normal 20px/1 'dashicons'; 675 speak: none; 676 display: block; 677 float: left; 678 margin: 0 5px 0 0; 679 padding: 0; 680 text-indent: 0; 681 text-align: center; 682 position: relative; 683 -webkit-font-smoothing: antialiased; 684 text-decoration: none !important; 685 } 686 687 #dash-right-now .page-count a:before { 688 content: '\f105'; 689 } 690 691 #dash-right-now .post-count a:before { 692 content: '\f109'; 693 } 694 695 #dash-right-now .comment-count a:before { 696 content: '\f101'; 697 } 698 699 #dash-right-now .comment-mod-count a:before { 700 content: '\f125'; 701 } 702 703 #dash-right-now .storage-count a:before { 704 content: '\f104'; 705 } 706 707 #dash-right-now .storage-count.warning a:before { 708 content: '\f153'; 709 } 710 711 /* Dashboard Quick Draft */ 712 713 #dashboard_quick_draft div.updated { 714 margin-bottom: 10px; 715 border: 1px solid #eee; 716 border-width: 1px 1px 1px 0; 717 } 718 719 #dashboard_quick_draft form { 720 padding: 0 12px 1px 12px; 721 overflow: hidden; 722 } 723 724 #dashboard_quick_draft .drafts, 725 #dashboard_quick_draft .easy-blogging { 726 padding: 8px 12px 0; 727 } 728 729 #dashboard-widgets .postbox .inside { 730 margin: 10px 0; 731 padding: 0; 732 } 733 734 /* Dashboard Quick Draft - Form styling */ 735 736 input#save-post { 737 float: right; 738 } 739 740 form.initial-form label.prompt { 741 font-style: italic; 742 } 743 744 form.initial-form input#title { 745 height: 3em; 746 } 747 748 form.initial-form.quickpress-open label.prompt { 749 font-style: normal; 750 } 751 752 form.initial-form.quickpress-open input#title { 753 height: auto; 754 } 755 756 #dashboard_quick_draft input, 757 #dashboard_quick_draft textarea { 758 box-sizing: border-box; 759 -moz-box-sizing:border-box; 760 -webkit-box-sizing:border-box; 761 margin: 0; 762 } 763 764 #dashboard_quick_draft textarea { 765 resize: vertical; 766 } 767 768 #dashboard-widgets .postbox form .submit { 769 margin: -39px 0; 770 float: right; 771 } 772 773 #description-wrap { 774 margin-top: 12px; 775 } 776 777 #title-wrap #title-prompt-text, 778 .textarea-wrap #content-prompt-text { 779 color: #BBB; 780 } 781 782 #title-wrap #title-prompt-text { 783 font-size: 1.1em; 784 padding: 7px 8px; 785 } 786 787 .initial-form #description-wrap, 788 .initial-form p.submit { 789 display: none; 790 } 791 792 .input-text-wrap, 793 .textarea-wrap { 794 position: relative; 795 } 796 797 .input-text-wrap .prompt, 798 .textarea-wrap .prompt { 799 position: absolute; 800 } 801 802 .textarea-wrap #content-prompt-text { 803 font-size: 1.1em; 804 padding: 7px 8px; 805 } 806 807 .textarea-wrap textarea#content { 808 margin: 0 0 8px; 809 padding: 6px 7px; 810 } 811 812 /* Dashboard Quick Draft - Drafts list */ 813 814 #dashboard_quick_draft .drafts { 815 border-top: 1px solid #eee; 816 margin-top: 12px; 817 } 818 819 #dashboard_quick_draft .drafts abbr { 820 border: none; 821 } 822 823 #dashboard_quick_draft .drafts h4 { 824 margin: 0 0 8px 0; 825 font-weight: normal; 826 } 827 828 #dashboard_quick_draft .drafts .view-all { 829 float: right; 830 margin-top: 0; 831 } 832 833 #draft-list { 834 margin: 0; 835 } 836 837 #draft-list li { 838 margin-bottom: 1em; 839 } 840 #draft-list li time { 841 color: #bbb; 842 } 843 844 #draft-list p { 845 margin: 0; 846 } 847 848 /* Dashboard activity widget */ 849 850 #dashboard_activity h4 { 851 margin: 0 12px 8px; 852 font-weight: normal; 853 } 854 855 #dashboard_activity h4.comment-meta { 856 overflow: hidden; 857 text-overflow: ellipsis; 858 white-space: nowrap; 859 margin-bottom: 4px; 860 } 861 862 #dashboard_activity ul { 863 padding: 0 12px; 864 } 865 866 #dashboard_activity .comment-meta span.approve:before { 867 content: '\f227'; 868 font: 20px/.5 "dashicons"; 869 margin-left: 12px; 870 vertical-align: middle; 871 position: relative; 872 top: -1px; 873 margin-right: 2px; 874 } 875 876 #dashboard_activity .inside { 877 padding: 0; 878 margin: 0; 879 } 880 881 #dashboard_activity .no-activity { 882 overflow: hidden; 883 padding: 0 12px 12px; 884 text-align: center; 885 } 886 887 #dashboard_activity .no-activity p { 888 color: #999; 889 font-size: 16px; 890 } 891 892 #dashboard_activity .no-activity .smiley { 893 margin-top: 0; 894 } 895 896 #dashboard_activity .no-activity .smiley:before { 897 content: '\f328'; 898 font: normal 120px/1 'dashicons'; 899 speak: none; 900 display: block; 901 margin: 0 5px 0 0; 902 padding: 0; 903 text-indent: 0; 904 text-align: center; 905 position: relative; 906 -webkit-font-smoothing: antialiased; 907 text-decoration: none !important; 908 } 909 910 #dashboard_activity .subsubsub { 911 float: none; 912 border-top: 1px solid #eeeeee; 913 margin-top: 0; 914 padding: 8px 12px 0 12px; 915 } 916 917 #future-posts .show-more, 918 #published-posts .show-more { 919 float: right; 920 } 921 922 #future-posts ul, 923 #published-posts ul { 924 clear: both; 925 margin-bottom: 0; 926 } 927 928 #future-posts li, 929 #published-posts li { 930 overflow: hidden; 931 margin-bottom: 8px; 932 } 933 934 #future-posts ul span, 935 #published-posts ul span { 936 color: #bbb; 937 float: left; 938 margin-right: 8px; 939 min-width: 150px; 940 } 941 942 .activity-block { 943 border-bottom: 1px solid #eee; 944 overflow: hidden; 945 padding: 8px 0 0; 946 } 947 948 .activity-block:last-child { 949 border-bottom: none; 950 } 951 952 .activity-block .subsubsub li { 953 color: #ddd; 954 } 955 956 /* Dashboard activity widget - Comments */ 957 958 #the-comment-list tr.undo, #the-comment-list div.undo { 959 background: none; 960 padding: 6px 0; 961 } 962 963 #the-comment-list .alternate, 964 #the-comment-list .alt { 965 background: none; 966 } 967 968 #the-comment-list .comment { 969 background: #f5f5f5; 970 padding: 12px; 971 position: relative; 972 border-top: 1px solid #eeeeee; 973 } 974 975 #the-comment-list img { 976 position: absolute; 977 left: 13px; 978 top: 13px; 979 } 980 981 #the-comment-list .dashboard-comment-wrap { 982 padding-left: 63px; 983 } 984 985 #the-comment-list .dashboard-comment-wrap blockquote { 986 margin: 1em 0; 987 } 988 989 #the-comment-list .comment-item h4 { 990 font-size: 13px; 991 color: #999; 992 } 993 994 #the-comment-list .comment-item p.row-actions { 995 margin: 4px 0 0 0; 996 } 997 998 #the-comment-list .comment-item:first-child { 999 border-top: 1px solid #eeeeee; 1000 } 1001 1002 #the-comment-list .unapproved { 1003 background: #f7fcfe; 1004 } 1005 1006 #the-comment-list .unapproved:before { 1007 content: ""; 1008 display: block; 1009 position: absolute; 1010 left: 0; 1011 top: 0; 1012 bottom: 0; 1013 background: #d54e21; 1014 width: 4px; 1015 } 1016 /* Dashboard WordPress news */ 1017 1018 #dashboard_rss .inside { 1019 margin: 0; 1020 padding: 0; 1021 } 1022 1023 #dashboard_rss .widget-loading, 1024 #dashboard_rss .dashboard-widget-control-form { 1025 padding: 12px 12px 0; 1026 } 1027 1028 body #dashboard-widgets .postbox form .submit { 1029 margin: 0; 1030 } 1031 1032 .dashboard-widget-control-form { 1033 overflow: hidden; 1034 } 1035 1036 .dashboard-widget-control-form p { 1037 margin-top: 0; 1038 } 1039 1040 .rssSummary { 1041 color: #999; 1042 margin-top: 4px; 1043 } 1044 1045 .rss-widget { 1046 border-bottom: 1px solid #eee; 1047 font-size: 13px; 1048 padding: 8px 12px 12px; 1049 } 1050 1051 .rss-widget:last-child { 1052 border-bottom: none; 1053 padding-bottom: 0; 1054 } 1055 1056 .rss-widget a { 1057 font-weight: normal; 1058 } 1059 1060 .rss-widget span, 1061 .rss-widget span.rss-date { 1062 color: #bbb; 1063 } 1064 1065 .rss-widget span.rss-date { 1066 margin-left: 12px; 1067 } 1068 1069 .rss-widget ul li { 1070 margin-bottom: 8px; 1071 } 1072 1073 /* Dashboard right now */ 1074 1075 #dash-right-now ul { 1076 margin: 0; 1077 overflow: hidden; 1078 } 1079 1080 #dash-right-now li { 1081 width: 50%; 1082 float: left; 1083 margin-bottom: 10px; 1084 } 1085 1086 #dash-right-now .inside { 1087 margin-bottom: 0; 1088 overflow: hidden; 1089 padding: 0; 1090 } 1091 1092 #dash-right-now .main { 1093 padding: 0 12px; 1094 } 1095 1096 #dash-right-now .main p { 1097 margin: 0; 1098 } 1099 1100 .mu-storage { 1101 overflow: hidden; 1102 } 1103 1104 /* Dashboard right now - Colors */ 1105 1106 #dash-right-now li a:before { 1107 color: #888; 1108 } 1109 1110 #dash-right-now .sub { 1111 color: #bfbbbb; 1112 background: #f5f5f5; 1113 border-top-color: #dedede; 1114 padding: 12px 12px 6px 12px; 1115 border-top: 1px solid; 1116 } 1117 1118 #dash-right-now .sub h4 { 1119 color: #555; 1120 } 1121 1122 #dash-right-now .sub p { 1123 margin: 0 0 .5em; 1124 font-size: 11px; 1125 } 1126 1127 #dash-right-now .warning a:before { 1128 color: #d54e21; 1129 } 1130 1131 /* Dashboard right now - Icons */ 1132 #dash-right-now li a:before { 1133 content: '\f159'; 1134 font: normal 20px/1 'dashicons'; 1135 speak: none; 1136 display: block; 1137 float: left; 1138 margin: 0 5px 0 0; 1139 padding: 0; 1140 text-indent: 0; 1141 text-align: center; 1142 position: relative; 1143 -webkit-font-smoothing: antialiased; 1144 text-decoration: none !important; 1145 } 1146 1147 #dash-right-now .page-count a:before { 1148 content: '\f105'; 1149 } 1150 1151 #dash-right-now .post-count a:before { 1152 content: '\f109'; 1153 } 1154 1155 #dash-right-now .comment-count a:before { 1156 content: '\f101'; 1157 } 1158 1159 #dash-right-now .comment-mod-count a:before { 1160 content: '\f125'; 1161 } 1162 1163 #dash-right-now .storage-count a:before { 1164 content: '\f104'; 1165 } 1166 1167 #dash-right-now .storage-count.warning a:before { 1168 content: '\f153'; 1169 } 1170 1171 /* Dashboard Quick Draft */ 1172 1173 #dashboard_quick_draft div.updated { 1174 margin-bottom: 10px; 1175 border: 1px solid #eee; 1176 border-width: 1px 1px 1px 0; 1177 } 1178 1179 #dashboard_quick_draft form { 1180 padding: 0 12px 1px 12px; 1181 overflow: hidden; 1182 } 1183 1184 #dashboard_quick_draft .drafts, 1185 #dashboard_quick_draft .easy-blogging { 1186 padding: 8px 12px 0; 1187 } 1188 1189 #dashboard-widgets .postbox .inside { 1190 margin: 10px 0; 1191 padding: 0; 1192 } 1193 1194 /* Dashboard Quick Draft - Form styling */ 1195 1196 input#save-post { 1197 float: right; 1198 } 1199 1200 form.initial-form label.prompt { 1201 font-style: italic; 1202 } 1203 1204 form.initial-form input#title { 1205 height: 3em; 1206 } 1207 1208 form.initial-form.quickpress-open label.prompt { 1209 font-style: normal; 1210 } 1211 1212 form.initial-form.quickpress-open input#title { 1213 height: auto; 1214 } 1215 1216 #dashboard_quick_draft input, 1217 #dashboard_quick_draft textarea { 1218 box-sizing: border-box; 1219 -moz-box-sizing:border-box; 1220 -webkit-box-sizing:border-box; 1221 margin: 0; 1222 } 1223 1224 #dashboard_quick_draft textarea { 1225 resize: vertical; 1226 } 1227 1228 #dashboard-widgets .postbox form .submit { 1229 margin: -39px 0; 1230 float: right; 1231 } 1232 1233 #description-wrap { 1234 margin-top: 12px; 1235 } 1236 1237 #title-wrap #title-prompt-text, 1238 .textarea-wrap #content-prompt-text { 1239 color: #BBB; 1240 } 1241 1242 #title-wrap #title-prompt-text { 1243 font-size: 1.1em; 1244 padding: 7px 8px; 1245 } 1246 1247 .initial-form #description-wrap, 1248 .initial-form p.submit { 1249 display: none; 1250 } 1251 1252 .input-text-wrap, 1253 .textarea-wrap { 1254 position: relative; 1255 } 1256 1257 .input-text-wrap .prompt, 1258 .textarea-wrap .prompt { 1259 position: absolute; 1260 } 1261 1262 .textarea-wrap #content-prompt-text { 1263 font-size: 1.1em; 1264 padding: 7px 8px; 1265 } 1266 1267 .textarea-wrap textarea#content { 1268 margin: 0 0 8px; 1269 padding: 6px 7px; 1270 } 1271 1272 /* Dashboard Quick Draft - Drafts list */ 1273 1274 #dashboard_quick_draft .drafts { 1275 border-top: 1px solid #eee; 1276 margin-top: 12px; 1277 } 1278 1279 #dashboard_quick_draft .drafts abbr { 1280 border: none; 1281 } 1282 1283 #dashboard_quick_draft .drafts h4 { 1284 margin: 0 0 8px 0; 1285 font-weight: normal; 1286 } 1287 1288 #dashboard_quick_draft .drafts .view-all { 1289 float: right; 1290 margin-top: 0; 1291 } 1292 1293 #draft-list { 1294 margin: 0; 1295 } 1296 1297 #draft-list li { 1298 margin-bottom: 1em; 1299 } 1300 #draft-list li time { 1301 color: #bbb; 1302 } 1303 1304 #draft-list p { 1305 margin: 0; 1306 } 1307 1308 #draft-list .draft-title { 1309 overflow: hidden; 1310 } 1311 1312 #draft-list .draft-title a, 1313 #draft-list .draft-title time { 1314 float: left; 1315 margin: 0 5px 0 0; 1316 } 1317 1318 /* Dashboard activity widget */ 1319 1320 #dashboard_activity h4 { 1321 margin: 0 0 8px 12px; 1322 font-weight: normal; 1323 } 1324 1325 #dashboard_activity h4.comment-meta { 1326 margin: 0; 1327 } 1328 1329 #dashboard_activity h4.comment-meta { 1330 overflow: hidden; 1331 text-overflow: ellipsis; 1332 white-space: nowrap; 1333 margin-bottom: 4px; 1334 } 1335 1336 #dashboard_activity ul { 1337 padding: 0 12px; 1338 } 1339 1340 #dashboard_activity .comment-meta span.approve:before { 1341 content: '\f227'; 1342 font: 20px/.5 "dashicons"; 1343 margin-left: 12px; 1344 vertical-align: middle; 1345 position: relative; 1346 top: -1px; 1347 margin-right: 2px; 1348 } 1349 1350 #dashboard_activity .inside { 1351 padding: 0; 1352 margin: 0; 1353 } 1354 1355 #dashboard_activity .no-activity { 1356 overflow: hidden; 1357 padding: 0 12px 12px; 1358 text-align: center; 1359 } 1360 1361 #dashboard_activity .no-activity p { 1362 color: #999; 1363 font-size: 16px; 1364 } 1365 1366 #dashboard_activity .no-activity .smiley { 1367 margin-top: 0; 1368 } 1369 1370 #dashboard_activity .no-activity .smiley:before { 1371 content: '\f328'; 1372 font: normal 120px/1 'dashicons'; 1373 speak: none; 1374 display: block; 1375 margin: 0 5px 0 0; 1376 padding: 0; 1377 text-indent: 0; 1378 text-align: center; 1379 position: relative; 1380 -webkit-font-smoothing: antialiased; 1381 text-decoration: none !important; 1382 } 1383 1384 #dashboard_activity .subsubsub { 1385 float: none; 1386 border-top: 1px solid #eeeeee; 1387 margin-top: 0; 1388 padding: 8px 12px 0 12px; 1389 } 1390 1391 #future-posts .show-more, 1392 #published-posts .show-more { 1393 float: right; 1394 } 1395 1396 #future-posts ul, 1397 #published-posts ul { 1398 clear: both; 1399 margin-bottom: 0; 1400 } 1401 1402 #future-posts li, 1403 #published-posts li { 1404 overflow: hidden; 1405 margin-bottom: 8px; 1406 } 1407 1408 #future-posts ul span, 1409 #published-posts ul span { 1410 color: #bbb; 1411 float: left; 1412 margin-right: 8px; 1413 min-width: 150px; 1414 } 1415 1416 .activity-block { 1417 border-bottom: 1px solid #eee; 1418 overflow: hidden; 1419 padding: 8px 0 0; 1420 } 1421 1422 .activity-block:last-child { 1423 border-bottom: none; 1424 } 1425 1426 .activity-block .subsubsub li { 1427 color: #ddd; 1428 } 1429 1430 /* Dashboard activity widget - Comments */ 1431 1432 #the-comment-list tr.undo, #the-comment-list div.undo { 1433 background: none; 1434 padding: 6px 0; 1435 } 1436 1437 #the-comment-list .alternate, 1438 #the-comment-list .alt { 1439 background: none; 1440 } 1441 1442 #the-comment-list .comment { 1443 background: #f5f5f5; 1444 padding: 12px; 1445 position: relative; 1446 border-top: 1px solid #eeeeee; 1447 } 1448 1449 #the-comment-list img { 1450 position: absolute; 1451 left: 13px; 1452 top: 13px; 1453 } 1454 1455 #the-comment-list .dashboard-comment-wrap { 1456 padding-left: 63px; 1457 } 1458 1459 #the-comment-list .dashboard-comment-wrap blockquote { 1460 margin: 1em 0; 1461 } 1462 1463 #the-comment-list .comment-item h4 { 1464 font-size: 13px; 1465 color: #999; 1466 } 1467 1468 #the-comment-list .comment-item p.row-actions { 1469 margin: 4px 0 0 0; 1470 } 1471 1472 #the-comment-list .comment-item:first-child { 1473 border-top: 1px solid #eeeeee; 1474 } 1475 1476 #the-comment-list .unapproved { 1477 background: #f7fcfe; 1478 } 1479 1480 #the-comment-list .unapproved:before { 1481 content: ""; 1482 display: block; 1483 position: absolute; 1484 left: 0; 1485 top: 0; 1486 bottom: 0; 1487 background: #d54e21; 1488 width: 4px; 1489 } 1490 1491 /* RTL Styles */ 1492 1493 .rtl .welcome-panel .welcome-icon { 1494 padding: 2px 0 8px 32px; 1495 } 1496 1497 .rtl .welcome-panel .welcome-icon:before { 1498 padding: 0 0 0 10px; 1499 } 1500 1501 .rtl .welcome-panel .welcome-panel-close:before { 1502 left: auto; 1503 right: -18px; 1504 } 1505 1506 .rtl #dashboard_quick_draft .drafts .view-all { 1507 float: left; 1508 } 1509 1510 .rtl #draft-list .draft-title a, 1511 .rtl #draft-list .draft-title time { 1512 float: right; 1513 margin: 0 0 0 5px; 1514 } 1515 1516 .rtl #dash-right-now li { 1517 float: right; 1518 } 1519 1520 .rtl #dash-right-now li a:before { 1521 float: right; 1522 margin: 0 0 0 5px; 1523 } 1524 1525 .rtl #published-posts ul span { 1526 float: right; 1527 margin: 0 0 0 5px; 1528 } 1529 1530 .rtl .rss-title-row .rsswidget { 1531 float: right; 1532 } 1533 1534 .rtl .rss-title-row .rss-date { 1535 float: right; 1536 margin: 3px 12px 0 0; 1537 } 1538 1539 .rtl .dashboard-news-plugin a.dashboard-news-plugin-link, 1540 .rtl .dashboard-news-plugin span { 1541 float: right; 1542 margin: 0 0 0 5px; 1543 } 1544 1545 .rtl #the-comment-list .dashboard-comment-wrap { 1546 padding: 0 63px 0 0; 1547 } 1548 1549 .rtl #the-comment-list img { 1550 left: auto; 1551 right: 13px; 1552 } 1553 1554 .rtl #dashboard_activity h4 { 1555 margin: 0 12px 8px 0; 1556 } 1557 1558 .rtl #dashboard_activity h4.comment-meta { 1559 margin: 0; 1560 } 1561 No newline at end of file