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"; } } ?> SBD | YEMblog - Page 2

    SBD RSS

    December 31, 2010

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

    December 29, 2010

    Phish: 12/28/2010 LivePhish SBD Worcester, MA

    December 28, 2010

    Phish: 12/27/2010 LivePhish SBD Worcester MA

    December 17, 2010

    Phish: 03/19/1992 SBD II New Source New Haven, CT

    December 12, 2010

    Phish: 05/06/1989 SBD New Source Hanover, NH

    December 7, 2010

    Phish: 04/07/1990 SBD UNCIRCULATED Crested Butte, CO

    December 3, 2010

    Cactus: Mike Gordon w/ Vassar & His Yankee Boys 5/3/2000 SBD UNCIRCULATED Middlebury, VT

    December 1, 2010

    Phish: 04/06/1991 SBD UNCIRCULATED Olympia, WA

    November 30, 2010

    Jon Fishman: BUEm 04/xx/1993 UNCIRCULATED SBD Newton, MA

    Jon Fishman
    Jamie Janover
    Dave Watts
    Aaron Holstein

    Page McConnell: Anne’s Band 02/02/1994 UNCIRCULATED SBD Burlington, VT

    Page McConnell- Keyboards
    Dave Grippo – Alto Sax
    Sean Hartman – Bass
    Jeff Salisbury – Drums
    Screamin’ Dean – Harp
    George Abele and Steven Kemp – Percussion
    Joseph Somerville Jr. – Trumpet
    Zaphed Beeble Brox – Tenor Sax

    November 1, 2010

    Phish: 10/31/2010 Live Phish SBD Atlantic City, NJ

    Phish: 10/30/2010 LivePhish SBD Atlantic City, NJ

    October 30, 2010

    Phish:  10/31/2010 LivePhish SBD Atlantic City, NJ

    October 27, 2010

    Phish: 10/26/2010 LivePhish SBD Manchester, NH

    October 25, 2010

    Phish: 10/24/2010 LivePhish SBD Amherst, MA

    October 24, 2010

    Phish: 10/23/2010 LivePhish SBD Amherst, MA

    October 23, 2010

    Phish: 10/22/2010 LivePhish SBD Providence, RI

    October 21, 2010

    Phish: 10/20/2010 LivePhish SBD Utica, NY

    October 18, 2010

    Phish: 06/26/1994 I SBD Uncirculated Charleston, WV

    Another ’94 soundboard pops into the digital realm with the release of the first set from Phish’s famed GameHoist show on bt.etree.org.

    October 17, 2010

    Phish: 10/16/2010 LivePhish SBD N. Charleston, SC

    October 16, 2010

    Phish: 10/15/2010 LivePhish SBD N. Charleston, SC

    October 14, 2010

    Phish: 04/29/1993 UNCIRCULATED SBD Montreal, QE

    A soundboard of one of my all-time favorite shows has finally hit the digital realm over 11 years after the start of Etree. Be sure to download this ASAP, for 10 reasons why check out this post. – Scotty

    October 13, 2010

    Phish: 10/12/2010 LivePhish SBD Broomfield, CO

    October 12, 2010

    Phish: 10/11/2010 LivePhish SBD Broomfield, CO

    October 11, 2010

    Phish: 10/10/2010 LivePhish SBD Broomfield, CO

    October 9, 2010

    Phish: 10/08/2010 LivePhish SBD Austin, TX

    September 26, 2010

    Phish: 05/24/1990 SBD Source Upgrade Raleigh, NC

    September 23, 2010

    Phish: 03/08/1990 SBD Upgraded Source Saratoga Springs, NY

    September 20, 2010

    Phish: 03/08/1991 SBD Uncirculated Tuscaloosa, AL

    September 14, 2010

    Phish: 07/16/1992 II SBD Richmond, VA

    September 13, 2010

    Phish: 05/16/1992 SBD II Uncirculated Boston, MA

    September 12, 2010

    Phish: 01/26/1989 SBD New Source Boston, MA

    Phish: 12/08/1989 SBD UNCIRCULATED Poultney, VT

    The most complete copy of this show yet has come into circulation with the addition of six missing tracks from the first set. A fantastic early show, this is a worthy addition to any Phish fan’s collection. – SB

    Phish: 02/18/1989 SBD New Source New Market, NH

    September 9, 2010

    Phish: 11/18/1987 SBD New Source Burlington, VT

    September 4, 2010

    Phish: 05/19/1991 SBD Uncirculated Salisbury, CT

    August 31, 2010

    Phish: 12/04/1991 SBD New Transfer Plattsburgh, NY

    August 23, 2010

    Phish: 12/04/1991 SBD UNCIRCULATED Plattsburgh, NY

    Thanks to Etree user Parkerjh for unearthing this new-to-circulation recording from 1991. I haven’t had a chance to listen yet, but comments on Etree make it seem as if the recording is a bit off-pitch. You might want to wait until someone corrects the pitch…or not. – ScottyB

    August 22, 2010

    Phish: 06/16/1990 SBD Townshend, VT

    If you don’t have this fantastic, classic Phish show in your collection be sure to take advantage of this file set put together by our pal Parker. – ScottyB

    August 19, 2010

    Phish: 08/18/2010 LivePhish SBD Wantagh, NY

    August 18, 2010

    Phish: 08/17/2010 LivePhish SBD Wantagh, NY

    August 16, 2010

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

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

    August 13, 2010

    Phish: 08/12/2010 LivePhish SBD Noblesville, IN

    August 12, 2010

    Phish: 08/10/2010 LivePhish SBD Telluride, CO

    August 10, 2010

    Phish: 08/09/2010 LivePhish SBD Telluride, CO

    August 8, 2010

    Phish: 08/07/2010 LivePhish SBD Berkeley, CA

    August 6, 2010

    Phish: 08/05/2010 LivePhish SBD Berkeley, CA

    July 5, 2010

    Phish: 07/04/2010 LivePhish SBD Alpharetta, GA

    July 2, 2010

    Phish: 07/01/2010 LivePhish SBD Raleigh, NC

    July 1, 2010

    Phish: 05/19/1990 SBD UNCIRCULATED Concord, NH

    Back in the days when Phish regularly played at colleges and boarding schools, they stopped by St. Paul’s in Concord, NH. This SBD features only about half of the show, but we’ll take what we can get. – ScottyB

    Trey Anastasio: Cosmic Krewe w/Trey 02/03/1995 SBD Johnson, VT

    Trey sat-in with pal Michael Ray’s band in Johnson, VT and this recording features all of Anastasio’s appearance. This version of the Krewe included longtime Phish friends Stacey Starkweather, Bob Gullotti and Dave “The Truth” Grippo. – ScottyB

    June 30, 2010

    Phish: 06/29/2010 LivePhish SBD Canandaigua, NY

    June 28, 2010

    Phish: 06/27/2010 LivePhish SBD Columbia, MD

    Phish: 06/26/2010 LivePhish SBD Columbia, MD

    June 26, 2010

    Phish: 06/25/2010 LivePhish SBD Camden, NJ

    June 23, 2010

    Phish: 06/22/2010 LivePhish SBD Mansfield, MA

    June 20, 2010

    Phish: 06/19/2010 LivePhish SBD Saratoga Springs, NY

    June 17, 2010

    Phish: 06/16/2000 DSBD Matrix Osaka, JPN

    A tasty matrix of the last show from Phish’s tour of Japan in 2000 sounds fantastic. A worthy add to any fan’s collection. – ScottyB

    June 16, 2010

    Phish: 06/15/2010 LivePhish SBD Portsmouth, VA