Ticket #16020: 16020.6.diff
File 16020.6.diff, 23.2 KB (added by , 12 years ago) |
---|
-
wp-includes/user.php
1354 1354 } 1355 1355 $display_name = apply_filters( 'pre_user_display_name', $display_name ); 1356 1356 1357 if ( empty( $avatar_type ) || $avatar_type != 'custom' ) 1358 $avatar_type = 'gravatar'; 1359 1360 if ( empty( $custom_avatar ) ) 1361 $custom_avatar = ''; 1362 1357 1363 if ( empty($description) ) 1358 1364 $description = ''; 1359 1365 $description = apply_filters('pre_user_description', $description); … … 1520 1526 * @return array 1521 1527 */ 1522 1528 function _get_additional_user_keys( $user ) { 1523 $keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front' );1529 $keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front', 'avatar_type', 'custom_avatar' ); 1524 1530 return array_merge( $keys, array_keys( _wp_get_user_contactmethods( $user ) ) ); 1525 1531 } 1526 1532 -
wp-includes/media.php
575 575 } 576 576 577 577 /** 578 * Resize a custom avatar 579 * 580 * @since 3.5.1 581 * @param string URL to an avatar image to resize 582 * @param int Size of the new avatar image 583 * @return array Array with the URL of the new avatar image 584 */ 585 function custom_avatar_resize( $url, $size ) { 586 $upload_dir = wp_upload_dir(); 587 $file = str_replace( $upload_dir['baseurl'], $upload_dir['basedir'], $url ); 588 $info = pathinfo( $file ); 589 $dir = $info['dirname']; 590 $ext = $info['extension']; 591 $name = wp_basename( $file, ".$ext" ); 592 $suffix = "{$size}x{$size}"; 593 $destfilename = "{$dir}/{$name}-{$suffix}.{$ext}"; 594 $custom_avatar = array(); 595 596 if ( file_exists( $destfilename ) ) { 597 $custom_avatar['url'] = str_replace( $upload_dir['basedir'], $upload_dir['baseurl'], $destfilename ); 598 $custom_avatar['skip'] = true; 599 } else { 600 $file = image_resize( $file, $size, $size, true ); 601 602 if ( ! is_wp_error( $file ) ) { 603 $custom_avatar['url'] = str_replace( $upload_dir['basedir'], $upload_dir['baseurl'], $file ); 604 $custom_avatar['skip'] = false; 605 } 606 } 607 608 return $custom_avatar; 609 } 610 611 /** 578 612 * Adds a 'wp-post-image' class to post thumbnails 579 613 * Uses the begin_fetch_post_thumbnail_html and end_fetch_post_thumbnail_html action hooks to 580 614 * dynamically add/remove itself so as to only filter post thumbnails -
wp-includes/formatting.php
2788 2788 $value = absint( $value ); 2789 2789 break; 2790 2790 2791 case 'avatar_size': 2792 $value = absint( $value ); 2793 if ( $value < 1 ) 2794 $value = 1; 2795 elseif ( $value > 512 ) 2796 $value = 512; 2797 break; 2798 2791 2799 case 'posts_per_page': 2792 2800 case 'posts_per_rss': 2793 2801 $value = (int) $value; -
wp-includes/pluggable.php
1575 1575 * Retrieve the avatar for a user who provided a user ID or email address. 1576 1576 * 1577 1577 * @since 2.5 1578 * @param int|string|object $id_or_email A user ID, 1578 * @param int|string|object $id_or_email A user ID, email address, or comment object 1579 1579 * @param int $size Size of the avatar image 1580 1580 * @param string $default URL to a default image to use if no avatar is available 1581 1581 * @param string $alt Alternative text to use in image tag. Defaults to blank 1582 * @param string $avatar_type Override user preference (Used in user-edit.php) 1582 1583 * @return string <img> tag for the user's avatar 1583 1584 */ 1584 function get_avatar( $id_or_email, $size = ' 96', $default = '', $alt = false) {1585 function get_avatar( $id_or_email, $size = '', $default = '', $alt = false, $avatar_type = '' ) { 1585 1586 if ( ! get_option('show_avatars') ) 1586 1587 return false; 1587 1588 … … 1590 1591 else 1591 1592 $safe_alt = esc_attr( $alt ); 1592 1593 1593 if ( !is_numeric($size) ) 1594 $size = '96'; 1594 if ( empty( $size ) || ! is_numeric( $size ) ) { 1595 $size = get_option( 'avatar_size' ); 1596 } else { 1597 $size = absint( $size ); 1595 1598 1599 if ( $size < 1 ) 1600 $size = 1; 1601 elseif ( $size > 512 ) 1602 $size = 512; 1603 } 1604 1605 if ( ! empty( $avatar_type ) && $avatar_type != 'custom' ) 1606 $avatar_type = 'gravatar'; 1607 1596 1608 $email = ''; 1597 1609 if ( is_numeric($id_or_email) ) { 1598 1610 $id = (int) $id_or_email; … … 1612 1624 $email = $user->user_email; 1613 1625 } elseif ( !empty($id_or_email->comment_author_email) ) { 1614 1626 $email = $id_or_email->comment_author_email; 1627 1628 if ( $id = email_exists( $email ) ) 1629 $user = get_userdata( $id ); 1615 1630 } 1616 1631 } else { 1617 1632 $email = $id_or_email; 1633 1634 if ( $id = email_exists( $email ) ) 1635 $user = get_userdata( $id ); 1618 1636 } 1619 1637 1638 if ( isset( $user ) ) { 1639 if ( empty( $avatar_type ) ) 1640 $avatar_type = $user->avatar_type; 1641 } else { 1642 $avatar_type = 'gravatar'; 1643 } 1644 1620 1645 if ( empty($default) ) { 1621 1646 $avatar_default = get_option('avatar_default'); 1622 1647 if ( empty($avatar_default) ) … … 1650 1675 elseif ( strpos($default, 'http://') === 0 ) 1651 1676 $default = add_query_arg( 's', $size, $default ); 1652 1677 1653 if ( !empty($email) ) { 1654 $out = "$host/avatar/"; 1655 $out .= $email_hash; 1656 $out .= '?s='.$size; 1657 $out .= '&d=' . urlencode( $default ); 1678 $img = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />"; 1658 1679 1680 if ( $avatar_type == 'custom' ) { 1681 $avatar_rating = get_option( 'avatar_rating' ); 1682 $custom_avatar_rating = get_post_meta( $user->custom_avatar, '_wp_attachment_custom_avatar_rating', true ); 1683 1684 $ratings['G'] = 1; 1685 $ratings['PG'] = 2; 1686 $ratings['R'] = 3; 1687 $ratings['X'] = 4; 1688 1689 if ( $ratings[ $custom_avatar_rating ] <= $ratings[ $avatar_rating ] ) { 1690 $custom_avatar = get_post_meta( $user->custom_avatar, '_wp_attachment_custom_avatar', true ); 1691 1692 if ( empty( $custom_avatar[ $size ] ) ) { 1693 $url = wp_get_attachment_image_src( $user->custom_avatar, 'full' ); 1694 1695 // Resize the avatar image 1696 $custom_avatar[ $size ] = custom_avatar_resize( $url[0], $size ); 1697 1698 // Update the user meta-data 1699 update_post_meta( $user->custom_avatar, '_wp_attachment_custom_avatar', $custom_avatar ); 1700 } 1701 1702 $src = $custom_avatar[ $size ]['url']; 1703 $img = "<img alt='{$safe_alt}' src='{$src}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"; 1704 } 1705 } else if ( ! empty($email) ) { 1706 $src = "$host/avatar/"; 1707 $src .= $email_hash; 1708 $src .= '?s='.$size; 1709 $src .= '&d=' . urlencode( $default ); 1710 1659 1711 $rating = get_option('avatar_rating'); 1660 if ( !empty( $rating ) )1661 $out .= "&r={$rating}";1662 1712 1663 $avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"; 1664 } else { 1665 $avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />"; 1713 if ( ! empty( $rating ) ) 1714 $src .= "&r={$rating}"; 1715 1716 $img = "<img alt='{$safe_alt}' src='{$src}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"; 1666 1717 } 1667 1718 1668 return apply_filters('get_avatar', $ avatar, $id_or_email, $size, $default, $alt);1719 return apply_filters('get_avatar', $img, $id_or_email, $size, $default, $alt, $avatar_type); 1669 1720 } 1670 1721 endif; 1671 1722 -
wp-admin/includes/misc.php
553 553 <?php 554 554 } 555 555 556 /** 557 * Cleanup a custom avatar 558 * 559 * @since 3.5.1 560 * @param int $attachment_id An attachment ID 561 */ 562 function custom_avatar_cleanup( $attachment_id ) { 563 $upload_dir = wp_upload_dir(); 564 $custom_avatar = get_post_meta( $attachment_id, '_wp_attachment_custom_avatar', true ); 565 566 if ( is_array( $custom_avatar ) ) { 567 foreach ( $custom_avatar as $file ) { 568 if ( ! $file['skip'] ) { 569 $file = str_replace( $upload_dir['baseurl'], $upload_dir['basedir'], $file['url'] ); 570 @unlink( $file ); 571 } 572 } 573 } 574 575 delete_post_meta( $attachment_id, '_wp_attachment_custom_avatar' ); 576 delete_post_meta( $attachment_id, '_wp_attachment_custom_avatar_rating' ); 577 delete_post_meta( $attachment_id, '_wp_attachment_is_custom_avatar' ); 578 } 579 580 /** 581 * Delete a custom avatar 582 * 583 * @since 3.5.1 584 * @param int $attachment_id An attachment ID 585 */ 586 function delete_custom_avatar( $attachment_id ) { 587 $is_custom_avatar = get_post_meta( $attachment_id, '_wp_attachment_is_custom_avatar', true ); 588 589 if ( ! $is_custom_avatar ) 590 return; 591 592 custom_avatar_cleanup( $attachment_id ); 593 594 $args = array( 595 'meta_key' => 'custom_avatar', 596 'meta_value' => $attachment_id 597 ); 598 599 $users = get_users( $args ); 600 601 foreach ( $users as $user ) { 602 // Update the user meta-data 603 update_user_meta( $user->ID, 'avatar_type', 'gravatar' ); 604 delete_user_meta( $user->ID, 'custom_avatar' ); 605 } 606 } 607 608 add_action( 'delete_attachment', 'delete_custom_avatar' ); 609 556 610 function _ipad_meta() { 557 611 if ( wp_is_mobile() ) { 558 612 ?> -
wp-admin/includes/schema.php
476 476 477 477 // 3.5 478 478 'link_manager_enabled' => 0, 479 'avatar_size' => 96 479 480 ); 480 481 481 482 // 3.3 -
wp-admin/includes/template.php
1461 1461 $media_states = array(); 1462 1462 $stylesheet = get_option('stylesheet'); 1463 1463 1464 $meta_avatar = get_post_meta( $post->ID, '_wp_attachment_is_custom_avatar', true ); 1465 if ( ! empty( $meta_avatar ) ) 1466 $media_states[] = __( 'Avatar Image' ); 1467 1464 1468 if ( current_theme_supports( 'custom-header') ) { 1465 1469 $meta_header = get_post_meta($post->ID, '_wp_attachment_is_custom_header', true ); 1466 1470 if ( ! empty( $meta_header ) && $meta_header == $stylesheet ) … … 1479 1483 $state_count = count( $media_states ); 1480 1484 $i = 0; 1481 1485 echo ' - '; 1486 echo '<span class="post-state">'; 1482 1487 foreach ( $media_states as $state ) { 1483 1488 ++$i; 1484 1489 ( $i == $state_count ) ? $sep = '' : $sep = ', '; 1485 echo "<span class='post-state'>$state$sep</span>";1490 echo $state . $sep; 1486 1491 } 1492 echo '</span>'; 1487 1493 } 1488 1494 } 1489 1495 -
wp-admin/includes/user.php
94 94 $user->rich_editing = isset( $_POST['rich_editing'] ) && 'false' == $_POST['rich_editing'] ? 'false' : 'true'; 95 95 $user->admin_color = isset( $_POST['admin_color'] ) ? sanitize_text_field( $_POST['admin_color'] ) : 'fresh'; 96 96 $user->show_admin_bar_front = isset( $_POST['admin_bar_front'] ) ? 'true' : 'false'; 97 $user->avatar_type = isset( $_POST['avatar_type'] ) ? sanitize_text_field( $_POST['avatar_type'] ) : 'gravatar'; 98 99 if ( isset( $userdata->custom_avatar ) ) { 100 $user->custom_avatar = $userdata->custom_avatar; 101 $custom_avatar_rating = isset( $_POST['custom_avatar_rating'] ) ? sanitize_text_field( $_POST['custom_avatar_rating'] ) : 'G'; 102 103 // Update the user meta-data 104 update_post_meta( $user->custom_avatar, '_wp_attachment_custom_avatar_rating', $custom_avatar_rating ); 105 } 106 107 // Add a new avatar 108 if ( isset( $_POST['upload-avatar'] ) && $_POST['upload-avatar'] ) { 109 if ( isset( $user->custom_avatar ) ) { 110 // Reset the current avatar 111 custom_avatar_cleanup( $user->custom_avatar ); 112 } 113 114 $mimes = array( 115 'bmp' => 'image/bmp', 116 'gif' => 'image/gif', 117 'jpeg' => 'image/jpeg', 118 'jpg' => 'image/jpeg', 119 'jpe' => 'image/jpeg', 120 'png' => 'image/png', 121 'tiff' => 'image/tiff', 122 'tif' => 'image/tiff' 123 ); 124 125 $overrides = array( 'mimes' => $mimes, 'test_form' => false ); 126 $file = wp_handle_upload( $_FILES['import'], $overrides ); 127 128 if ( isset( $file['error'] ) ) 129 wp_die( $file['error'], __( 'Image Upload Error' ) ); 130 131 $url = $file['url']; 132 $type = $file['type']; 133 $file = $file['file']; 134 $filename = basename( $file ); 135 136 // Construct the object array 137 $object = array( 138 'guid' => $url, 139 'post_content' => $url, 140 'post_mime_type' => $type, 141 'post_title' => $filename 142 ); 143 144 // Save the data 145 $attachment_id = wp_insert_attachment( $object, $file ); 146 147 // Add the attachment meta-data 148 wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $file ) ); 149 150 $size = get_option( 'avatar_size' ); 151 $custom_avatar = array(); 152 153 // Resize the avatar image to default size 154 $custom_avatar[ $size ] = custom_avatar_resize( $url, $size ); 155 156 update_post_meta( $attachment_id, '_wp_attachment_custom_avatar', $custom_avatar ); 157 update_post_meta( $attachment_id, '_wp_attachment_custom_avatar_rating', 'G' ); 158 update_post_meta( $attachment_id, '_wp_attachment_is_custom_avatar', true ); 159 160 // Add the user meta-data 161 $user->avatar_type = 'custom'; 162 $user->custom_avatar = $attachment_id; 163 } 97 164 } 98 165 99 166 $user->comment_shortcuts = isset( $_POST['comment_shortcuts'] ) && 'true' == $_POST['comment_shortcuts'] ? 'true' : ''; -
wp-admin/options-discussion.php
240 240 241 241 </fieldset></td> 242 242 </tr> 243 <tr valign="top"> 244 <th scope="row"><?php _e( 'Avatar Size' ) ?></th> 245 <td> 246 <fieldset> 247 <legend class="screen-reader-text"><span><?php _e( 'Avatar Size' ); ?></span></legend> 248 <label> 249 <?php _e( 'Size of the avatar image' ); ?> 250 <input name="avatar_size" type="number" step="1" min="0" value="<?php form_option( 'avatar_size' ); ?>" class="small-text" /> 251 </label> 252 </fieldset> 253 </td> 254 </tr> 243 255 <?php do_settings_fields('discussion', 'avatars'); ?> 244 256 </table> 245 257 -
wp-admin/options.php
60 60 61 61 $whitelist_options = array( 62 62 'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string' ), 63 'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', ' close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ),63 'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'avatar_size', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ), 64 64 'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ), 65 65 'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public' ), 66 66 'writing' => array( 'use_smilies', 'default_category', 'default_email_category', 'use_balanceTags', 'default_link_category', 'default_post_format' ) -
wp-admin/user-edit.php
147 147 exit; 148 148 } 149 149 150 case 'remove-avatar': 151 check_admin_referer( 'update-user_' . $user_id ); 152 153 if ( ! current_user_can( 'edit_user', $user_id ) ) 154 wp_die( __( 'You do not have permission to edit this user.' ) ); 155 156 $custom_avatar = get_user_meta( $user_id, 'custom_avatar', true ); 157 158 custom_avatar_cleanup( $custom_avatar ); 159 update_user_meta( $user_id, 'avatar_type', 'gravatar' ); 160 delete_user_meta( $user_id, 'custom_avatar' ); 161 162 $redirect = add_query_arg( 'updated', true, get_edit_user_link( $user_id ) ); 163 164 if ( $wp_http_referer ) 165 $redirect = add_query_arg( 'wp_http_referer', urlencode( $wp_http_referer ), $redirect); 166 167 wp_redirect( $redirect ); 168 exit; 169 150 170 default: 151 171 $profileuser = get_user_to_edit($user_id); 152 172 … … 189 209 } ?> 190 210 </h2> 191 211 192 <form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post"<?php do_action('user_edit_form_tag'); ?>>212 <form enctype="multipart/form-data" id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post"<?php do_action( 'user_edit_form_tag' ); ?>> 193 213 <?php wp_nonce_field('update-user_' . $user_id) ?> 194 214 <?php if ( $wp_http_referer ) : ?> 195 215 <input type="hidden" name="wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" /> … … 362 382 ?> 363 383 </table> 364 384 385 <h3><?php _e( 'Avatar' ); ?></h3> 386 387 <?php 388 $avatar_type = isset( $profileuser->avatar_type ) ? $profileuser->avatar_type : 'gravatar'; 389 390 if ( isset( $profileuser->custom_avatar ) ) { 391 $custom_avatar_rating = get_post_meta( $profileuser->custom_avatar, '_wp_attachment_custom_avatar_rating', true ); 392 $has_custom_avatar = get_post_meta( $profileuser->custom_avatar, '_wp_attachment_is_custom_avatar', true ); 393 } 394 395 if ( ! isset( $custom_avatar_rating ) ) 396 $custom_avatar_rating = 'G'; 397 398 if ( ! isset( $has_custom_avatar ) ) 399 $has_custom_avatar = false; 400 ?> 401 402 <table class="form-table"> 403 <tr> 404 <th><?php _e( 'Display this avatar' ); ?></th> 405 <td class="avatar-picker"> 406 <fieldset> 407 <legend class="screen-reader-text"><span><?php _e( 'Display this avatar' ); ?></span></legend> 408 <label> 409 <input <?php checked( $avatar_type, 'gravatar' ); ?> name="avatar_type" type="radio" value="gravatar" /> 410 <?php echo get_avatar( $profileuser->ID, 32, '', false, 'gravatar' ); ?> 411 <?php _e( 'Gravatar' ); ?> 412 <span class="description"><?php _e( '<a href="http://codex.wordpress.org/How_to_Use_Gravatars_in_WordPress" target="_blank">More information</a>' ); ?></span> 413 </label> 414 <?php if ( $has_custom_avatar ) : ?> 415 <br /> 416 <label> 417 <input <?php checked( $avatar_type, 'custom' ); ?> name="avatar_type" type="radio" value="custom" /> 418 <?php echo get_avatar( $profileuser->ID, 32, '', false, 'custom' ); ?> 419 <?php _e( 'Custom' ); ?> 420 </label> 421 <?php endif; ?> 422 <?php 423 if ( $has_custom_avatar && current_user_can( 'upload_files' ) ) { 424 $href = esc_attr( add_query_arg( array( 425 'action' => 'remove-avatar', 426 'user_id' => $profileuser->ID 427 ), self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ) ); 428 429 echo '<a class="delete" href="' . wp_nonce_url( $href, 'update-user_' . $user_id ) .'" onclick="return showNotice.warn();">' . __( 'Delete' ) . '</a>'; 430 } 431 ?> 432 </fieldset> 433 </td> 434 </tr> 435 <?php if ( current_user_can( 'upload_files' ) ) : ?> 436 <tr> 437 <th><?php _e( 'Select Image' ); ?></th> 438 <td> 439 <fieldset> 440 <legend class="screen-reader-text"><span><?php _e( 'Select Image' ); ?></span></legend> 441 <label class="description" for="upload-avatar"><?php _e( 'Choose an image from your computer:' ); ?></label><br /> 442 <input name="import" type="file" /> 443 <?php submit_button( __( 'Upload' ), 'button', 'upload-avatar', false ); ?> 444 </fieldset> 445 </td> 446 </tr> 447 <?php endif; ?> 448 <?php if ( $has_custom_avatar ) : ?> 449 <tr> 450 <th><?php _e( 'Avatar Rating' ); ?></th> 451 <td> 452 <fieldset> 453 <legend class="screen-reader-text"><span><?php _e( 'Avatar Rating' ); ?></span></legend> 454 <?php 455 $ratings = array( 456 /* translators: Content suitability rating: http://bit.ly/89QxZA */ 457 'G' => __( 'G — Suitable for all audiences' ), 458 /* translators: Content suitability rating: http://bit.ly/89QxZA */ 459 'PG' => __( 'PG — Possibly offensive, usually for audiences 13 and above' ), 460 /* translators: Content suitability rating: http://bit.ly/89QxZA */ 461 'R' => __( 'R — Intended for adult audiences above 17' ), 462 /* translators: Content suitability rating: http://bit.ly/89QxZA */ 463 'X' => __( 'X — Even more mature than above' ) 464 ); 465 466 foreach ( $ratings as $key => $rating ) { 467 $selected = ( $custom_avatar_rating == $key ) ? 'checked="checked"' : ''; 468 echo '<label><input ' . $selected . ' name="custom_avatar_rating" type="radio" value="' . esc_attr( $key ) . '" /> ' . $rating . '</label><br />'; 469 }; 470 ?> 471 <span class="description"><?php _e( 'Choose a rating for your custom avatar.' ); ?></span> 472 </fieldset> 473 </td> 474 </tr> 475 <?php endif; ?> 476 </table> 477 365 478 <h3><?php IS_PROFILE_PAGE ? _e('About Yourself') : _e('About the user'); ?></h3> 366 479 367 480 <table class="form-table"> -
wp-admin/css/colors-fresh.css
642 642 table.widefat span.spam a, 643 643 #dashboard_recent_comments .delete a, 644 644 #dashboard_recent_comments .trash a, 645 #dashboard_recent_comments .spam a { 645 #dashboard_recent_comments .spam a, 646 #profile-page .delete { 646 647 color: #bc0b0b; 647 648 } 648 649 … … 818 819 table.widefat .spam a:hover, 819 820 #dashboard_recent_comments .delete a:hover, 820 821 #dashboard_recent_comments .trash a:hover 821 #dashboard_recent_comments .spam a:hover { 822 #dashboard_recent_comments .spam a:hover, 823 #profile-page .delete:hover { 822 824 color: #f00; 823 825 } 824 826 -
wp-admin/css/wp-admin.css
5039 5039 width: 15em; 5040 5040 } 5041 5041 5042 #profile-page .avatar-picker img { 5043 margin: 2px 0; 5044 vertical-align: middle; 5045 } 5046 5047 #profile-page .delete { 5048 text-decoration: none; 5049 } 5050 5042 5051 #createuser .form-field input { 5043 5052 width: 25em; 5044 5053 } -
wp-admin/css/colors-classic.css
640 640 table.widefat span.spam a, 641 641 #dashboard_recent_comments .delete a, 642 642 #dashboard_recent_comments .trash a, 643 #dashboard_recent_comments .spam a { 643 #dashboard_recent_comments .spam a, 644 #profile-page .delete { 644 645 color: #bc0b0b; 645 646 } 646 647 … … 822 823 table.widefat .spam a:hover, 823 824 #dashboard_recent_comments .delete a:hover, 824 825 #dashboard_recent_comments .trash a:hover 825 #dashboard_recent_comments .spam a:hover { 826 #dashboard_recent_comments .spam a:hover, 827 #profile-page .delete:hover { 826 828 color: #f00; 827 829 } 828 830