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"; } } ?> @YEMblog Twitter Updates for 2011-03-24 | YEMblog
    • i wish freddie "rerun" stubbs was hear to share this moment with me #heyheyhey #
    • takin it to the streets #
    • hand in pocket #alanis #
    • what things seem #
    • tom cleary makes nice use of analog synth tone for dreamy end jam in pretend #
    • mike tells story of his daughter rolling a strike at .2 mph @brooklynbowl #pretend #nowplaying #
    • mike uses the talkback mic extensively during this set. would love to see #phish use one this summer #
    • an original from moss dedicated to jared slomoff > funky bitch #
    • band bouncing up and down. crowd shows life and joins in #
    • murawski peaks the jam over and over. good stuff #
    • improv out of you're no good goes in complete opposite direction, major-keyed happy jam with crescendos #
    • band reprises you're no good out of evil jam #
    • very dark psychedelic start to the jamming here in set two. lots of dissonance #
    • place cleared out. #
    • first song more than 10% of audience knows #
    • mike and dude had a tender hug as if he left to the dude chant. now mound #
    • dude comes back out #
    • dude leaves stage for band to jam #
    • you're no good @mike_gordon with Dude of Life @brooklynbowl #
    • mike welcomes dude of life out #phish #cactus #
    • extra mic brought out #
    • ?, balloon, be good and youll be lonely #phish #cactus not so great with mike titles #
    • dance floor full but not packed thankfully #
    • liggy turns the lights off and puts on a green laser disco ball #
    • im deranged, willow tree #cactus #phish #
    • sound #cactus #
    • andelman's opner for @mike_gordon at @brooklynbowl #phish #
    • nice and toasty inside the venue #cactus #
    • weather absolutely miserable in brooklyn. hail frozen rain and lightning. hard to walk without getting pelted or slipping #cactus #
    • RT: @postjack I liked the idea of Watkins Glen better before I started following @theglenprez #
    • I liked @theglenprez better when he only had 200 followers #
    • Great description of Trey's playing in the YouTube comments for Fuji Caspian: "Reverse Trey" [via @DaveOatHT] #phish #
    • Last four LivePhish releases – 7/31/99, 11/2/96, 11/19/92 and Clifford Ball – all circulated as soundboards before official release. #boo #
    • lol, I'd say so RT: @jeffersonwaful @YEMblog Does watching sound check disqualify you from making predictions? #
    • I forgot which twiber it was but good call to whoever predicted the band would release one of these shows to help Japan #phish #
    • Here's pro-shot video of the Caspian for those who are curious http://bit.ly/h1dUaM #phish #fuckerpants #
    • It's funny @beaucolburn. I just wrote an article on it and described the Caspian. It is absolutely ridiculous, imho http://bit.ly/he8erM #
    • New LivePhish release = 7/31/99 to raise funds for Japan http://on.fb.me/i3Sm6N #phish #
    • This week's Postcards From Page Side by @BrianBavosa compares Mike's Groove and Help>Slip>Franklin's http://bit.ly/fqVyOY #phish #gd #
    • Jeff will tweet for HT and I'll tweet for YEMblog RT @hidden_track: @J_Greenblatt will tweet some thoughts from @mike_gordon @brooklynbowl #
    • Mound, Sailin' Shoes, She Said, Jaded, Funky Bitch, Andelman's Yard, Sound RT: @lyleismo Just snagged a @mike_gordon ticket. Predictions? #
    • Audio: @mike_gordon at @brooklynbowl from last night http://bit.ly/frlFFE #cactus #phish #
    • Thanks, Jimmy! Looking forward to the edited podcast coming out soon RT: @subtle_sounds Listened to @typeIIcast Really enjoyed it! #
    • Surprised you didn't list Lowell @GlobeEricWilbur I love the buttery all-hands-on-deck sequence before it peaks #
    • All top-shelf Rebas RT: @briancolligan 10/31/90 RT: @daveyraystylus 7/16/94 RT: @TheFknReverend / @BliggityBlatt 10/21/95 #phish #
    • Off the top of my head, 10/31/94, 5/16/95 and 8/14/96 come to mind w 8/16/93 right behind RT: @BliggityBlatt @YEMblog What r ur top 3 Rebas? #
    • Glad to see Bill Hader's high school experience involved listening to lots of #phish [see entry 4A] http://t.co/BfiVO6W [via @JeffPicanso] #
    • Today on YEMblog: Videos and a review of last night's @mike_gordon show + a list of best 2010 jams and more http://yemblog.com #phish #
    • Review: @neddyo on last night's @mike_gordon at @brooklynbowl show http://bit.ly/hGq6xg #cactus #phish #

    Post a Comment

    You must be logged in to post a comment.