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"; } } ?> 2011 September 08 | YEMblog

    Daily Archive

    September 8, 2011

    Retrospective: Phish’s Storied History of Generosity [Hidden Track]

    Phish has a long history of giving back to not only the communities that they play in, but also to causes that are near and dear to many a fan’s heart. Though full blown benefit shows are few and far between, Phish philanthropy is well known. While history dictates that you will have about as much success predicting winning lottery numbers as you will a Phish setlist, it is nonetheless interesting to look back at previous benefit shows. Regardless of what goes down next week at the Champlain Valley Exposition, it is clear that the fans are in for a treat and that the state will benefit extraordinarily from another Phish philanthropic effort.

    Local Coverage: Phish To Play Benefit Concert in Vermont [WPTZ]

    YouTube Preview Image

    Trey Anastasio: Trey Anastasio to Head Into The Studio With Producer Peter Katis in November [Hidden Track]

    We came across an article profiling Katis today in Sonicscoop that mentions the coming collaboration and describes the future project as “out of left field” for Big Red. Nothing could make us happier than to hear Trey tackle something completely unorthodox for him. How about some freestyle rapping or klezmer music? We hear dubstep is pretty popular these days as well.

    Podcasts: Episode 32 – UIC [Type II Cast]

    This episode finds [host Steve Olker] joined by type II cast regular, Eric Wyman, and guest host, Adam Brotherhood from Online Phish Tour. Both were in attendance and assert that a good time was had by all at the last 3 shows of Leg 2. With plenty of clips to choose from this week, a few were left on the studio floor. It should be no surprise to anyone listening that this run is a contender for one of the best in 2011, and perhaps 3.0. As usual, we are here to give our analysis and insight,  wrapped in colorful commentary, baked in a pastry. Grab a glass Merlot, block off the next hour, and enjoy.

    Humor: Phish Tour Problems – White People [Trey is my Friend]

    Songs: The Story of Reba – Finest In The Nation [Online Phish Tour]

    Vermont Flood Benefit: Waterwheel Ticket Auctions for Essex Jct. [Mimi Fishman Foundation]

    • '@colonel_F0RBIN at same time, it's good they got to hone their skills from '83 – '90 before hitting theater/large club circuit #phish #
    • Helped! Would've blown up faster RT @Colonel_F0RBIN: @YEMblog do you think twitter could have helped or hurt #phish back in the beginning? #
    • You guys and gals sure know how to make a guy feel good. Thanks for the kind words from people I love and respect SO MUCH #
    • DJing in ThePhish room. Come hang out. Now playing Karl Perazzo and the Phish: Mike's Song 10/29/96 ♫♪ #phish http://t.co/EnrJBYc #
    • How @YEMblog looked during first weeks of operation, pre re-design: http://t.co/hocheVQ [h/t @OnlinePhishTour] #
    • Without Todd Levy of @PhishTwit's help and design skills it probably would've died a quick death. Much appreciation. #thirdanniversary #
    • 3 years ago today, started wordpress.com acct 4 youenjoymyblog.com Aimed to point folks to latest #phish content. Think it worked out well. #
    • We're up-to-date at http://yemblog.com incl. Mike Gordon and Page McConnell interviews, 30 (!!!) video playlist from #dicks #phish and more #
    • Two minutes till Second Set of Second Night of #phish #dicks listening party starts http://t.co/EnrJBYc #
    • 45 Arrests at #phish #dicks shows http://t.co/rA1dcQn #
    • TRUTH RT @phishnet: Pre-order audio for VT Flood Benefit – your $$ helps people in need, don't steal these mp3s/FLACs! http://j.mp/nFRPS2 #
    • "Next Wednesday’s benefit at the fairgrounds is the next Phish show & last for a while, according to Gordon." http://t.co/3PMUgZK #phish #
    • Last call for lottery entries to see #phish on 9/14 in Vermont http://t.co/5SESMWY #
    • Go Time: #phish #dicks Night Two listening party http://t.co/EnrJBYc #
    • #phish #denver Night Two re-listening party to commence shortly: http://t.co/EnrJBYc #
    • For his latest Postcards From Page Side essay, HT's @BrianBavosa details how #phish keeps it fresh for longtime fans http://t.co/Cy5MRfl #
    • 10 Memorable Tweets from Denver run by @westword_denver http://t.co/Xh41tR0 Too bad our tweets busting them on plagiarism didnt make it :( #
    • “We wanted to get involved in the community that burst us,” – @mike_gordon on Vermont Flood benefit #phish #bestbandever #