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"; } } ?> MKDevo | YEMblog

    MKDevo RSS

    June 27, 2012

    Phish: 06/23/2012 Nearly Entire Show Playlist [VQ: A, AQ: A+, MKDevo]

    June 18, 2012

    Phish: 06/16/2012 Crosseyed & Painless -> Slave > Light [VQ: A, AQ: A+, MKDevo]

    YouTube Preview Image

    June 8, 2012

    Phish: 06/07/2012 MKDevo Playlist [VQ: A, AQ: A+]

    December 31, 2011

    Phish: MKDevo’s 12/30/2011 Playlist [VQ: A, AQ: A+]

    Set 1: Punch You In the EyePrince Caspian[1]Backwards Down the Number LineNellie KaneDivided SkySandVulturesRiftJoyQuinn the Eskimo

    Set 2: WilsonAxillaPiperTwistJuliusGolgi ApparatusAlso Sprach Zarathustra,The HorseSilent in the MorningDavid Bowie[2]The Squirming Coil

    Encore: Boogie On Reggae WomanGood Times Bad Times

    [1] Unfinished.
    [2] Silent In the Morning teases.

    [via Phish.net]

    (Whole show uploading throughout the day, check back later if the track you want to see hasn’t been added)

    December 30, 2011

    Phish: 12/29/2011 MKDevo Playlist [VQ: A, AQ: A+]

    Set 1: The Sloth, You Enjoy Myself, Back on the Train, The Moma Dance, Funky Bitch, Maze, Roses Are Free, Halley’s Comet > Run Like an Antelope

    Set 2: Crosseyed and Painless > Simple > Lifeboy, Guyute, Mike’s Song > Chalk Dust Torture[1] -> I Am Hydrogen > Weekapaug Groove, Show of Life > Character Zero

    Encore: Loving Cup

    December 29, 2011

    Phish: 12/28/2011 MKDevo Playlist [VQ: A, AQ: A+]

    Free, Glide, Possum, Cities, Curtis Loew, Stash, Contact, Sample, Kill Devil Falls, Bathtub Gin

    September 16, 2011

    Phish: 09/14/2011 MKDevo Playlist [VQ: A, AQ: A+]



    June 9, 2011

    Phish: 06/07/2011 MKDevo Playlist [VQ: A, AQ: A+]

    Llama, Moma Dance, Possum, Cities, Instant Karma!, David Bowie, Rhymes, The Divided Sky, Stealing Time From The Faulty Plan, Back On The Train, Rock and Roll, Mango Song, Bug, Let’s Go Bruins, Pebbles and Marbles, Halley’s Comet, Meatstick, Run Like An Antelope

    June 5, 2011

    Phish: 05/29/2011 MKDevo Playlist [VQ: A, AQ: A+]

    AC/DC Bag, Rift, Ya Mar, Curtis Loew, Mike’s Song, 2001

    June 4, 2011

    Phish: 05/31/2011 MKDevo’s Videos – A Playlist [VQ: A, AQ: A+]

    Chalk Dust Torture, Roggae, Punch You In The Eye, Moma Dance, Rock and Roll, Sand, Tube, Divided Sky, Character Zero, After Midnight, Possum, Drowned, Maze, Dirt, Alaska, YEM

    June 3, 2011

    Phish: 06/01/2011 Playlist of MKDevo’s Videos [VQ: A, AQ: A+]

    First Tube, Stealing Time From the Faulty Plan, Camel Walk, Heavy Things, Gotta Jibboo,Wilson > Seven Below > Kill Devil Falls, Axilla > Split Open and Melt, Suzy Greenberg,  Tweezer > No Quarter, Carini > Piper > Twist > Ghost > Backwards Down the Number Line

    May 30, 2011

    Phish: 05/27/2011 Videos by MKDevo Playlist [VQ: A-, AQ: A+]

    Tweezer > My Friend, My Friend, Poor Heart, Roses Are Free, Funky Bitch, Wolfman’s Brother > Walk Away, Stash, Bouncing Around The Room, Kill Devil Falls, Bold As Love, Carini > Back On The Train, Boogie On > Waves, Crosseyed, Wading, Possum

    January 12, 2011

    Phish: 12/31/2010 MKDevo Playlist [VQ: A, AQ: A+]


    Punch, Scent, Burn That Bridge, Weigh, Beauty of My Dreams, Gone, Wilson, Meatstick Madness

    January 3, 2011

    Phish: 01/01/2011 MKDevo Playlist [VQ: A, AQ: A+, Angle: CK5]


    My Soul, Crosseyed and Painless, Twist, Simple, Sneakin’ Sally, Makisupa Policeman, David Bowie, Fee

    December 30, 2010

    Phish: 12/28/2010 MKDevo Playlist [VQ: A+, AQ: A+]


    KDF, My Mind’s, Alaska, She Caught The Katy, Wolfman’s, Pigtail, Stash, Bouncing, Rift, Stealing Time, Birdwatcher, Carini, BDTNL, Back On The Train, Limb By Limb, The Wedge, Harry Hood

    December 28, 2010

    Phish: 12/27/2010 MKDEVO Playlist [VQ: A+, AQ: A+]



    November 2, 2010

    Phish: 10/29/2010 MKDevo’s Playlist [VQ: A, AQ: A+]


    Star Spangled Banner, My Soul, AC/DC Bag, Ocelot, Sample In a Jar, Light Up or Leave Me Alone, Sugar Shack, Timber, Bouncing, Axilla, Rift, Moma Dance, Cities, 46 Days, Punch You In The Eye, Sand, Carini, Prince Caspian, Corrina, Piper, Theme From The Bottom, Golgi Apparatus

    October 26, 2010

    Phish: 10/23/2010 MKDevo Playlist [VQ: A, AQ: A+]


    Meatstick, Party Time, Golgi, Kill Devil Falls, Lawn Boy, Sparkle, BBFCFM, HYHU > Love You > HYHU, Tweezer, Possum, Tweezer Reprise, Down With Disease, My Friend, Prince Caspian, Maze, Wading, Piper, Harry Hood, YEM

    August 22, 2010

    Phish: 08/17/2010 MKDevo Most of Show Playlist [VQ: A, AQ: A+]