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-08-11 | YEMblog
    • Phans Boost Local Economy in Telluride http://www.telluridenews.com/articles/2010/08/11/news/doc4c6223a670d72073037350.txt #phish #
    • RT @TweeterReprise Summer of '89 is ___________ #FillinTheBlank "a song that sounds a lot like can you feel the love tonight" #phish #
    • A look at the last time Phish played Destiny Unbound in Telluride before last night: http://youtu.be/c0v3XeAAJok #phish #
    • Phish @ Telluride #2 – Compete Recap and Setlist http://bit.ly/9dei46 #phish #
    • Great Job by Adam Edelman on Tweets From Telluride. Thanks to all our Tweeters at the First Five. I'm Up Next From The Creek – Scotty #
    • Phish @ Telluride #2 – Complete Recap and Setlist http://bit.ly/9dei46 #phish #
    • Show. Speechless. Thanks phish, thanks Scott. #
    • E: shine a light #
    • Trey gets hit with glow stick; expresses gratitude, story about first time in tride #
    • *1050 #
    • Set; 950; 1:28 #
    • Intense vocal jam #
    • Phish: aka The slaughter house four #
    • Trampolines #
    • Telluride #2 Party Time, Mike's, Crosseyed > Hydrogen > Weekapaug, Destiny, Carini > Free > H Things, YEM http://bit.ly/9dei46 #phish #
    • Yem #
    • >heavy things #
    • All M i k e #
    • *this #
    • Overheard more than once: "I fucking love his set" #
    • Telluride #2 Party Time, Mike's, Crosseyed > Hydrogen > Weekapaug, Destiny Unbound, Carini > Free http://bit.ly/9dei46 #phish #
    • >free #
    • Spacey screaming distortion #
    • Mike leading this with thumping lines #
    • Some semi-melodic type 2 #
    • It's on #
    • Vicious, ferocious, loud #
    • Carini #
    • Huge #
    • Trey killin it with sweet fills #
    • Telluride #2 Party Time, Mike's, Crosseyed > Hydrogen > Weekapaug, Destiny Unbound http://bit.ly/9dei46 #phish #
    • DESTINY #
    • Trey picks up diff guitar during mikes solo #
    • > weekapaug #
    • Phish @ Telluride #2 Party Time, Mike's Song, Crosseyed and Painless > I Am Hydrogen http://bit.ly/9dei46 #phish #
    • > hydrogen #
    • Bad lt Leading all the way #
    • Smoke machine'd #
    • Heat #
    • >c&p #
    • Lots of red and hot pink from ck5 #
    • Phish @ Telluride – Set 2: Party Time, Mike's Song http://bit.ly/9dei46 #phish #lefsetzdropsnames #
    • Trey is talking to one of the roadies on stage while he is playing #
    • Mikes #
    • Leo #
    • Mike sporting the 2nd set wind breaker jacket 2nd day in a row! #
    • Party time #
    • Lights; 932 #
    • Fantastic, old-school rocking set. Walk away> roses was my highlight; coil and antelope were great too #
    • Trey walked to rail to pick up bouqet and threw them to page as band walked off stage #
    • Phish @ Telluride, Night Two: Setlist and First Set Recap http://bit.ly/9dei46 #phish #
    • Set; 9:00; 1:21 #
    • Lye lye locco: m. Esq #
    • Treys been teasing the opening lick from cayman review everyday since Fri #
    • FYI Note: trey appears to now be using a teleprompter #
    • Set 1: Coil, Stealing Time, Ya Mar, Timber, Let Me Lie, Divided Sky, WalkAway, Roses > LxL, Bouncin', Antelope http://bit.ly/9dei46 #phish #
    • Antelope #
    • Bouncin #
    • Little vocal jam to close it #
    • Trey is slaying this set #
    • Sun setting over tride; kuroda coming out to play; trey Mvp so far #
    • Page is all smiles, fish is killing it #
    • HIGH energy set #
    • >limb x limb #
    • Phish @ Telluride #2 – Set 1: Coil, Stealing Time, Ya Mar, Timber, Let Me Lie, Divided Sky, Walk Away, Roses http://bit.ly/9dei46 #phish #
    • Roses are free #
    • Ladies and gents: the bad lieutenant #
    • Walk away. Natch. #
    • Incidentally, the sky IS divided by some pretty incedble cumulus clouds #
    • Phish @ Telluride #2 – Set 1: Coil, Stealing Time, Ya Mar, Timber, Let Me Lie, Divided Sky http://bit.ly/9dei46 #phish #
    • Divided sky #
    • Everyone in this crowd is smiling. Welcome home. #
    • Ret me rie #
    • (Jerry) #
    • Phish @ Telluride #2 – Set 1: Coil, Stealing Time, Ya Mar , Timber http://bit.ly/9dei46 #phish #
    • Timber #
    • The ocelot inlay on treys new axe is pretty amazing #
    • Yamar #
    • Firemost #
    • Phish @ Telluride #2 – Set 1: Coil, Stealing Time http://bit.ly/9dei46 #phish #
    • Stealing time #
    • All eyes on page #
    • Coil #
    • Lights, 739 #
    • They just brought out a hot coffee, put it on treys table. Any min now. #
    • Anticipation fest #
    • Paul Simon preshow music #
    • Paul dano (there will be blood, little miss sunshine) in the house! #
    • Crowd in great mood tonight, field beginning to fill in #
    • @dogoneblog Check out a sample in our Telluride #2 Setlist/Recap placeholder http://bit.ly/9dei46 #
    • @dogoneblog We'll have @evatography 's amazing photos from last night's #phish show up on Glide and Hidden Track soon #
    • Unknown song was called "you better believe it." still unsure of artist #
    • Soundcheck: unknown song… lyrics- "baby I want you" possibly called "too much of anything" #
    • Nice little scene around the baseball diamond… Few dozen phans just chilling and tuning in to soundcheck #
    • Soundcheck: Nellie kane #
    • Great clip of Greek Suzy/Suzy Reprise and tons of other additions to http://yemblog.com #phish #
    • 'nother gorgeous day in telluride. Had a bit of rain this morning, but now sunny and 70 #
    • Very groovy. They'll be playin the lot at alpine next week. Check em out… "the situation" from southen cali #
    • Lots of post-concert shows last night… Ended up seeing great band named "the situation" next to the waterfall in town park camping #
    • One of the best #phish photo galleries I've seen – http://j.mp/aWe3cx Nice work Brantley Gutierrez #
    • @lefsetz Do you like any of Phish's originals or just covers? #

    Post a Comment

    You must be logged in to post a comment.