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-18 | YEMblog
    • Here's my review of Night Two of Phish at Alpine Valley – http://bit.ly/acu9Ss #phish #highimpactset2 #
    • Reminder: @ericwyman on Tweets this afternoon and tonight. Always been a big fan of his show descriptions. #
    • @peteforgets Heh, I don't know about that. I think it was a more "generic" rock riff that sounded like WLL created by the toy guitar #
    • So, @phishnet has the BDTNL jam containing a Norweigan Wood tease. What do you think? Not quite, imho. #
    • If I'm the only person that digs Prince Caspian so be it. I've really enjoyed every version since Miami and last night's was unique as fuck #
    • And then there was one. @ericwyman on tweets tonight for the closer. What was your favorite show thus far? I'm going with Alpine1 #phish #
    • Lengthwise -> Maze, Halley's > Mike's > Simple > BDTNL > Caspian > R&R > Paug , L. Cup E: Show Of Life, Golgi #phish http://bit.ly/aSgKOk #
    • end show #
    • golgi #
    • near carvel fish side near exit #
    • encore show of life #
    • sorry end set never went out #
    • loving cup #
    • turn a corner to give trey one last go at it. #
    • page still on clav. so funky #
    • mike with envelope filter on #
    • finally a patient weekapaug #
    • page on clav for funk breakdown #
    • rockapaug #
    • still singing its alright till mikes solo. cool jam slash transition #
    • weekapaug #phish #
    • band yelling its alright #
    • spacy dissonant noise #
    • its like the turbo version of rock and roll and thats saying a lot #
    • hits maze like peak. trey breaking out machine gun #
    • boys connect on an ascending riff #
    • hendrix-esque work from trey #
    • side note: loving caspian's new role as a segue maker #
    • weak cheer for ny reference #
    • not in the opener spot. love it #
    • into rock and roll #
    • abnormal start to caspian. way mellower than usual. i like #
    • caspian #phish #
    • using it wisely to play something that kinda sounds like norweigan wood #
    • lots of whammy action #
    • mike keeps things moving. page on synth. enter butter zone #
    • trey starts ripping it up. very cool how they found a groove and now trey's soloing over it #
    • alrighty. trey hits on some dark minor chords this is getting out there #
    • pace slows down a good bit cool little jam here. real melodic playing from trey #
    • drones note into bdtnl #
    • trey playing one note and delaying it #
    • alrighty jam starts to get ambient #
    • blue and purple lights create silouette of trey #
    • great work by mike on this one or is that implied at this point? #
    • II: Lengthwise -> Maze, Halley's Comet > Mike's Song > Simple #phish http://bit.ly/aSgKOk #
    • simple #phish #
    • trey fires afterburners for the end of that mikes. another rager. #
    • roygbiv phish #
    • kuroda flashing phish on screens #
    • glow stick WAR #
    • into mikes #phish #
    • vegas odds 6 to 1 on a jam #
    • halleys #phish #
    • standardly awesome maze #
    • a capella just fish and then he starts the maze drum part #
    • legnthwise! my first #
    • fish clears his throat #phish #
    • lights #phish #
    • trey's tea is out. were close #phish #
    • end set #phish #
    • bigger peak than usual #
    • Fluffhead, Kill Devil Falls, Cities, Funky Bitch, Wilson, Reba, Walk Away, Wolfman's Brother, Possum #phish http://bit.ly/aSgKOk #
    • who woulda thunk a holdsworth song would be the most played song of 3.0? #
    • possum #phish #
    • red and white lights strobing as we hit a peak #
    • goes from rock to funk space quickly. page on clav, mike slapping, trey shredding #
    • trey's still jacked from walk away speeding the band through this intro #
    • wolfmans #phish #
    • trey wails on end solo ferocious as fuck #
    • another non segued walkaway #
    • walk away #phish #
    • purple red and yellow liights bathe stage #
    • pace picks up trey starts visibly leaning into notes #
    • like the smoothest silk from china here comes the reba jam #
    • reba #phish #
    • trey plays the riff the toy guitar plays on his regular guitar #
    • brings toy guitar back before blat boom #
    • wilson w toy = last played 120995 #
    • regular guitar back on #
    • its a toy guitar but treys manipulating it #
    • I: Fluffhead, Kill Devil Falls, Cities, Funky Bitch, Wilson http://bit.ly/aSgKOk #phish #
    • trey puts his guitar on his back and breaks out a mini strat. solos on mini strat #
    • extra loud crowd tonight rocked the wilson chat #
    • wilson #phish #
    • only two shows between bitches. wow #
    • funky bitch #phish #
    • page on clav as trey leads jam with funky riffage #
    • no strong island lyrical reference :( #
    • played here last year too. hope this one jams #
    • cities #phish #
    • kill devil #phish #
    • fluff hath arrived #phish #
    • perfection through clod #
    • saw my first fluffhead here in '95. it took 11 shows which at the time was ridic. u always wind up where u start and whatnot #
    • crowd goes nuts for new york line #
    • fluffhead #phish #
    • lights #phish #
    • time for finger calistenics #
    • sun has set behind venue. haze a plenty filling stage #
    • finally made it in. place is pretty full. figure we got 10 to 15 minutes till lights #
    • Soundcheck (via Vickers): Dog Log, Ginseng Sullivan, Burn That Bridge #phish #
    • @jraras No soundcheck for me tonight. Working 'till 5. I do remember hearing the slow Dog Log at 6/28/95. That was a treat. #
    • Just a reminder, Scotty (me) on tweets tonight and here's the list: http://twitter.com/YEMblog/tweeting-from-jones-beach #phish #
    • Check out my review and John Schulze's amazing photos of Phish @ Alpine Valley, Night One http://j.mp/d78Fll #phish #

    Post a Comment

    You must be logged in to post a comment.