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

    Setlist RSS

    September 1, 2012

    Summer Tour: Phish Dick’s Denver Recap, Setlist and The Skinny – Night Two

    August 29, 2012

    Summer Tour: Phish Oklahoma City Zoo Amphitheatre Setlist and The Skinny

    August 28, 2012

    Summer Tour: Phish St. Louis Chaifetz Arena Setlist and The Skinny

    August 26, 2012

    Summer Tour: Phish Charlotte Verizon Wireless Amphitheatre Setlist and Skinny

    August 25, 2012

    Summer Tour: Phish Atlanta Lakewood Ampitheatre Setlist and The Skinny

    August 24, 2012

    Summer Tour: Phish Oak Mountain Pelham Alabama Setlist and The Skinny

    August 22, 2012

    Summer Tour: Phish Starlight Theater Kansas City Setlist and The Skinny

    August 19, 2012

    Summer Tour: Phish San Francisco Setlist and The Skinny – Night Three

    Summer Tour: Phish San Francisco Setlist and The Skinny – Night Two

    August 18, 2012

    Summer Tour: Phish San Francisco Setlist and The Skinny – Night One

    August 16, 2012

    Summer Tour: Phish Long Beach Setlist and The Skinny

    July 8, 2012

    Summer Tour 2012: Phish Tour Finale @ SPAC – Recap, Setlist and The Skinny

    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

    Radio Broadcasts: From The Archives #16 (Part One) Playlist [Duanebase’s Stream]

    Halley’s Comet (12/07/1999)
    Tweezer (04/21/1992)
    David Bowie > Johnny B. Goode > David Bowie (07/03/1995)
    Ghost (07/01/1997)
    Timber (11/30/1996)
    Split Open and Melt (08/12/1993)
    Aired on SiriusXM’s Jam_ON which will replay throughout weekend. Part 2 on Saturday at 6PM ET

    July 4, 2012

    Summer Tour 2012: Phish Jones Beach Setlist and The Skinny – Night Two

    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 29, 2012

    Summer Tour 2012: Phish Deer Creek Noblesville Setlist, Recap and The Skinny – Night Two – June 29 [Hidden Track]

    June 28, 2012

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

    June 24, 2012

    Summer Tour 2012: Phish Blossom Cuyahoga Falls Setlist and The Skinny [Hidden Track]

    June 23, 2012

    Summer Tour 2012: Phish Burgettstown First Niagara Pavilion Setlist and The Skinny [Hidden Track]

    June 22, 2012

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

    June 19, 2012

    Summer Tour 2012: Phish Portsmouth nTelos Pavilion Setlist and The Skinny [Hidden Track]

    June 10, 2012

    Bonnaroo: Phish Bonnaroo Setlist and The Skinny [HT] / Live Webcast [YouTube]

    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]

    February 15, 2012

    Trey Anastasio: Trey & PSO 02/14/2012 Setlist [Phish.net]

    February 10, 2012

    Trey Anastasio: Trey Kicks Off Symphonic Tour in Atlanta [Hidden Track]

    Symphony Tour: Trey Anastasio w/ Atlanta Symphony Orchestra – Setlist [Phish.net]

    January 7, 2012

    Cactus: Setlists – Mike Gordon w/ Apollo Project [Phish.net]

    January 1, 2012

    New Year’s Eve: Phish Madison Square Garden New Year’s Eve Live Blog, Setlist & The Skinny [HT]

    December 31, 2011

    MSG3: Phish MSG Night Three – Setlist, The Skinny & Live Blog [Hidden Track]

    December 29, 2011

    MSG: Phish Madison Square Garden Night Two – Setlist, Live Blog & The Skinny [HT]

    MSG: Phish MSG Live Blog, Setlist, The Skinny & More [Hidden Track]

    December 12, 2011

    Cactus: Mike Gordon Finally Brings In The Dude in Albany [Hidden Track]

    December 11, 2011

    Cactus: Mike Gordon @ Calvin Theatre Northampton, MA Setlist and Recap [HT]

    December 10, 2011

    Cactus: Mike Gordon @ The Met in Pawtucket – Setlist & Recap [Hidden Track]

    November 14, 2011

    Cactus: Mike Gordon 11/13/2011 Setlist Lebanon, NH [Mike-Gordon.com]

    November 13, 2011

    Cactus: Mike Gordon 11/12/2011 Setlist Portsmouth, NH [Mike-Gordon.com]

    November 12, 2011

    Trey Anastasio: TAB 11/11/2011 Setlist – Atlanta, GA [Phish.net]

    October 16, 2011

    Trey Anastasio: TAB 10/15/2011 Charlottesville Setlist [Phish.net]

    Trey Anastasio: TAB 10/14/2011 Charlotte Setlist [Phish.net]

    October 14, 2011

    Trey Anastasio: TAB 10/13/2011 Silver Springs, MD Setlist [Phish.net]

    October 9, 2011

    Trey Anastasio: TAB 10/08/2011 Baltimore Setlist [Phish.net]

    October 8, 2011

    Myrtle Beach: Trey Anastasio Myrtle Beach Setlist [Phish.net]

    October 3, 2011

    Burlington: Trey Anastasio Band @ Higher Ground Setlist & Recap [Hidden Track]

    October 1, 2011

    Trey Anastasio: TAB 10/01/2011 Higher Ground Setlist [Phish.net]

    September 15, 2011

    Essex Junction: Phish Vermont Flood Benefit – Essex Junction Setlist, Recap and The Skinny [Hidden Track]

    Overall, this evening’s concert was a huge success and raised plenty of money for relief efforts. Musically, this was more in line with Outside Lands than Chicago or Denver.

    September 5, 2011

    Denver: Phish Dick’s Sporting Goods Park Night Three – Setlist, Recap and Skinny [Hidden Track]

    While we usually point you in the direction of certain songs/jams to hear in this recap, just listen to it all – especially the second set – as Phish put one hell of an exclamation point on this tour. Let’s hope a New Year’s run is in the works before the quartet embarks on a less active year in 2012.

    September 3, 2011

    Denver: Phish Denver Dick’s Sporting Goods Park Night Two – Setlist, Recap and The Skinny [HT]

    August 18, 2011

    Chicago: Phish UIC Pavilion Setlist & Skinny – Night Three [Hidden Track]

    August 17, 2011

    Chicago: Phish UIC Pavilion Night Two – Recap, Setlist and Skinny [Hidden Track]

    August 15, 2011

    Chicago: Phish UIC Pavilion Recap, Setlist and The Skinny [Hidden Track]

    August 12, 2011

    Outside Lands: Phish Outside Lands Setlist and The Skinny [Hidden Track]

    August 10, 2011

    Lake Tahoe: Night Two – Phish Lake Tahoe Setlist and The Skinny [Hidden Track]

    August 9, 2011

    Lake Tahoe: Phish Lake Tahoe Review, Setlist and The Skinny – Night One [Hidden Track]

    Another night, another new venue for Phish as the HT faves headed to the Lake Tahoe Outdoor Arena for the first of two performances in the mountain town. These shows are being webcast on LivePhish.com leading to fans to speculate as to whether the broadcast would have an impact on the band’s performance. Would they play a “greatest hits” show or would they jam? We got a little of each tonight, but certainly more improvisation than the last shows which were webcast – Alpharetta – as the quartet threw down an exceptional 17-minute Light in the second set.

    August 8, 2011

    Hollywood Bowl: Phish Hollywood Bowl Setlist, Skinny, Tweets & More [Hidden Track]

    August 7, 2011

    The Gorge: Phish Gorge – Setlist, The Skinny and More – Night Two [Hidden Track]