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

    Reviews RSS

    August 31, 2012

    Reviews: Phish Review From Starlight in Kansas City [Bands That Jam]

    August 27, 2012

    Charlotte: Review – Carolina Completely [Phish Thoughts]

    August 25, 2012

    Local Coverage: Phish Delivers at Oak Mountain Exactly What Devoted Fans Want [Birmingham News]

    San Francisco: Night Three in the Bay Area Reset The 3.0 Bar [Live Music Blog]

    San Francisco: A Brief Review (and Photos) of a Triumphant Trilogy [Honest Tune]

    August 22, 2012

    San Francisco Night 3: Bestest Webcasted Show Ever [Phish.net]

    San Francisco Night 3: Review – A Night For The Ages [Phish Thoughts]

    June 27, 2012

    Burgettstown: Review – Phish Leaves Its Fanatics Satisfied [Post-Gazette]

    June 20, 2012

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

    March 13, 2012

    Trey: Concert Recap – Trey Anastasio w/ L.A. Philharmonic [Live Music Blog]

    Trey: Philharmonic at the Phish Bowl [San Francisco Classical Voice]

    Trey: A Night In The Key of Trey [Phish Thoughts]

    Trey: Trey Anastasio Charms With L.A. Philharmonic [Neon Tommy]

    March 11, 2012

    Trey: Trey Anastasio with Los Angeles Philharmonic Review [Hollywood Reporter]

    Trey: Review – Trey Anastasio & L.A. Philharmonic 03/10/12 [Concert Confessions]

    Trey: Review – Trey Anastasio & L.A. Philharmonic – 03/10 [L.A. Weekly]

    Trey Anastasio: Review – Trey Performs with Los Angeles Philharmonic [Rolling Stone]

    March 1, 2012

    Reviews: Trey Anastasio w/ Colorado Symphony Orchestra – 02/28 [Westword Denver]

    Reviews: Trey Anastasio w/ Colorado Symphony Orchestra [L4LM]

    Books: Review – Mr. Miner’s Phish Thoughts [PhanArt]

    February 24, 2012

    Trey Symphony Tour: Review – Trey and the PSO 2/14/12 [Sunken Treasures]

    February 15, 2012

    Reviews: Trey and the Steel City Symphony [Online Phish Tour]

    Reviews: Trey Anastasio & PSO Redefine Classical Rock [Post-Gazette]

    January 7, 2012

    NYE Run Recaps: Couch Tour Review – Phish NYE [411Mania]

    January 2, 2012

    NYE: Review – Phish @ MSG 12/31/2011 [Scents & Subtle Sounds]

    NYE: YEMSG4 – NYE Recap [Phish.net]

    The Gag: Your Soul Joins Mine [Phish Thoughts]

    NYE: I Think That This Exact Thing Happened To Me… [Smooth Atonal Sound]

    NYE: All In A Phish New Year’s Night [On The Phish Beat]

    NYE: Phish NYE Rocks The Baked Apple [Celebstoner]

    NYE: Phish Ring in New Year’s at MSG [American Songwriter]

    January 1, 2012

    New Year’s Eve: Phish New Year’s Eve Spectacle [Jambands.com]

    Reviews: 12/31 – An Anticlimactic Ending [Phish Thoughts]

    December 31, 2011

    Reviews: 12/30 Recap [Phish.net]

    Reviews: Phish 12/30 – The Red Red Worm [Smooth Atonal Sound]

    Reviews: Night 3 – If You Can Heal The Symptoms [OPT]

    Reviews: 12/30 – Not Much To Offer [Phish Thoughts]

    Reviews: MSG3 Good Times, Bad Times [Coventry]

    Reviews: A Band Tradition, Both Carried On and Changed [NY Times]

    Reviews: 12/29 Madison Square Garden [Jambands.com]

    December 30, 2011

    Reviews: MSG 2 – The House of Energy [Phish Thoughts]

    Reviews: MSG2 – Smoldering Skyscrapers [Coventry]

    December 29, 2011

    Photos & Reviews: Picture Show – Phish MSG Night One [Hidden Track]

    [Photo by Michael Stein]

    Reviews: Phish @ Madison Square Garden [Scents & Subtle Sounds]

    Reviews: Kicking Off w/ Yuletide Heat [Online Phish Tour]

    Reviews: YEMSG 2011-12-28 Recap [Phish.net]

    Reviews: Phish MSG 12/28/2011 [Jambands.com]

    Reviews: 12/28/2011 – Jumpstarted! [Phish Thoughts]

    Reviews: MSG1 – The Feeling I Forgot [Coventry]

    Reviews: Phish Phries The Phirst Time [Concert Confessions]

    December 15, 2011

    Reviews: Mike Gordon @ The Egg [Metroland]

    Gordon and friends saved the best for first, exploding with a monster first set that featured, in its 90-plus minutes, a chunk of nearly an hour with no pause in the proceedings. Songs flowed together with great ease, segues varying from the quick and deftly executed to slow builds that almost miraculously twisted from point A to point B. Afterwards, the second set felt like a prolonged warm-up; there was plenty of thrashing rock & roll energy, but it seemed the fireworks had already exploded. (Along the way, Alanis Morissette’s “Hand in My Pocket” was recast as a Southern rock tune that could have been a Black Crowes outtake.)

    December 13, 2011

    Reviews: New Release – Phish Hampton / Winston-Salem ’97 [Dog Gone Blog]

    Set between the abstract psychedelia that stretched from 1994-1996 and the cosmic rock that formed between 1998 and 2000, this phase marked the largest upending in Phish’s career since they graduated from playing Grateful Dead and Wilson Pickett tunes in the 80s. The inspiration for this transition came while performing the entirety of Talking Heads’ Remain in Light on Halloween ’96, gradually taking hold over the following year, and finally coming to fruition during the fall of ’97.

    Reviews: Unapologetic Fall ’97 Booster on Hampton 11/21/97 [WaxBanks]

    December 11, 2011

    Reviews: Phish Bassist Mike Gordon Mesmerizes Crowd at Solo Show [MassLive]

    December 8, 2011

    Reviews: Phish Box Set Brings Back The Bliss [Jeremy D. Goodwin]

    After an ear-bending series of artistic advances for three years previous, 1996 had proven an anticlimactic period of retrenchment. The next year was a thrilling advance, with two small-venue European tours injecting a fresh sense of spontaneous musical intimacy to the band’s interplay, paired with the psychedelic free-rock chops it had been honing since the early ‘90s. And by now Phish’s nascent interest in rhythm-based jamming had matured into a headlong infatuation with funk-rock. Guitarist and primary songwriter Trey Anastasio later described the style, aptly, as “cow funk” — the result of four white guys from Vermont getting heavily into James Brown records, while experimenting with slower tempos and meditative, deep grooves. (Alas, it inspired a seemingly unending parade of flaccid-funk groups that mistook dynamic stasis for the pocket.)

    Reviews: Hampton/Winston-Salem ’97 7-CD Box Set [OhKeePah Blog]

    Reviews: Phish – Hampton / Winston-Salem ’97 by Randy Ray [Jambands.com]

    Reviews: Hampton / Winston-Salem ’97 [Blanks & Postage]

    December 6, 2011

    HWS ’97: Back to ’97 – Why You Should Buy New Phish Box Set [HyperVocal]

    November 21, 2011

    Reviews: Why You Need The Hampton / Winston-Salem Box Set [OPT]