diff --git a/comicpress-options-config.php b/comicpress-options-config.php index 0d2efb4..d0bd1d1 100644 --- a/comicpress-options-config.php +++ b/comicpress-options-config.php @@ -213,6 +213,11 @@ $options = array ( "id" => "comicpress-themepack_directory", "default" => "silver", "type" => "comicpress-themepack_directory"), + + array( + "id" => "comicpress-icon_directory", + "default" => "default", + "type" => "comicpress-icon_directory"), array("type" => "close") ); diff --git a/comicpress-options.php b/comicpress-options.php index 1a14b5e..39e893f 100644 --- a/comicpress-options.php +++ b/comicpress-options.php @@ -365,7 +365,34 @@ function comicpress_admin() { - + + Icon (no Gravatar) Directory

Choose a directory to get the icons for default gravatars if someone doesnt have one.
+ + + + + + diff --git a/functions.php b/functions.php index 86aa116..ab4d702 100644 --- a/functions.php +++ b/functions.php @@ -84,13 +84,15 @@ if (get_option('upload_path') !== false) { 'contact_in_menubar' => 'contact_in_menubar', 'disable_dynamic_menubar_links' => 'disable_dynamic_menubar_links', 'disable_footer_text' => 'disable_footer_text', - 'themepack_directory' => 'themepack_directory' ) as $options => $variable_name) { + 'themepack_directory' => 'themepack_directory', + 'icon_directory' => 'icon_directory' ) as $options => $variable_name) { $variables_to_extract[$variable_name] = get_option("comicpress-${options}"); } extract($variables_to_extract); } +if (empty($icon_directory)) $icon_directory = 'default'; if (empty($themepack_directory)) $themepack_directory = 'silver'; if (empty($graphicnav_directory)) $graphicnav_directory = 'default'; if (empty($moods_directory)) $moods_directory = 'default'; diff --git a/functions/adminnotes.php b/functions/adminnotes.php index c553f62..663ca13 100644 --- a/functions/adminnotes.php +++ b/functions/adminnotes.php @@ -16,5 +16,4 @@ function sc_note( $atts, $content = null ) { return ''; } - ?> \ No newline at end of file diff --git a/functions/gravatars.php b/functions/gravatars.php new file mode 100644 index 0000000..4966ec8 --- /dev/null +++ b/functions/gravatars.php @@ -0,0 +1,135 @@ + tag for the user's avatar +*/ +function comicpress_get_avatar( $id_or_email, $size = '64', $alt = false) { + if ( ! get_option('show_avatars') ) + return false; + + if ( false === $alt) + $safe_alt = ''; + else + $safe_alt = attribute_escape( $alt ); + + if ( !is_numeric($size) ) + $size = '96'; + + $email = ''; + if ( is_numeric($id_or_email) ) { + $id = (int) $id_or_email; + $user = get_userdata($id); + if ( $user ) + $email = $user->user_email; + } elseif ( is_object($id_or_email) ) { + if ( isset($id_or_email->comment_type) && '' != $id_or_email->comment_type && 'comment' != $id_or_email->comment_type ) + return false; // No avatar for pingbacks or trackbacks + + if ( !empty($id_or_email->user_id) ) { + $id = (int) $id_or_email->user_id; + $user = get_userdata($id); + if ( $user) + $email = $user->user_email; + } elseif ( !empty($id_or_email->comment_author_email) ) { + $email = $id_or_email->comment_author_email; + } + } else { + $email = $id_or_email; + } + + if ( empty($default) ) { + $default = comicpress_random_default_avatar((string)$id_or_email); + } + + if ( 'mystery' == $default ) + $default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com') + elseif ( 'blank' == $default ) + $default = includes_url('images/blank.gif'); + 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}"; + elseif ( strpos($default, 'http://') === 0 ) + $default = add_query_arg( 's', $size, $default ); + + if ( !empty($email) ) { + $out = 'http://www.gravatar.com/avatar/'; + $out .= md5( strtolower( $email ) ); + $out .= '?s='.$size; + $out .= '&d=' . urlencode( $default ); + + $rating = get_option('avatar_rating'); + if ( !empty( $rating ) ) + $out .= "&r={$rating}"; + + $avatar = "{$safe_alt}"; + } else { + $avatar = "{$safe_alt}"; + } + + return apply_filters('comicpress_get_avatar', $avatar, $id_or_email, $size, $default, $alt); +} + +function comicpress_random_default_avatar($id_or_email = '') { + $current_icon_directory = get_option('comicpress-icon_directory'); + if (empty($current_icon_directory)) $current_icon_directory = 'default'; + + $count = count($results = glob(get_template_directory() . '/images/icons/'.$current_icon_directory.'/*')); + $default = ''; + + $checknum = hexdec(substr(md5($id_or_email),0,5)) % $count; + var_dump($id_or_email); + var_dump($checknum); + var_dump($count); + if ($count > 0) { + $default = basename($results[(int)$checknum]); + } else { + return false; + } + return get_bloginfo('stylesheet_directory').'/images/icons/'.$current_icon_directory.'/'.$default; +} + +function letter_to_number($letter = '') { + if (!empty($letter)) { + if ($letter == 'a') $number = 1; + if ($letter == 'b') $number = 2; + if ($letter == 'c') $number = 3; + if ($letter == 'd') $number = 4; + if ($letter == 'e') $number = 5; + if ($letter == 'f') $number = 6; + if ($letter == 'g') $number = 7; + if ($letter == 'h') $number = 8; + if ($letter == 'i') $number = 9; + if ($letter == 'j') $number = 10; + if ($letter == 'k') $number = 11; + if ($letter == 'l') $number = 12; + if ($letter == 'm') $number = 13; + if ($letter == 'n') $number = 14; + if ($letter == 'o') $number = 15; + if ($letter == 'p') $number = 16; + if ($letter == 'q') $number = 17; + if ($letter == 'r') $number = 18; + if ($letter == 's') $number = 19; + if ($letter == 't') $number = 20; + if ($letter == 'u') $number = 21; + if ($letter == 'v') $number = 22; + if ($letter == 'w') $number = 23; + if ($letter == 'x') $number = 24; + if ($letter == 'y') $number = 25; + if ($letter == 'z') $number = 26; + } else { + return false; + } + return $number; +} + +?> \ No newline at end of file diff --git a/images/icons/default/Thumb_AlexKid.JPG b/images/icons/default/Thumb_AlexKid.JPG new file mode 100644 index 0000000..9841357 Binary files /dev/null and b/images/icons/default/Thumb_AlexKid.JPG differ diff --git a/images/icons/default/Thumb_Alex_01.JPG b/images/icons/default/Thumb_Alex_01.JPG new file mode 100644 index 0000000..3b230f3 Binary files /dev/null and b/images/icons/default/Thumb_Alex_01.JPG differ diff --git a/images/icons/default/Thumb_Alex_02.JPG b/images/icons/default/Thumb_Alex_02.JPG new file mode 100644 index 0000000..c57cefd Binary files /dev/null and b/images/icons/default/Thumb_Alex_02.JPG differ diff --git a/images/icons/default/Thumb_Alex_03.JPG b/images/icons/default/Thumb_Alex_03.JPG new file mode 100644 index 0000000..b241c64 Binary files /dev/null and b/images/icons/default/Thumb_Alex_03.JPG differ diff --git a/images/icons/default/Thumb_Alex_04.JPG b/images/icons/default/Thumb_Alex_04.JPG new file mode 100644 index 0000000..386a370 Binary files /dev/null and b/images/icons/default/Thumb_Alex_04.JPG differ diff --git a/images/icons/default/Thumb_Alex_05.JPG b/images/icons/default/Thumb_Alex_05.JPG new file mode 100644 index 0000000..33c8f87 Binary files /dev/null and b/images/icons/default/Thumb_Alex_05.JPG differ diff --git a/images/icons/default/Thumb_Alex_06.JPG b/images/icons/default/Thumb_Alex_06.JPG new file mode 100644 index 0000000..9d3b0e5 Binary files /dev/null and b/images/icons/default/Thumb_Alex_06.JPG differ diff --git a/images/icons/default/Thumb_Alex_07.JPG b/images/icons/default/Thumb_Alex_07.JPG new file mode 100644 index 0000000..1c50b0a Binary files /dev/null and b/images/icons/default/Thumb_Alex_07.JPG differ diff --git a/images/icons/default/Thumb_Cyclops.JPG b/images/icons/default/Thumb_Cyclops.JPG new file mode 100644 index 0000000..b3ab261 Binary files /dev/null and b/images/icons/default/Thumb_Cyclops.JPG differ diff --git a/images/icons/default/Thumb_Cyclops_02.JPG b/images/icons/default/Thumb_Cyclops_02.JPG new file mode 100644 index 0000000..0f20278 Binary files /dev/null and b/images/icons/default/Thumb_Cyclops_02.JPG differ diff --git a/images/icons/default/Thumb_Daniel_01.JPG b/images/icons/default/Thumb_Daniel_01.JPG new file mode 100644 index 0000000..261cc37 Binary files /dev/null and b/images/icons/default/Thumb_Daniel_01.JPG differ diff --git a/images/icons/default/Thumb_Daniel_02.JPG b/images/icons/default/Thumb_Daniel_02.JPG new file mode 100644 index 0000000..01cf881 Binary files /dev/null and b/images/icons/default/Thumb_Daniel_02.JPG differ diff --git a/images/icons/default/Thumb_Daniel_03.JPG b/images/icons/default/Thumb_Daniel_03.JPG new file mode 100644 index 0000000..8e5607a Binary files /dev/null and b/images/icons/default/Thumb_Daniel_03.JPG differ diff --git a/images/icons/default/Thumb_Fairy_01.JPG b/images/icons/default/Thumb_Fairy_01.JPG new file mode 100644 index 0000000..2a4c361 Binary files /dev/null and b/images/icons/default/Thumb_Fairy_01.JPG differ diff --git a/images/icons/default/Thumb_GrandpaPistacio.JPG b/images/icons/default/Thumb_GrandpaPistacio.JPG new file mode 100644 index 0000000..918d9b2 Binary files /dev/null and b/images/icons/default/Thumb_GrandpaPistacio.JPG differ diff --git a/images/icons/default/Thumb_GrandpaPistacio_02.JPG b/images/icons/default/Thumb_GrandpaPistacio_02.JPG new file mode 100644 index 0000000..7bfcac2 Binary files /dev/null and b/images/icons/default/Thumb_GrandpaPistacio_02.JPG differ diff --git a/images/icons/default/Thumb_GrandpaPistacio_03.JPG b/images/icons/default/Thumb_GrandpaPistacio_03.JPG new file mode 100644 index 0000000..a385c3f Binary files /dev/null and b/images/icons/default/Thumb_GrandpaPistacio_03.JPG differ diff --git a/images/icons/default/Thumb_Griffin.JPG b/images/icons/default/Thumb_Griffin.JPG new file mode 100644 index 0000000..6a1ce0d Binary files /dev/null and b/images/icons/default/Thumb_Griffin.JPG differ diff --git a/images/icons/default/Thumb_KiwiKid.JPG b/images/icons/default/Thumb_KiwiKid.JPG new file mode 100644 index 0000000..0d7df27 Binary files /dev/null and b/images/icons/default/Thumb_KiwiKid.JPG differ diff --git a/images/icons/default/Thumb_KiwiKid_02.JPG b/images/icons/default/Thumb_KiwiKid_02.JPG new file mode 100644 index 0000000..93e2ba0 Binary files /dev/null and b/images/icons/default/Thumb_KiwiKid_02.JPG differ diff --git a/images/icons/default/Thumb_Kiwi_01.JPG b/images/icons/default/Thumb_Kiwi_01.JPG new file mode 100644 index 0000000..9c6e9bc Binary files /dev/null and b/images/icons/default/Thumb_Kiwi_01.JPG differ diff --git a/images/icons/default/Thumb_Kiwi_02.JPG b/images/icons/default/Thumb_Kiwi_02.JPG new file mode 100644 index 0000000..6af8074 Binary files /dev/null and b/images/icons/default/Thumb_Kiwi_02.JPG differ diff --git a/images/icons/default/Thumb_Kiwi_03.JPG b/images/icons/default/Thumb_Kiwi_03.JPG new file mode 100644 index 0000000..7ed4ea7 Binary files /dev/null and b/images/icons/default/Thumb_Kiwi_03.JPG differ diff --git a/images/icons/default/Thumb_Kiwi_04.JPG b/images/icons/default/Thumb_Kiwi_04.JPG new file mode 100644 index 0000000..c4d6aa3 Binary files /dev/null and b/images/icons/default/Thumb_Kiwi_04.JPG differ diff --git a/images/icons/default/Thumb_Kiwi_05.JPG b/images/icons/default/Thumb_Kiwi_05.JPG new file mode 100644 index 0000000..e669b09 Binary files /dev/null and b/images/icons/default/Thumb_Kiwi_05.JPG differ diff --git a/images/icons/default/Thumb_Kiwi_06.JPG b/images/icons/default/Thumb_Kiwi_06.JPG new file mode 100644 index 0000000..2b9cf6e Binary files /dev/null and b/images/icons/default/Thumb_Kiwi_06.JPG differ diff --git a/images/icons/default/Thumb_Mermaid_01.JPG b/images/icons/default/Thumb_Mermaid_01.JPG new file mode 100644 index 0000000..70daf2a Binary files /dev/null and b/images/icons/default/Thumb_Mermaid_01.JPG differ diff --git a/images/icons/default/Thumb_Mermaid_02.JPG b/images/icons/default/Thumb_Mermaid_02.JPG new file mode 100644 index 0000000..0513b9d Binary files /dev/null and b/images/icons/default/Thumb_Mermaid_02.JPG differ diff --git a/images/icons/default/Thumb_Nastajia.JPG b/images/icons/default/Thumb_Nastajia.JPG new file mode 100644 index 0000000..c5ce294 Binary files /dev/null and b/images/icons/default/Thumb_Nastajia.JPG differ diff --git a/images/icons/default/Thumb_NastajiaKid.JPG b/images/icons/default/Thumb_NastajiaKid.JPG new file mode 100644 index 0000000..30225c1 Binary files /dev/null and b/images/icons/default/Thumb_NastajiaKid.JPG differ diff --git a/images/icons/default/Thumb_NastajiaKid_02.JPG b/images/icons/default/Thumb_NastajiaKid_02.JPG new file mode 100644 index 0000000..23b030e Binary files /dev/null and b/images/icons/default/Thumb_NastajiaKid_02.JPG differ diff --git a/images/icons/default/Thumb_NastajiaKid_03.JPG b/images/icons/default/Thumb_NastajiaKid_03.JPG new file mode 100644 index 0000000..2c4837b Binary files /dev/null and b/images/icons/default/Thumb_NastajiaKid_03.JPG differ diff --git a/images/icons/default/Thumb_NastajiaKid_04.JPG b/images/icons/default/Thumb_NastajiaKid_04.JPG new file mode 100644 index 0000000..7b83bd6 Binary files /dev/null and b/images/icons/default/Thumb_NastajiaKid_04.JPG differ diff --git a/images/icons/default/Thumb_Nastajia_02.JPG b/images/icons/default/Thumb_Nastajia_02.JPG new file mode 100644 index 0000000..76274f5 Binary files /dev/null and b/images/icons/default/Thumb_Nastajia_02.JPG differ diff --git a/images/icons/default/Thumb_Nicole_01.JPG b/images/icons/default/Thumb_Nicole_01.JPG new file mode 100644 index 0000000..c8f87a3 Binary files /dev/null and b/images/icons/default/Thumb_Nicole_01.JPG differ diff --git a/images/icons/default/Thumb_Nicole_02.JPG b/images/icons/default/Thumb_Nicole_02.JPG new file mode 100644 index 0000000..c21a254 Binary files /dev/null and b/images/icons/default/Thumb_Nicole_02.JPG differ diff --git a/images/icons/default/Thumb_Nicole_03.JPG b/images/icons/default/Thumb_Nicole_03.JPG new file mode 100644 index 0000000..49eb107 Binary files /dev/null and b/images/icons/default/Thumb_Nicole_03.JPG differ diff --git a/images/icons/default/Thumb_Paddington.JPG b/images/icons/default/Thumb_Paddington.JPG new file mode 100644 index 0000000..89cf628 Binary files /dev/null and b/images/icons/default/Thumb_Paddington.JPG differ diff --git a/images/icons/default/Thumb_PaddingtonKid.JPG b/images/icons/default/Thumb_PaddingtonKid.JPG new file mode 100644 index 0000000..12ad334 Binary files /dev/null and b/images/icons/default/Thumb_PaddingtonKid.JPG differ diff --git a/images/icons/default/Thumb_PaddingtonKid_02.JPG b/images/icons/default/Thumb_PaddingtonKid_02.JPG new file mode 100644 index 0000000..f9b52e0 Binary files /dev/null and b/images/icons/default/Thumb_PaddingtonKid_02.JPG differ diff --git a/images/icons/default/Thumb_Paddington_02.JPG b/images/icons/default/Thumb_Paddington_02.JPG new file mode 100644 index 0000000..dde7857 Binary files /dev/null and b/images/icons/default/Thumb_Paddington_02.JPG differ diff --git a/images/icons/default/Thumb_Paddington_03.JPG b/images/icons/default/Thumb_Paddington_03.JPG new file mode 100644 index 0000000..ff9aedd Binary files /dev/null and b/images/icons/default/Thumb_Paddington_03.JPG differ diff --git a/images/icons/default/Thumb_Teddy_01.JPG b/images/icons/default/Thumb_Teddy_01.JPG new file mode 100644 index 0000000..c753f4e Binary files /dev/null and b/images/icons/default/Thumb_Teddy_01.JPG differ diff --git a/images/icons/default/Thumb_Teddy_02.JPG b/images/icons/default/Thumb_Teddy_02.JPG new file mode 100644 index 0000000..0f3d822 Binary files /dev/null and b/images/icons/default/Thumb_Teddy_02.JPG differ diff --git a/options/comment-functions.php b/options/comment-functions.php index 583a16e..bea4eb7 100644 --- a/options/comment-functions.php +++ b/options/comment-functions.php @@ -35,9 +35,10 @@ function comicpress_avatar() { // $avatar = apply_filters('comicpress_avatar', $avatar); if($url == true && $url != 'http://') echo ''; - + $id_or_email = get_comment_author_email(); + if (empty($id_or_email)) $id_or_email = get_comment_author(); if(function_exists('get_avatar') && $comment_type != 'pingback' && $comment_type != 'trackback' ) { - echo str_replace("alt='", "alt='".wp_specialchars(get_comment_author(), 1)."' title='".wp_specialchars(get_comment_author(), 1), get_avatar(get_comment_author_email(), 64)); + echo str_replace("alt='", "alt='".wp_specialchars(get_comment_author(), 1)."' title='".wp_specialchars(get_comment_author(), 1), comicpress_get_avatar($id_or_email, 64)); } else { if ($comment_type == 'pingback' || $comment_type == 'trackback') { echo '';