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 2010-10-20 | YEMblog
    • Thanks Scotty and everyone who said nice things throughout. See you again on Friday? Have fun in Utica! -E #
    • Augusta Phish Setlist and Recap http://j.mp/93XHL5 #phish Tremendous job from @ericwyman He'll be back on guest tweets for Friday's show! #
    • End show #
    • Nice Manteca quote in the Reba jam from Fish #
    • This just got real! #
    • Maybe this is the show where we can't leave? More 3rd set than encore. Crazy. #
    • Number line #
    • Still time for more. #
    • Back into Reba. #
    • Trey riffing on top of mike and Fish's rhythm #
    • The Reba is so fitting. Most laid back vibe ever for a show. #
    • Transitioning out of the main Reba jam. #
    • Encore: Reba #
    • Fuck Your Face, Mike's > Light -> 20 Years Later -> Fast Enough, Weekapaug, Halley's > Free, Hood, Golgi, ADITLife http://j.mp/93XHL5 #phish #
    • A day in the life #
    • Set II: Fuck Your Face, Mike's > Light -> 20 Years Later -> Fast Enough, Weekapaug, Halley's > Free, Hood, Golgi http://j.mp/93XHL5 #phish #
    • Golgi #
    • 75-80% capacity on final glance. #
    • Trey with some passionate notes pre-feelgood #
    • Quiet jam #
    • PSA: Never throw glowsticks at the band! #
    • Poor timing on the glowstick launch. A lot of people didn't get the memo. #
    • Hood #
    • Maybe next time Halley's phanners. #
    • Set II: Fuck Your Face, Mike's > Light -> 20 Years Later -> Fast Enough, Weekapaug, Halley's > Free http://j.mp/93XHL5 #phish #
    • Free #
    • #cueuptheIhopetheyjamtjisouttweets #
    • Halley's #
    • Seriously forgot that Mike's started all this. #
    • I love wood blocks. #
    • Set II: Fuck Your Face, Mike's > Light -> 20 Years Later -> Fast Enough, Weekapaug http://j.mp/93XHL5 #phish #
    • Weekapaug #
    • Four year old phan next door is all done. Lullaby I guess. Good showing lil miss. #
    • > fast enough #
    • Into another ambient passage. #
    • Settled in. Then washing it back out. Ambient segment. #
    • These tunes belong together. Nice. #
    • Set II: Fuck Your Face, Mike's > Light -> 20 Years Later http://j.mp/93XHL5 #phish #
    • > 20 years later #
    • A lot of vibration heavy beats underneath Trey #
    • Delay loop with a calypso feel. #
    • Lights start to circle. Page starts a wash in the low end. #
    • Transition to a second jam. Page coming through on organ. #
    • Back into the theme, but Trey is hanging on to where it was going. #
    • Mike varying the beat. Pattern downwards. #
    • Fish carrying the cymbal beat. Trey wandering around a little. #
    • More fuck you face at tramps #
    • Solo starting. #
    • > light #
    • Set II: Fuck Your Face, Mike's http://j.mp/93XHL5 #phish #
    • Plenty of youngsters in the room. EARMUFFS! #
    • Everyone into fuck your face except fish still on Mike's. Back into it. #
    • Glowsticks going #
    • Fuck your face teases #
    • Mike's #
    • Screaming guitar. #
    • Fuck your face #
    • Lights #
    • Set 1 Complete: Chalkdust, BOTT, Torn & Frayed, Gin, Gumbo, Divided Sky, Jesus Left, Nellie Cane, 46 Days, Possum http://j.mp/93XHL5 #phish #
    • Fun set. See you on the flip flop. #
    • Possum #
    • Shredicus Maximus #automatic #
    • 10/19 Set I: Chalkdust, BOTT, Torn And Frayed, Bathtub Gin, Gumbo, Divided Sky, Jesus Left, Nellie Cane, 46 Days http://j.mp/93XHL5 #phish #
    • Trey lets the audience sing a couple lines #forgetful #
    • 46days #
    • Nellie Kane #
    • If Jesus lived in Chicago would he be Cubs or Sox? Discuss. #phish #
    • Smiley on the screens as Trey takes his turn #ck5 #
    • Apparently Fish's pretour haircut was cancelled. Back left is looking particularly Gene Wilder. #
    • ROYGBIV variant on the screens #ck5 #
    • Jesus left Chicago #
    • 10/19 Set I: Chalkdust, Back On The Train, Torn And Frayed, Bathtub Gin, Gumbo, Divided Sky http://j.mp/93XHL5 #
    • Divided Sky :) #
    • Gumbo #
    • Shout out to Maine resident…jon fishman #
    • Solid 5minutes there at the end. Big crescendo ending. #
    • Everyone into the patterns. Well layered before stepping back to the theme. #
    • Beat transforms. Fish leading way. Mike into a deep pattern. #
    • Stepping out a little over the main beat. Mike varying it up some. Quickening a little. #
    • 10/19 Set I: Chalkdust, Back On The Train, Torn And Frayed, Bathtub Gin #
    • Juggler with red glowballs in the back corner. Ironic. #
    • Bathtub gin #
    • Trey posing for a picture from the rail. #
    • Glad to hear that. #
    • Page sounds nice and bright underneath Trey. Such a great song. #
    • Torn and Frayed!!!!!!! #
    • Trey adjusting the note paper #
    • 10/19 set I: Chalkdust, Back on the Train #
    • Trey riffing a little out of the main jam. #
    • Back on the train #
    • Chalkdust #
    • Lights!!!! #
    • Two printed pages put down at Treys mike stand. #
    • CK5 and Garry at the boards. #
    • Youngster with an Izabella sign. Maybe it's her name. I dig it any way. #
    • Chill crowd. Feels pretty local, lots of hellos and how you doin's. 50% capacity so far #
    • Test test test #
    • Inside. Short upper level page side. Probably same height as Hampton. Great view! #
    • Doors are open. Decent line waiting. Crowd seems pretty light we'll see inside #
    • Makisupa pulling Phans over 10 mins outside of town – safetyfirst! #
    • Did you jam with Mike last night at the #mossery Jambands.com wants to hear from you about your experience http://bit.ly/9UabMF #phish #
    • Amazing work by Scott Campbell on tonight's poster http://on.fb.me/djgV3i #phish #
    • And let us know if you're tweeting from Utica as that list has been created as well #
    • We've got some twibe members on our list of folks tweeting 2night http://twitter.com/#!/list/YEMblog/tweeting-from-augusta any1 else? #phish #
    • LivePhish Radio is currently broadcasting Phish at Coral Sky 11/2/96 http://bit.ly/afTpvA [via @phish] #
    • Check out Scotty's review of last night's The Mossery event featuring Mike Gordon http://bit.ly/aX9Jz5 #phish #cactus #mossery #
    • Guest twitterer setup and immediate fail with the accounts! See you all in Augusta? #
    • Very excited to have @ericwyman tweet for us tonight from Augusta followed by Scott Marks tomorrow from Utica #

    Post a Comment

    You must be logged in to post a comment.