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

    Detroit RSS

    June 4, 2011

    ClarkstonPhish DTE Energy Music Theatre Setlist and The Skinny [Hidden Track]

    November 21, 2009

    Detroit: Hear There Sweet Sound… Riffing on Fall ’09 Opener [Wading in the Velvet C.]

    November 20, 2009

    Photos: Detroit – Cobo Arena Photos [Phish Thoughts]

    November 19, 2009

    Detroit: Phish Fall Tour Opener Review and Photos [Hidden Track]

    Phish: 11/18/2009 46 Days Light Show [VQ: A-, AQ: B+]

    YouTube Preview Image

    Photos: Fall Tour Setlists and Photos – Detroit [JamBase]

    Phish: 11/18/2009 Down With Disease [VQ: B-, AQ: B]

    YouTube Preview Image

    Phish: 11/18/2009 I Am Hydrogen [VQ: B+, AQ: B-]

    YouTube Preview Image

    Reviews: Phish Gives Cobo Another Memorable Night [ABC12]

    After a 30-minute intermission, the crowd packed the narrow concourse of the nearly 60-year-old building. Once the Vermont-based band got back to the stage, balloons and glow sticks rained from above on the floor seats as “Down With Disease” echoed through the hall.

    As guitarist Trey Anastasio wound down his extended solo, he segued right into a trio of classics from their 1996 album “Billy Breathes.” A blistering version of album opener “Free,” Phish’s most commercially successful song of their career, led to a crowd sing-a-long on “Waste” and “taste.”

    Phish: 11/18/2009 46 Days Jam [VQ: B+, AQ: B]

    YouTube Preview Image

    Phish: 11/18/2009 Sample In A Jar [VQ: B, AQ: B-]

    YouTube Preview Image

    Phish: 11/18/2009 Schoeps MK41 Detroit, MI

    Phish: 11/18/2009 Stealing Time [VQ: B, AQ: B]

    YouTube Preview Image

    Reviews: Phish Return Welcomed By Cobo Crowd [Royal Oak Daily Tribune]

    They got it with a typically epic Phish performance, three hours of music plus a half-hour intermission, plenty of instrumental fireworks, a tripped-out light show that was “played” as much as the music itself and a 24-song setlist that, as is Phish’s wont, will never be repeated.

    Reviews: Thoughts on Phish @ Cobo [Detroit News]

    Reviews: Phish Reunites w/ The Faithful [Detroit Free Press]

    The vibe picked up as if it had left off yesterday.

    And for many of the 10,500 fans at Wednesday night’s Phish show, it practically had: The near-capacity crowd at Cobo Arena was packed with veteran fans of the jam-rock giant, which reunited earlier this year after half a decade apart.

    Phish: 11/18/2009 LivePhish SBD Detroit, MI

    Reviews: A Phish Show at Cobo [Phish Thoughts]

    Phish: 11/18/2009 Schoeps MK4 Detroit, MI

    November 18, 2009

    Detroit: 11/18/2009 Phish Fall Tour Opener Setlist [Hidden Track]

    Follow @YEMblog For Live Updates From Detroit

    Previews: Phishing in Detroit [Hidden Track]

    Tomorrow marks Phish’s first appearance at the legendary Cobo Arena in the Motor City and just the second Phish gig ever within city limits.  Over the years, the group has made stops in the Detroit suburbs of Rochester Hills (7/30/92, 8/12/93), Pontiac (6/23/94) and Auburn Hills (10/28/95, 11/09/96, 12/06/97 and 12/02/99), but the only Phish show in Detroit – besides tomorrow’s show – took place at St. Andrew’s Hall on May 6, 1992.

    November 17, 2009

    Previews: Detroit Rock City [Dog Gone Blog]

    Tomorrow night, Phish will open their fall tour in Detroit, returning for the first time since ‘99, where they delivered one of the best shows on their late fall tour. Tour openers have historically been packed with new songs, and we can be sure the band is eager to try out a few of their new tunes

    November 15, 2009

    Previews: Getting to Know Phish [Detroit Free Press]

    September 10, 2009

    Phish: 05/06/1992 I SBD Detroit, MI

    March 26, 2009

    Phish: 05/06/1992 FOB Detroit, MI