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

    2010 RSS

    December 11, 2011

    Phish: 10/30/2010 Entire Show [VQ: A, AQ: A+]

    Set 1: Kill Devil Falls, Cavern, Foam, Guelah Papyrus, Chalk Dust Torture, Whole Lotta Love, Chalk Dust Torture, Ha Ha Ha, Walk Away, Wolfman’s Brother, Undermind , Bathtub Gin, The Squirming Coil

    YouTube Preview Image

    Set 2: Tube, Possum, Tweezer, Heartbreaker, Tweezer, Ramble On, Thank You, Tweezer, Stairway To Heaven, Halley’s Comet, Also Sprach Zarathustra, David Bowie, Show of Life, Backwards Down the Numberline, Good Times Bad Times

    Encore: Sleeping Monkey, Tweezer Reprise

    YouTube Preview Image

    December 10, 2011

    Phish: 10/29/2010 Entire Show Atlantic City, NJ [VQ: A, AQ: A+]

    Set 1: The Star Spangled Banner, My Soul, AC/DC Bag, Ocelot, Sample In a Jar, Light Up Or Leave Me Alone, Sugar Shack, Timber (Jerry), Bouncing Around the Room, Axilla, Rift, The Moma Dance, Cities, 46 Days

    YouTube Preview Image

    Set 2: Punch You In The Eye, Sand, Carini, Prince Caspian, Corinna, Piper, Theme From the Bottom, Golgi Apparatus, Slave To The Traffic Light, Fluffhead

    Encore: Loving Cup

    YouTube Preview Image

    [Setlist via Phish.net]

    October 30, 2011

    Phish: 10/31/2010 Feats Don’t Fail Me Now [VQ: A, AQ: A+]

    YouTube Preview Image

    September 10, 2011

    Phish: 10/19/2010 Weekapaug Groove [VQ: A, AQ: A+]

    YouTube Preview Image

    July 6, 2011

    Phish: 12/31/2010 Sand [VQ: A+, AQ: A+, Pro-Shot]

    YouTube Preview Image

    Phish: 12/31/2010 Ghost [VQ: A+, AQ: A+, Pro-Shot]

    YouTube Preview Image

    May 27, 2011

    Phish: 12/28/2010 The Wedge [VQ: A-, AQ: A+]

    YouTube Preview Image

    May 25, 2011

    Phish: 12/28/2010 Backwards Down The Number Line [VQ: A-, AQ: A+]

    YouTube Preview Image

    May 24, 2011

    Phish: Live in Utica Wilson > McGrupp [VQ: A+, AQ: A+, PRO-SHOT]

    Phish: 12/28/2010 Carini [VQ: B+, AQ: A]

    YouTube Preview Image

    May 19, 2011

    Phish: 12/27/2010 Loving Cup [VQ: B+, AQ: A]

    YouTube Preview Image

    May 15, 2011

    Reviews: Review – Live in Utica DVD Box Set [Online Phish Tour]

    May 4, 2011

    Phish: 12/30/2010 Cities [VQ: A, AQ: A-]

    YouTube Preview Image

    May 2, 2011

    Phish: Live in Utica – David Bowie [VQ: A+, AQ: A+, Official]

    March 29, 2011

    Phish: 10/19/2010 Gumbo [VQ: B, AQ: B]

    YouTube Preview Image

    March 23, 2011

    Lists: Top Phish Jams of 2010 [Louisville Jams]

    March 21, 2011

    Phish: 08/07/2010 First Tube [VQ: B, AQ: A]

    YouTube Preview Image

    March 18, 2011

    Guyutica: Phish – Live in Utica 2010 Available For Purchase [Amazon.com]

    March 17, 2011

    Cactus: Mike Gordon Band 11/19/2010 Weekly Time [VQ: A-, AQ: B]

    YouTube Preview Image

    March 16, 2011

    Cactus: Mike Gordon Band 03/07/2010 DAUD UNCIRCULATED Stroudsburg, PA

    March 11, 2011

    New DVDs: Phish to Release Phish – Live in Utica 2010 DVD? [Hidden Track]

    March 4, 2011

    Phish: 10/22/2010 + 12/31/2010 Rock and Roll [VQ: A-, AQ: A+]

    YouTube Preview Image

    March 1, 2011

    Phish: 10/24/2010 Brother [VQ: A-, AQ: A]

    YouTube Preview Image

    February 25, 2011

    Phish: 10/24/2010 Fee [VQ: B+, AQ: B+]

    YouTube Preview Image

    February 20, 2011

    Lists: Top 10 Phish Jams of 2010 [The Phish Experience]

    February 17, 2011

    Phish: 12/27/2010 David Bowie [VQ: B, AQ: A+]

    YouTube Preview Image

    February 16, 2011

    Lists: The Top Ten Phish Jams of 2010 [Dog Gone Blog]

    February 15, 2011

    Phish: 10/20/2010 Entire Show Playlist [VQ: A-, AQ: A+]

    February 13, 2011

    Phish: 12/30/2010 Driver [VQ: A-, AQ: A+]

    YouTube Preview Image

    Phish: 12/27/2010 Possum, Cavern [VQ: B, AQ: A+]

    YouTube Preview Image

    February 11, 2011

    Phish: 12/30/2010 Driver [VQ: A-, AQ: A]

    YouTube Preview Image

    February 10, 2011

    Best Jams of 2010: Behind the Best Jams List [TypeIICast]

    February 9, 2011

    Podcasts: The Top Five Jams of 2010 [Type II Cast]

    Continuing where we left off from last week, the crew counts down to the #1 best jam of the year. This week we have a full house with Eric, Scotty, Drew and Tanya joining me and a full episode clocking in at just over 1 hour. Despite being possibly our biggest episode to date, we only saw one “technical difficulty”, which I chose to leave in as it resulted in some comical banter. Without a doubt, the crew did a fantastic job defending their top picks, or arguing against some. Listen now for no spoilers, or get a peak at the top five after the jump.

    Phish: 12/31/2010 YEMteca [VQ: B+, AQ: A+]

    YouTube Preview Image

    February 6, 2011

    Phish: 12/27/2010 Roggae [VQ: B, AQ: A+]

    YouTube Preview Image

    February 2, 2011

    Podcasts: Episode 13 – Best of 2010, Part 1 [Type II Cast]

    Most every blog has been releasing their “best of” opinions over the last month and we just couldn’t resist joining in on the fun. To mix ours up we had all 7 panelists submit their individual Top 10 list, then we ranked and aggregated the scores for a “definitive” TypeIICast Top 10 list. Now there’s some interesting results and some interesting opinions on what makes something most worthy of being included in the list. Join us for Part 1 as Steve, Justin, Sam and Eric defend and discuss their choices and the bonehead exclusions made by their peers.

    January 31, 2011

    Phish: 06/27/2010 Saw It Again [VQ: B+, AQ: A+]

    YouTube Preview Image

    Phish: 12/27/2010 20 Years Later > Wading In A Velvet Sea [VQ: A-, AQ: B+]

    YouTube Preview Image

    January 28, 2011

    Phish: 12/27/2010 Weekapaug Groove [VQ: B+, AQ: B+]

    YouTube Preview Image

    Phish: Summer 2010 Pro-Shot Compilation [VQ: A+, AQ: A+]

    YouTube Preview Image

    -Summer Tour Promo
    -Alumni Blues – Letter to Jimmy Page – Alumni Blues- 62510 Camden NJ
    -46 Days – Tube – 80710 Berkeley CA
    -Backwards Down the Number Line – 61210 Cuyahoga Falls OH
    -Show of Life – 61910 Saratoga Springs NY
    -Chalk Dust Torture – 62510 Camden NJ
    -Wolfman’s Brother – 62610 Columbia MD
    -Maze – 8510 Berkeley CA
    -Gotta Jibboo – 70410 Alpharetta GA
    -Jam – Piper – 80910 Telluride CO
    -Saratoga Jam #2 – Swept Away – Steep – 62010 Saratoga Springs NY
    -Simple – 8610 Berkeley CA
    -You Enjoy Myself – 70210 Charlotte, NC

    January 26, 2011

    2010: The Best of 2010 – Your Picks vs. My Thoughts [OPT]

    January 24, 2011

    Phish: 12/27/2010 Sample In A Jar, Funky Bitch [VQ: B+, AQ: B+]

    YouTube Preview Image

    January 20, 2011

    Phish: 12/27/2010 Cool It Down [VQ: B+, AQ: B+]

    YouTube Preview Image

    January 18, 2011

    Phish: 12/27/2010 What Things Seem [VQ: B, AQ: B]

    YouTube Preview Image

    Audio: Phish Originals Debuted in 2010 – A Mix [Oh Kee Pah Blog]

    Surveys: Best 2010 Jams By Song [OPT]

    Lists: The Top Ten of 2010, Pt. 1 [Phish Thoughts]

    9. 06/27/2010

    Merriweather’s second show represented the peak of Phish’s most impressive weekend of Leg I. Completing a four-night stand that started in Camden, the band punctuated their Mid-Atlantic run with a thematic second set. Responding to a sign for “Saw It Again,” Trey chopped into the song amidst the liquid funk of “Meatstick,” and initiated a wild second set in which the band wove lyrical teases of “Saw It Again” in each subsequent song, capping the night with the the unforgettable—”Boy. Man. I Saw It Again!” And smack dab in the middle of this musical trickery was a centerpiece of “Piper,” one of the outstanding excursions of June. Throw in a rocking jaunt of “Ghost > Jumping Jack Flash” and solid first set, and you’ve got yourself a nice little Phish show.

    January 12, 2011

    Phish: 12/31/2010 The Ghost Jam [VQ: B+, AQ: B+]

    YouTube Preview Image

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


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

    NYE Run: Concert Review – Phish in Worcester [HyperVocal]

    January 10, 2011

    Phish: 0619Sean MSG Video Playlist [VQ: A-, AQ: A+, CK5]


    AC/DC Bag, Burn That Bridge, Sneakin’ Sally, Gotta Jibboo, Twist, Reba, Makisupa Policeman, My Soul, Tube

    Phish: PlatoPlates MSG Run Video Playlist [VQ: B, AQ: B+]


    Guelah Papyrus, Runaway Jim, My Soul, Piper > Free, YEM -> Manteca -> YEM, Down With Disease -> Ghost, Wilson -> 46 Days, Gone, Beauty of My Dreams, Burn That Bridge, Moma Dance, PYITE, Meatstick > Auld Lang Syne > After Midnight

    January 3, 2011

    NYE Run: Review – Phish New Year’s Eve [Glide Magazine]

    With Page McConnell leading the way, the silky funk and dance grooves soon gave way to a darker, ethereal space, before Anastasio began to build a slow rolling momentum, forging the jam ahead to a rising crescendo and one of the best collective peaks of 3.0. With the countdown to midnight fast approaching, launching into “You Enjoy Myself” was rather unexpected, but not as shocking as when they broke into “Manteca” post-tramps, and teased the refrain straight through to the vocal jam.

    NYE Run: Phish Celebrates 2011 With A Bang [Consequence of Sound]

    Phish: 12/31/2010 Meatstick [OFFICIAL VIDEO, VQ: A+, AQ: A+]

    Phish: 12/31/2010 ENTIRE SHOW HarpuaFSB Playlist [VQ: A, AQ: A+]


    Phish: 01/01/2011 DAUD New York, NY

    Phish: 12/30/2010  HarpuaFSB ENTIRE SHOW Playlist [VQ: A, AQ: A+]


    January 1, 2011

    Phish: 12/31/2010 LivePhish SBD New York, NY

    Phish: Meatstick -> Auld Lang Syne -> After Midnight [VQ: A+, AQ: A+]

    YouTube Preview Image YouTube Preview Image