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-12-29 | YEMblog
    • Final: Phish Worcester 12/28/2010 Recap and Setlist http://bit.ly/gzdlb9 #phish #
    • Thanks to @ericwyman for tweeting tonight! @joshkorin makes his guest tweeter debut on Thursday. Thanks for following! #phish #
    • See you next year! @ericwyman #
    • Thanks to Scotty for ALL the hardwork these past two years. It's a pleasure to be a part of it. #
    • Vast improvement over last night. Hood the big winner. Expect great things in NYC! #
    • End show #
    • Treys voice is haggard. Fitting actually. #
    • Shine a Light #
    • @YEMblog @rocktop15 @ahand you are both simultaneously correct and incorrect (at the same time, concurrently) #
    • End set #
    • Back to back! @rocktop15: @YEMblog man. Tonites show looks terrible. (vs) @ahand: @YEMblog this show on paper smokes! #
    • Trey looked right at my Highway To Hell sign and laughed. #
    • 12/28 2: Carini, Number Line, Back On The Train > Limb By Limb, The Wedge, Frankie Says > Albuquerque, Hood, Bug http://bit.ly/gzdlb9 #phish #
    • Bug #
    • Big whale calls to finish! #
    • Pushing it prior to finish. Big build charging up. #
    • …As the cardboard rhombus spins like a delicate nonreflective disco polygon #
    • Feedback leads path to the final stanza. #
    • Builds and builds. Trey back into traditional lick. Loop of the previous guitar groove remains behind. #
    • Hanging with it. This is a Hood. #
    • Full on Samba now. #
    • Crowd picks up on vibe as Trey and Mike build the groove. #
    • Nice variation of tone from Trey. Playful but subdue. #
    • Express train straight through Hood segment. #
    • btw, I didn't misspell prior song. That's how it's spelled in MA! #
    • Hood #
    • 12/28 Set 2: Carini, Number Line, Back On The Train > Limb By Limb, The Wedge, Frankie Says > Albuquerque http://bit.ly/gzdlb9 #phish #
    • > alberquerque #
    • Washout transition? CK5 lighting the rafters only. #
    • Frankie Sez #
    • Believe what you want, but this song is a Star Wars reference, where Wedge writes a potential goodbye letter on the death star mission. #
    • 12/28 Set 2: Carini, Number Line, Back On The Train > Limb By Limb, The Wedge http://bit.ly/gzdlb9 #phish #
    • Wedge #
    • Trey really melted that segue. Fine effort, but set lacks the inspiration expected after first thus far #
    • > limb by limb. Nicely done #
    • 12/28 Set 2: Carini, Number Line, Back On The Train http://bit.ly/gzdlb9 #phish #
    • Trey floating into the jam. Fish stays on the cymbal to push the effect but back into the main theme #
    • Number line #
    • Heavy tremolo echo to end the jam. Classic. ps…CK5 just went off #
    • Sources say Antelope Greg is indeed in front with a classical dance trio. Arms/headnod/spinner #
    • Orca inflatable in front row. Watch Free Willy fly!!!!!! #
    • Carini #
    • Lights #
    • And suddenly, a slight breeze. Keep that door open. #
    • Sweaty as fuck #
    • KDF, My Mind…, Alaska, She Caught The Katy, Wolfman's, Pigtail, Stash, Bouncin, Rift, Faulty Plan, Birdwatcher http://bit.ly/gzdlb9 #phish #
    • FYI, according to ZZYZX (via Scott Marks) Phish currently needs 6 more different songs in '10 to tie last year's record 7 FTW – SB #
    • Now end set. #
    • First Phish version – SB #
    • Props to the originals Jha and Chainsaw. Fish is good but You guys kill the doowop. #tab #
    • First phish live performance? #factcheck Scotty #
    • Birdwatcher! #
    • Woah. #noob tweeter. Acapella #mics #
    • End set. Big upgrade from last night IMO. #
    • Finally! Positive feedback RT @alliedise: @YEMblog Your tweets are getting boring. Can you talk about something else besides the setlist? #
    • KDF, My Mind…, Alaska, She Caught The Katy, Wolfman's, Pigtail, Stash, Bouncin, Rift, Faulty Plan http://bit.ly/gzdlb9 #phish #
    • Faulty Plan #
    • Mound last night, Rift tonight. Time to let Fish pick one. #
    • Fish loses the rhythm temporarily. Catches breath and Mike gives a reassuring nod. #
    • Bouncing #
    • Rift #
    • Worcester Night 2: KiDF, My Mind…, Alaska, She Caught The Katy, Wolfman's, Stash, Pigtail, Stash, Bouncin http://bit.ly/gzdlb9 #phish #
    • Nice effort to extend it out some more. Impressed. #
    • Could become the refrain at any point. #
    • Mike and Trey driving in and out of Stash jam #
    • Trey drives towards new theme. Page and Fish follow slowly but maintain vibe #
    • Stash #
    • After 10/31 majesty, big shoes to fill. #traptune #
    • Boppy little number #
    • @alliedise I guess Tom is on couchtour too ;) #leakysecret #
    • @allotted I guess Tom is on couchtour too ;) #leakysecret #
    • Worcester Night 2: Kill Devil Falls, My Mind…, Alaska, She Caught The Katy, Wolfman's, Pigtail http://bit.ly/gzdlb9 #phish #
    • Dedication to Tom listening at home. Is there an Official stream tonight??? ;) #
    • Trey banter #
    • Energy! #
    • Blizzard sized build! White out conditions!!!!!!! #wolfmans #
    • Maintaining the chill factor through set 1. #
    • Some tweets are getting dropped via txt. Trying app. Wolfmans jam has a sustained glowstick effort. #
    • Wolfman's Brother #
    • Wore @neillybop's #wolfmans shirt this am, so there's that. #
    • When a dude in a leather duster walks up and says "let's rage this spot"…make room or move #
    • Last seen 8/14/98 Limestone, ME #
    • Worcester Night 2: Kill Devil Falls, My Mind…, Alaska, She Caught The Katy http://bit.ly/gzdlb9 #phish #
    • She Caught The Katy #
    • "Alaska, Alaska, Alaska" LOL #
    • Guest tweeter nightmare #lotsoftyping #
    • Gag redefines tune. "wouldya stop making things up!" #
    • Too far to identify device. Even money on iPhone?#phish #
    • Trey has a little talk box. Sarah Palin!!!!!! #
    • Alaska #
    • Worcester Night 2: Kill Devil Falls, My Mind… http://bit.ly/gzdlb9 #phish #
    • My mind's got a mind of its own #
    • +1 for not blistering through an opener! #
    • Lights dim for the initial jam of the night. #
    • A recent graduate of the "Antelope Greg School for Dance" has carved out a serious rage circle on rail #
    • Kill Devil Falls #
    • 5,000 followers! Holy Shitballs. Thanks everybody :) – Scotty B #
    • @ericwyman will be reporting from tonight's show starting soon. Thanks to Eric for guest tweeting this evening. #
    • Need to kill a few minutes or hours? Spend time w/ @phishnet's song histories. So many interesting factoids/opinions & constantly updated #
    • Photographer Andy Hill captured some amazing images at last night's NYE Run tour opener for @glidemag http://bit.ly/gZPNRl #phish #
    • Ok #
    • Four folks nailed their Pick Three choices for last night on our Facebook page. Three went w/ Mound, It's Ice & Seven Below = Nice Work! #
    • Video: 12/27/2010 Roggae http://www.youtube.com/watch?v=gytEuy1o99U #A quality #phish #
    • MKDevo 12/27 Playlist Now Includes Cool It Down http://bit.ly/eAFO4q #phish #
    • MKDevo Videos Surface. First Two Songs Thus Far. This Playlist Will Compile His 12/27 Videos http://bit.ly/eAFO4q #phish #1227 #mkdevopwns #
    • I know Andy Williams is referring to Xmas when he sings "The Most Wonderful Time of the Year" but for #phish fans it's the New Year's Run #
    • My first NYE Run show and still one of my faves. Would LOVE to see a LivePhish release cc: @shapsio RT @amazin1986 '94 = littledrumapaug #
    • How I'd Rank 12/28 Shows Since '93: 1. '94 2. '93 3. '03 4. '98 5. '96 6. '95 7. '09 8. '97 #nyerunspast #phish #
    • Today on YEMblog: Four Worcester1 Reviews and Recaps, Taylor Caine's FOB Recording, Video Playlist and Much More http://yemblog.com #phish #
    • Here's a Playlist of the Best Videos We've Found So Far From Last Night http://bit.ly/hR52Ff Inc. Cool It Down, Mike'sMoundPaug #phish #ck5 #

    Post a Comment

    You must be logged in to post a comment.