Michael Heilemann.
If you have Dunstan's Time Since installed, this plugin uses it for the title="" attributes on the comments and posts. (For WordPress 1.5) Author: Brian Meidell Author URI: http://meidell.dk/ Version 1.5: Now works without LOCK TABLE and CREATE TEMPORARY TABLE priviledges. Version 1.5.1: Can't remember what I did here Version 1.5.2: Fixed count select statement to not include spammy comments Version 1.5.3: Properly excludes track- and pingbacks Version 1.5.4: Excludes posts that are not published, even if they have comments Version 1.5.5: Fade old comments, fixed bug that wreaked havoc with Time Since Version 1.5.6: Bugfix from Jonas Rabbe (http://www.jonas.rabbe.com/) pertaining to timesince Version 1.5.7: Bugfix so old colors can be darker than new colors (stupid oversight), thanks to http://spiri.dk for spotting it. Bugfix where single digit hex would cause invalid colors, thanks to http://www.wereldkeuken.be/ for the fix. Version 1.5.8: Updated to work with WordPress 2.1 alpha by M. Heilemann. */ function blc_latest_comments($num_posts = 5, $num_comments = 6, $hide_pingbacks_and_trackbacks = true, $prefix = "
  • ", $postfix = "
  • ", $fade_old = true, $range_in_days = 10, $new_col = "#444444", $old_col = "#cccccc") { global $wpdb; function clamp($min, $max, $val) { return max($min,min($max,$val)); } $usetimesince = function_exists('time_since'); // Work nicely with Dunstan's Time Since plugin (adapted by Michael Heilemann) // This is compensating for the lack of subqueries in mysql 3.x // The approach used in previous versions needed the user to // have database lock and create tmp table priviledges. // This uses more queries and manual DISTINCT code, but it works with just select privs. if(!$hide_pingbacks_and_trackbacks) $ping = ""; else $ping = "AND comment_type<>'pingback' AND comment_type<>'trackback'"; $posts = $wpdb->get_results("SELECT comment_post_ID, post_title FROM ($wpdb->comments LEFT JOIN $wpdb->posts ON (comment_post_ID = ID)) WHERE comment_approved = '1' AND $wpdb->posts.post_status='publish' $ping ORDER BY comment_date DESC;"); $seen = array(); $num = 0; if($fade_old) { $max_time = $range_in_days * 24 * 60 * 60 ; $r_new = hexdec(substr($new_col, 1, 2)); $r_old = hexdec(substr($old_col, 1, 2)); //$r_min = min($min, $max); //$r_max = max($min, $max); $r_range = ($r_old-$r_new); $g_new = hexdec(substr($new_col, 3, 2)); $g_old = hexdec(substr($old_col, 3, 2)); //$g_min = min($min, $max); //$g_max = max($min, $max); $g_range = ($g_old-$g_new); $b_new = hexdec(substr($new_col, 5, 2)); $b_old = hexdec(substr($old_col, 5, 2)); //$b_min = min($min, $max); //$b_max = max($min, $max); $b_range = ($b_old-$b_new); } // print "ranges: $r_range, $g_range, $b_range
    "; // print "r: ".(0.5*$r_range+$r_new)."
    "; foreach($posts as $post) { // The following 5 lines is a manual DISTINCT and LIMIT, // since mysql 3.x doesn't allow you to control which way a DISTINCT // select merges multiple entries. if(array_key_exists($post->comment_post_ID, $seen)) continue; $seen[$post->comment_post_ID] = true; if($num++ > $num_posts) break; $commenters = $wpdb->get_results("SELECT *, UNIX_TIMESTAMP(comment_date) AS unixdate FROM $wpdb->comments WHERE comment_approved = '1' AND comment_post_ID = '".$post->comment_post_ID."' $ping ORDER BY comment_date DESC LIMIT $num_comments;"); $count = $wpdb->get_var("SELECT COUNT(comment_ID) AS c FROM $wpdb->comments WHERE comment_post_ID = $post->comment_post_ID AND comment_approved = '1' ".$ping); $i = 0; $link = get_permalink($post->comment_post_ID); if($usetimesince) $title = " title=\"Last comment was ".time_since($comment->unixdate)." ago\""; else $title = ""; echo $prefix."".stripslashes($post->post_title). "  ".$count."
    \n"; foreach($commenters as $commenter) { if($usetimesince) $title = " title=\"Posted ".time_since($commenter->unixdate)." ago\""; if($fade_old) { $diff = time() - $commenter->unixdate; $r = round($diff/$max_time*($r_range))+$r_new; $r = clamp(min($r_new, $r_old), max($r_new, $r_old), $r); $g = round($diff/$max_time*($g_range))+$g_new; $g = clamp(min($g_new, $g_old), max($g_new, $g_old), $g); $b = round($diff/$max_time*($b_range))+$b_new; $b = clamp(min($b_new, $b_old), max($b_new, $b_old), $b); $r_hex = str_pad(dechex($r), 2, '0', STR_PAD_LEFT); $g_hex = str_pad(dechex($g), 2, '0', STR_PAD_LEFT); $b_hex = str_pad(dechex($r), 2, '0', STR_PAD_LEFT); $colstr = " style=\"color: #".$r_hex.$g_hex.$b_hex.";\""; } if($i++ > 0) echo ", "; echo "comment_ID."\"$title>".stripslashes($commenter->comment_author).""; } if($count > $num_comments) echo " [...]"; echo "".$postfix."\n"; } } ?> Wisconsin | YEMblog

    Wisconsin RSS

    July 6, 2012

    Official Video: 07/01/2012 Fee [VQ: A+, AQ: A+, Pro-Shot]

    June 30, 2012

    Summer Tour 2012: Phish Alpine Valley Setlist and The Skinny – Night One [HT]

    February 2, 2012

    Phish: 07/24/1999 Set II + Encore [VQ: B, AQ: A-]

    YouTube Preview Image

    February 1, 2012

    Phish: 11/06/1998 Playlist [VQ: B, AQ: A-]

    Simple, Harry Hood, Fluffhead, Roggae, Split Open and Melt, Maze, Meat, Wilson, Sparkle, Funky Bitch, Birds of a Feather, Makisupa Policeman,

    March 8, 2011

    Phish: 07/19/2003 Playlist [VQ: A, AQ: A, Pro-Shot]

    http://www.youtube.com/view_play_list?p=86E0F9212E10DB9D

    Sample In A Jar, Reba, Wilson, Scents & Subtle Sounds, Maze, Driver, NICU, Ya Mar, Rocky Top, Lawn Boy, Julius, Piper, Rock and Roll, Seven Below, Prince Caspian, You Enjoy Myself, Wading In The Velvet Sea

    March 6, 2011

    Phish: 07/24/1999 Playlist [VQ: B, AQ: A-]

    http://www.youtube.com/view_play_list?p=859E5F07DD599E47

    Tweezer > Catapult > The Mango Song > Happy Whip and Dung Song, Waste, Chalk Dust, Glide, Camel Walk, Alumni Blues, Tweezer Reprise

    December 15, 2010

    Phish: 08/14/2010 Fuck Your Face [VQ: A+, AQ: A+, OFFICIAL]

    December 7, 2010

    Phish: Alpine Valley 2010 – Lawn Boy [VQ: A+, AQ: A+, Official Video]

    November 17, 2010

    Phish: Stealing Time From The Faulty Plan – Alpine Valley 2010 [VQ: A+, AQ: A+, Official]

    September 23, 2010

    Phish: 08/15/2010 On Your Way Down [VQ: B, AQ: B]

    YouTube Preview Image

    September 16, 2010

    Phish: 06/17/1994 FOB New Source Milwaukee, WI

    September 15, 2010

    Phish: 07/24/1999 DAUD New Source E. Troy, WI

    August 17, 2010

    Phish: 08/14/2010 Scent of a Mule [VQ: A-, AQ: B+]

    YouTube Preview Image

    Phish: 08/15/2010 While My Guitar… [VQ: B+, AQ: B+]

    YouTube Preview Image

    August 16, 2010

    Phish: 08/14/2010 Down With Disease > What’s The Use? [VQ: B, AQ: B+]

    YouTube Preview Image

    Phish: 08/15/2010 You Enjoy Myself [VQ: B+, AQ: B, Angle: CK5]

    YouTube Preview Image

    Phish: 08/15/2010 LivePhish SBD East Troy, WI

    Phish: 08/15/2010 DAUD East Troy, WI

    Phish: 08/14/2010 Sneakin’ Sally > Weekapaug [VQ: B-, AQ: B+]

    YouTube Preview Image

    Phish: 08/14/2010 LivePhish SBD East Troy, WI

    Phish: 08/14/2010 DAUD East Troy, WI

    Phish: 08/15/2010 David Bowie [VQ: B+, AQ: B+]

    YouTube Preview Image

    Phish: 08/15/2010 Oh! Sweet Nuthin’ [VQ: B+, AQ: B-]

    YouTube Preview Image

    Phish: 08/14/2010 Run Like An Antelope [VQ: B+, AQ: B+, Angle: CK5]

    YouTube Preview Image

    Alpine: Phish @ Alpine Valley – Day Two: Setlist [HT]

    August 5, 2010

    Phish: 07/13/2003 DAUD East Troy, WI

    August 1, 2010

    Phish: 07/08/2000 DAUD UNCIRCULATED E. Troy, WI

    July 8, 2010

    Phish: 07/08/2000 DAUD E. Troy, WI

    May 4, 2010

    Phish: 11/20/1994 DAUD FRESH TRANSFER Madison, WI

    April 19, 2010

    Phish: 06/17/1994 SBD Milwaukee, WI

    If you don’t have a copy of the legendary O.J. show in your collection, head right to bt.etree.org or the Phish Spreadsheet and download it now. – ScottyB

    March 1, 2010

    Trey Anastasio: 02/18/2010 First Tube [VQ: A, AQ: A-]

    YouTube Preview Image

    Trey Anastasio: 02/18/2010 Magilla [VQ: A+, AQ: A]

    YouTube Preview Image

    February 24, 2010

    Trey Anastasio: 02/18/2010 Stealing Time [VQ: A-, AQ: A-]

    YouTube Preview Image

    February 22, 2010

    Trey Anastasio: 02/18/2010 Sultan’s of Swing [VQ: B, AQ: B+]

    YouTube Preview Image

    Trey Anastasio: 02/18/2010 Money, Love and Change [VQ: B-, AQ: B]

    YouTube Preview Image

    February 19, 2010

    Trey Anastasio: 02/18/2010 Stealing Time (Acoustic)

    YouTube Preview Image

    January 10, 2010

    Phish: 08/09/1997 DAUD UNCIRCULATED East Troy, WI

    December 15, 2009

    Phish: 07/24/1999 DAUD UNCIRCULATED E. Troy, WI

    September 28, 2009

    Mike Gordon: 09/26/2009 Cities [VQ: B+, AQ: B+]

    YouTube Preview Image

    Mike Gordon: 09/26/2009 DAUD Madison, WI

    September 9, 2009

    Phish: 05/01/1992 SBD Set I Milwaukee, WI

    July 24, 2009

    Phish: 07/24/1999 DAUD East Troy, WI

    July 17, 2009

    Phish: 06/20/2009 Bathtub Gin [VQ: A, AQ: A]

    YouTube Preview Image YouTube Preview Image

    July 12, 2009

    Phish: 06/20/2009 Sparkle [VQ: A, AQ: B+]

    YouTube Preview Image

    Phish: 06/20/2009 Farmhouse [VQ: A-, AQ: B+]

    YouTube Preview Image

    Phish: 06/20/2009 Train Song [VQ: A, AQ: B+]

    YouTube Preview Image

    Phish: 06/20/2009 Runaway Jim [VQ: A, AQ: B+]

    YouTube Preview Image

    July 10, 2009

    Phish: 06/21/2009 Crosseyed & Painless [VQ: A-, AQ: B-]

    YouTube Preview Image

    July 7, 2009

    Phish: 06/20/2009 Kill Devil Falls [VQ: A, AQ: A-]

    YouTube Preview Image

    Phish: 06/20/2009 Ya Mar [VQ: A, AQ: A-]

    YouTube Preview Image

    June 29, 2009

    Phish: 06/20/2009 Character Zero [VQ: A, AQ: A-]

    YouTube Preview Image

    Phish: 06/20/2009 Maze [VQ: A, AQ: B+]

    YouTube Preview Image YouTube Preview Image

    Phish: 06/20/2009 Ghost [VQ: A, AQ: B+]

    YouTube Preview Image YouTube Preview Image

    Phish: 06/20/2009 Lizards [VQ: A, AQ: B+]

    YouTube Preview Image

    June 28, 2009

    Phish: 06/20/2009 You Enjoy Myself [VQ: A, AQ: B+]

    YouTube Preview Image YouTube Preview Image

    Phish: 06/21/2009 Waste [VQ: A, AQ: B+]

    YouTube Preview Image

    Phish: 06/20/2009 …Waves > Sample In A Jar [VQ: A, AQ: B+]

    YouTube Preview Image

    Phish: 06/20/2009 Prince Caspian [VQ: A-, AQ: A-]

    YouTube Preview Image

    Phish: 06/20/2009 Makisupa Policeman [VQ: A, AQ: A-]

    YouTube Preview Image

    Phish: 06/21/2009 Crosseyed and Painless [VQ: C+, AQ: B-]

    YouTube Preview Image