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

    Recap RSS

    July 7, 2012

    Summer Tour 2012: Phish SPAC Saratoga Springs Night Two – Recap, Setlist and The Skinny

    July 6, 2012

    Summer Tour 2012: Phish SPAC Saratoga Springs Recap, Setlist and The Skinny

    July 4, 2012

    Summer Tour 2012: Phish Jones Beach Recap, Setlist and The Skinny – Night One [HT]

    July 1, 2012

    Summer Tour 2012: Phish Alpine Valley Recap, Setlist and The Skinny [HT]

    June 30, 2012

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

    June 28, 2012

    Summer Tour 2012: Phish Noblesville Klipsch Music Center Setlist and The Skinny – Night One [HT]

    June 22, 2012

    Summer Tour 2012: Phish Cincinnati Riverbend Setlist and The Skinny [Hidden Track]

    June 20, 2012

    Summer Tour 2012: Phish Portsmouth Setlist, Recap and The Skinny – Night Two [Hidden Track]

    June 8, 2012

    Summer Tour 2012: Phish Worcester Setlist and The Skinny – Night Two [Hidden Track]

    June 7, 2012

    Summer Tour: Phish Worcester Setlist and The Skinny – Night One [Hidden Track]

    August 11, 2011

    Lake Tahoe: Photos/Recap – Night One Phish [Live Music Blog]

    July 2, 2011

    Watkins Glen: Phish Super Ball IX Day One – Recap [Phish.net]

    June 8, 2011

    Mansfield: Phish Great Woods Mansfield Setlist, Recap and The Skinny [Hidden Track]

    Today’s edition of The Skinny features a rare photograph of a songlist – the document Phish uses on stage to coordinate the setlist. Look at the bottom of this post to check it out.

    February 23, 2011

    Trey Anastasio: TAB Setlist and Recap – Terminal 5 [Hidden Track]

    February 20, 2011

    Trey Anastasio: Trey Anastasio Band Albany Setlist, Videos and Clint Eastwood Audio [HT]

    December 28, 2010

    NYE Run: Phish Worcester Night One Setlist & Recap [HT]

    November 1, 2010

    Recaps: Phish Covers Little Feat For Halloween [BeatCrave]

    October 26, 2010

    Manchester: Tour Debuts and Bust Outs Galore – Recap and Setlist [Hidden Track]

    October 20, 2010

    UticaPhish in Utica Setlist and Recap [Hidden Track]

    October 15, 2010

    Charleston: Phish Charleston Setlist & Recap – Night One [Hidden Track]

    October 12, 2010

    Broomfield: 10/11/2010 Recap – Eurotrash Night [Coventry]

    October 11, 2010

    Broomfield: New Song & Old Trick Highlight Phish Last Night [Jambands]

    August 13, 2010

    Noblesville: Phish @ Deer Creek – Night One Setlist and Recap [HT]

    August 11, 2010

    Telluride: Night One Recap – The Invasion [Coventry]

    July 14, 2010

    Summer Tour Recap: Phish Summer Tour – In Review [Jambands]

    In fact, Phish’s Summer tour, which is presently on a brief hiatus before it continues in August with three shows at Berkeley’s Greek Theater, has already covered all of the bases that fans have come to expect from Phish on every tour. While no show has been a start-to-finish, hear-at-all-costs shredapulooza, almost every show had something noteworthy. There were huge bust outs, blistering jams, goofy gimmicks, and now-legendary encores.

    July 13, 2010

    Summer Tour: Phanart Recap of Leg One [PhanArt]

    Summer Tour Recap: Thoughts & Moments You’ve Enjoyed [DogGoneBlog]

    As the dust from tour settles, and we prepare for the next run of shows, we have a chance to look back on the highlights from the first leg. While some shows indicated a hesitance to explore extended jams there were many exploratory jaunts that brought us to that place. These moments not only foreshadowed the great possibilities for August, but left us with memories that will stand out in our minds for many years.

    Summer Tour Recap: Cover Flow [Phish Thoughts]

    In a clear effort to freshen up summer setlists, Phish unveiled no less than 10 one-time covers over the 18 shows the season’s opening leg. Placing some innocently within first sets, and others more dramatically within the depths of second halves, the effects of these songs varied from case to case.

    July 12, 2010

    Recap: Boy. Man. I Saw It Again [Phish Thoughts]

    July 3, 2010

    Charlotte: Post-Show Wrap Up [Live Music Blog]

    Charlotte: Phish @ Verizon Wireless Amphitheatre – Setlist & Recap [Hidden Track]

    Phish upped the ante by delivering a tight, powerful version of The White Tape’s Fuck Your Face – 1,413 after its last known performance. The quartet had clearly practiced the Mike Gordon original as they absolutely nailed it. A funky 2001 and raging You Enjoy Myself, complete with a vocal jam that teased Proud Mary and Get Back, finished off the second set before the A Day In The Life encore brought the night to a close.

    June 26, 2010

    Camden: Phish @ Camden – Night Two: Setlist and Recap [Hidden Track]

    June 22, 2010

    Mansfield: Phish @ Comcast Center, aka Great Woods – Setlist & Recap [Hidden Track]

    June 19, 2010

    Hartford: Phish’s Tweezer Reprise Reprise [Jambands]

    Phish: Phish @ Hartford, Night Two – Setlist & Recap [Hidden Track]

    June 16, 2010

    Portsmouth: Phish in Portsmouth – Setlist and Recap [Hidden Track]

    The first set also included a cover bust out in the form of Tom Waits’ Cold Water. Guitarist Trey Anastasio handled vocals for the tune off 1999’s Mule Variations. Phish hasn’t covered Tom Waits in the past, though Trey did perform House Where Nobody Lives from the same album with David Byrne for the Tibet House benefit at Carnegie Hall in 2000.

    June 13, 2010

    Cuyahoga Falls: Instant Phish – Show Recap [Jambands.com]

    March 3, 2010

    Trey Anastasio: TAB Winter Tour Recap [Dog Gone Blog]

    Anyone who attended at least one of the shows along the tour knows, these were fun-filled occasions, with party-like atmospheres. Seeing Trey in these small venues is a treat every single time, and is something that may not last forever. Our hats go off to Trey and the band. In particular we salute Natalie “Chainsaw” Cressman who brought a glowing new flare to the band.

    February 9, 2010

    Trey Anastasio: Multiple Debuts, Five Song Encore [Jambands]

    December 30, 2009

    Miami: 12/29 Show Recap [Coventry]

    Security check-in was significantly more thorough. I ran into Eric in the hall. He’s an “insider” and relayed the sad news that the Miami shows were the last show til late-July and August. “Enjoy the last bits of Phish for a while,” he said.

    December 3, 2009

    MSG: Setlists, Reviews, Videos and More From MSG [Jamtopia]

    November 29, 2009

    Portland: Phish in Portland – Setlist and Recap [Hidden Track]

    November 28, 2009

    Albany: Show Recap – Albany Night On [Coventry]

    As soon as I heard the opening notes, I tweet’d… Fluffhead of all Fluffheads to save the show. Boy, was I right. The crowd exploded into a collective orgasm. I had to check my pants to make sure I didn’t not leave any semen streaks. I had not seen that much frenzied and kinetic energy at a show since the first night in Hampton. The crowd were patiently wading through the fluff in the first set until Phish stopped driving in cruise control like your grandmother on the freeway and let it rip like a NASCAR driver. They floored the accelerator for the rest of the show and did not let up.

    That’s why I travel long distances to see the Phish.

    November 25, 2009

    Fall Tour Recap: Whatever’s In The Water, Keep Drinking It [Phish & the Dead]

    September 14, 2009

    Recap: Mike Gordon In Brooklyn [Gothamist]

    Recap: A Night at the Symphony [Phish Thoughts]

    September 10, 2009

    Recap: Setlist – Mike Gordon Band @ MHoW [Hidden Track]

    August 19, 2009

    Summer Tour: Summer’s Second Set – A Tour Recap [Phish Thoughts]

    August 15, 2009

    Recap: Phish @ Hartford -Audio, Videos and More [Jamtopia]

    Recap: Phish @ Hartford – Setlist and Recap [Hidden Track]

    August 9, 2009

    Recaps: Phish @ The Gorge Setlist Night One, Night Two [Hidden Track]

    Recap: Phish Gorge ’09 [Jamtopia]

    July 31, 2009

    Red Rocks: Phish Red Rocks ‘09: Setlists, Reviews, Video, Audio [Jamtopia]

    July 24, 2009

    Recap: Phish 3.0 – Quick and Dirty [Jambands]

    The Phish you fell in love with is back. Are they the same band that you fell in love with? Of course not. They aren’t the same as they were in the past. But they sound remarkably familiar.

    First, the songs are back. Your favorite Phish songs? They are still playing all or almost all of them, and they are even playing most of them – even the complex ones like “Divided Sky” and “Fluffhead” — quite well. Your least favorite Phish songs? Yes, they are probably playing these, too. Phish has even played a number of rarities this year, including “Mustang Sally” at Bonnaroo (6/14/09) with Bruce Springsteen, and “Destiny Unbound” and “The Ballad of Curtis Loew” at the Summer tour opener at Fenway Park (5/31/09). They also, thankfully, have not lost their sense of humor, as the “Bike” with Fish on vacuum and the vocal jam of “YEM” at Burgettstown (6/18/09) attest.

    June 19, 2009

    Reviews: Show Recap – Walk Away in PA [Coventry]

    June 14, 2009

    Recaps: Bonnaroo 2009 – Friday [Entertainment Weekly]

    June 13, 2009

    Bonnaroo: Phish @ Bonnaroo Recap [Jamtopia]

    June 6, 2009

    Summer Tour: Recap of the First Three Shows [TimeOut]

    June 5, 2009

    Jones Beach: Phish @ Jones Beach Recap [Jamtopia]

    June 1, 2009

    Fenway Park: Phish @ Fenway Reaction Roundup [Jamtopia]