diff --git a/wp-admin/includes/schema.php b/wp-admin/includes/schema.php index 62cb43716a..6d361ff149 100644 --- a/wp-admin/includes/schema.php +++ b/wp-admin/includes/schema.php @@ -253,6 +253,9 @@ function populate_options() { add_option('medium_size_w', 300); add_option('medium_size_h', 300); + // 2.6 + add_option('avatar_default', 'default'); + // Delete unused options $unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval'); foreach ($unusedoptions as $option) : diff --git a/wp-admin/options-discussion.php b/wp-admin/options-discussion.php index 69c0bbd359..32a666ed96 100644 --- a/wp-admin/options-discussion.php +++ b/wp-admin/options-discussion.php @@ -84,13 +84,13 @@ include('admin-header.php'); - + @@ -103,10 +103,45 @@ include('admin-header.php'); $ratings = array( 'G' => __('G — Suitable for all audiences'), 'PG' => __('PG — Possibly offensive, usually for audiences 13 and above'), 'R' => __('R — Intended for adult audiences above 17'), 'X' => __('X — Even more mature than above')); foreach ($ratings as $key => $rating) : $selected = (get_option('avatar_rating') == $key) ? 'checked="checked"' : ''; - echo "\n\t
"; + echo "\n\t
"; endforeach; ?> + + + + + @@ -115,7 +150,7 @@ endforeach;

- +

diff --git a/wp-admin/wp-admin.css b/wp-admin/wp-admin.css index 8dc04a9158..053b640a86 100644 --- a/wp-admin/wp-admin.css +++ b/wp-admin/wp-admin.css @@ -1356,6 +1356,11 @@ p#post-search { vertical-align:text-top; } +.defaultavatarpicker .avatar { + margin: 2px 0; + vertical-align: middle; +} + body.minwidth { min-width: 808px; } diff --git a/wp-includes/pluggable.php b/wp-includes/pluggable.php index ccd5f4111a..07ad725978 100644 --- a/wp-includes/pluggable.php +++ b/wp-includes/pluggable.php @@ -1243,8 +1243,24 @@ function get_avatar( $id_or_email, $size = '96', $default = '' ) { $email = $id_or_email; } - if ( empty($default) ) - $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=$size"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com') + if ( empty($default) ) { + $avatar_default = get_option('avatar_default'); + if ( empty($avatar_default) ) + $default = 'default'; + else + $default = $avatar_default; + } + + if ( 'custom' == $default ) + $default = add_query_arg( 's', $size, $defaults[$avatar_default][1] ); + elseif ( 'default' == $default ) + $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com') + elseif ( !empty($email) && 'gravatar_default' == $default ) + $default = ''; + elseif ( 'gravatar_default' == $default ) + $default = "http://www.gravatar.com/avatar/s={$size}"; + elseif ( empty($email) ) + $default = "http://www.gravatar.com/avatar/?d=$default&s={$size}"; if ( !empty($email) ) { $out = 'http://www.gravatar.com/avatar/';
__("Don’t show Avatars"), 1 => __('Show Avatars')); foreach ( $yesorno as $key => $value) { $selected = (get_option('show_avatars') == $key) ? 'checked="checked"' : ''; - echo "\n\t
"; + echo "\n\t
"; } ?>
+ +
+ + __('Default'), + 'gravatar_default' => __('Gravatar Logo'), + 'identicon' => __('Identicon (Generated)'), + 'wavatar' => __('Wavatar (Generated)'), + 'monsterid' => __('MonsterID (Generated)') +); +$avatar_defaults = apply_filters('avatar_defaults', $avatar_defaults); +$default = get_option('avatar_default'); +if ( empty($default) ) + $default = 'default'; +$size = 32; +$avatar_list = ''; +foreach ( $avatar_defaults as $default_key => $default_name ) { + $selected = ($default == $default_key) ? 'checked="checked" ' : ''; + $avatar_list .= "\n\t'; + $avatar_list .= '
'; +} +echo apply_filters('default_avatar_select', $avatar_list); +?> +