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

    Portsmouth RSS

    June 22, 2012

    Phish: 06/19/2012 Maze [VQ: A+, AQ: A+, Pro-Shot]

    June 20, 2012

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

    Phish: 06/19/2012 Party Time w/ Carl “Geerz” Gerhard [VQ: B+, AQ: B+]

    YouTube Preview Image

    Photos: Picture Show – A Fun Tucking Night in Portsmouth [Hidden Track]

    June 19, 2012

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

    June 14, 2012

    Webcasts: Phish to Offer Pay-Per-View Webcasts of Next Week’s Portsmouth Shows

    March 28, 2012

    Phish: 03/06/1992 Sparkle [VQ: B-, AQ: A]

    YouTube Preview Image

    March 25, 2012

    Phish: 03/06/1992 Cavern [VQ: B-, AQ: A]

    YouTube Preview Image

    November 15, 2011

    Cactus: Review – Mike Gordon Band @ Portsmouth Music Hall [Hidden Track]

    After an initial run through the song, the improv that developed quickened with a pace and fury that left my jaw on the floor. While I shudder to think that I can’t make it out of my first comments without making a comparison to Phish, this jam found a space that harkens back to truly great You Enjoy Myself jams. At one point Mike even settled into a groove that some might argue was a direct nod to Phish classic. Sonic vibrations blasting the bodies in the front rows, it was hard to NOT be blown away.

    Cactus: Photos – Mike Gordon in Portsmouth [Travels and Bacon]

    November 14, 2011

    Cactus: Mike Gordon 11/12/2011 Won’t Get Fooled Again [VQ: B-, AQ: B]

    YouTube Preview Image

    November 13, 2011

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

    Mike Gordon: Mike Gordon 11/12/2011 Time (The Revelator) [VQ: B, AQ: B]

    YouTube Preview Image

    Mike Gordon: Mike Gordon 11/12/2011 Crumblin’ Bones [VQ: B, AQ: B]

    YouTube Preview Image

    Mike Gordon: Mike Gordon 11/12/2011 Won’t Get Fooled Again [VQ: B, AQ: B]

    YouTube Preview Image

    August 11, 2011

    Podcasts: Episode 29 – The Lost Episodes [Type II Cast]

    While everyone was waiting for the first night of Phish’s 2-night webcast from Lake Tahoe, the Type II crew got together to recover some missing territory. It’s been a busy summer and somehow we never got the chance to discuss the last five shows of Leg 1. The sticklers for detail that we are we thought it would be unjust to not at least cover our thoughts and favorite clips from Alpharetta, Charlotte, Raleigh and Portsmouth. Over the hour leading up to Tahoe we discussed our thoughts on webcasts, fan expectations and most of all some amazing musical moments. Here’s to a great tour and we’ll be back to cover the newest shows real soon.

    July 17, 2011

    Reviews: Southern Run 2011 – Charlotte, Raleigh and Portsmouth [I Live Music]

    June 27, 2011

    Portsmouth: All of These Dreams Come True for Phish Fan [Hidden Track]

    Yet the best part of my evening, was looking over at my mom throughout the show and watching her sway back and forth in awe. It brought me back to my first show where I experienced the same feelings as she was this very evening. Prior to this experience, I didn’t think my mom and I could get any closer, since we have had a great mother/daughter relationship. But after the show, we had formed even a closer bond. Finally, she understood. Finally, she knew why this band was so special to me.

    June 23, 2011

    Phish: 06/19/2011 Harpua [VQ: A-, AQ: A-]

    YouTube Preview Image YouTube Preview Image

    June 22, 2011

    Phish: 06/19/2011 Brother [VQ: A-, AQ: B+]

    YouTube Preview Image

    Phish: 06/19/2011 Timber (Jerry) [VQ: B-, AQ: B]

    YouTube Preview Image

    June 21, 2011

    Photos: Phish Photos From Portsmouth [Hidden Track]

    [Photo by Kenny Pusey]

    Phish: 06/19/2011 Walls of the Cave > Slave to the Traffic Light [VQ: A+, AQ: A+, Pro-Shot]

    June 20, 2011

    Portsmouth: Phish Portsmouth Recap [Phish.net]

    Phish: 06/19/2011 LivePhish SBD Portsmouth, VA

    Portsmouth: Review – Equitable Exchanges [Phish Thoughts]

    Phish punctuated their opening leg of summer with a tour-closing show at nTelos Pavilion that displayed musical dominance from beginning to end. Everything the band touched turned to gold last night, as they greeted the intimate audience with a plethora of four-part conversations in a show whose improvisational creativity and quality song selection never stopped. Finishing tour with a stellar three-night finale, the band left everyone in Portsmouth, Virginia, with a night of top-level playing and outstanding exchanges in a show that flowed beautifully from start to finish.

    Portsmouth: Review – All Good Things Come to An End [Online Phish Tour]

    Portsmouth: Phish’s Show in Portsmouth Was Full of Surprises [Daily Press]

    Rob Landry, 33, of Clearwater, Fla., told me the show had been more than worth the trip. “Seeing their dads come out, you don’t get more special than that,” Landry said. Hearing “Harpua” was particularly great, he said. Landry has been seeing Phish shows since 1995 and over about 60 concerts, he’d never heard the band play that song. “I’ve been chasing that song for years,” he said. “It’s been incredible.”

    Phish: 06/19/2011 Thunder Road [VQ: B, AQ: B+]

    YouTube Preview Image

    Portsmouth: Photos – Phish Spends Father’s Day in Portsmouth [PilotOnline]

    Phish: 06/19/2011 Harpua [VQ: B, AQ: B+]

    YouTube Preview Image YouTube Preview Image

    Phish: 06/19/2011 DAUD Portsmouth, VA

    June 19, 2011

    Portsmouth: Phish Portsmouth Setlist, Recap and The Skinny [Hidden Track]

    February 24, 2011

    Venues: Phish to Return to Portsmouth [Daily Press]

    Does this mean that Phish’s long, well-publicized love affair withHampton Coliseum is over?

    “Absolutely not,” said Joe Tsao, director of the Coliseum. He pointed out that a number of Phish shows in Hampton were special events, either part of a farewell or a welcome back set of concerts.

    “Now, they’re back to regular touring,” Tsao said. “Are they saving me for something special? I don’t know.”

    September 14, 2010

    Phish: 02/08/1991 II AUD New Source Portsmouth, NH

    September 7, 2010

    CK5: Chris Kuroda at Work in Portsmouth


    June 17, 2010

    Phish: 06/15/2010 Also Sprach Zarathrustra [VQ: A-, AQ: A-]

    YouTube Preview Image

    Drug Arrests: 25 People Arrested at Phish Show [Daily Press]

    Phish: 06/15/2010 Stealing Time From The Faulty Plan [VQ: A, AQ: A-]

    YouTube Preview Image

    Sad: 26-year-old Missing After Phish Concert [WTVR]

    June 16, 2010

    Portsmouth: Local Review – Phish @ nTelos [AltDaily]

    Portsmouth: Phish Covers Tom Waits [Jambands]

    Local News Coverage: Phish Phrenzy in Portsmouth [WVEC]

    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.

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

    Portsmouth: Songs of Summer [Phish Thoughts]

    If you had then told me that I would loved the show regardless of the glaring lack of exploration, I probably would have chuckled. But that is exactly what happened last night on the waterfront in Portsmouth, Virgina. Phish played an incredibly high-energy show from note one, but rather than a second set of flowing improvisation, the show resembled an intimate summertime recital for those at nTelos Pavilion.

    Portsmouth: Phish Plays at nTelos Pavilion [WAVY.com]

    Local News Coverage: Phish Comes to Portsmouth [WAVY]


    Phish: 06/15/2010 FOB Portsmouth, VA

    June 15, 2010

    Previews: What Can We Expect Tonight? [OnlinePhishTour]

    Drowned gave us a peek into what 2010 Phish funk is going to sound like.  Since 1998 (for the most part), Phish has left their patented funk on the back burner–after listening to the floor drop out from under us (thanks to Mike again) during Hershey’s Drowned, you could tell that Phish wants to bring back their white boy funk.  Not as much funky Trey with his wah pedal style, more like Mike driven nastiness.  Mike is obviously playing a much larger role in the jams this year than ever before.

    Portsmouth: Portsmouth Braces for Flood of Phish [PilotOnline]

    Seven thousand fans will converge tonight downtown to see Phish, the band famous for its live shows and good vibes, play at nTelos Wireless Pavilion for the venue’s first sold-out show in four years.

    June 10, 2010

    Previews: Get Phired Up For Phish in Portsmouth [PilotOnline]

    April 6, 2010

    Tickets: Tickets to Portsmouth Show Snatched Quickly [DailyPress]

    March 19, 2010

    Portsmouth: Phish Gearing Up For Summer Jam [Daily Press]

    August 7, 2009

    Trey Anastasio: 06/12/2006 DAUD Portsmouth, VA

    December 29, 2008

    Mike Gordon: 12/28/2008 DAUD Portsmouth, NH