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"; } } ?> Phish: 06/20/2009 Train Song [VQ: A, AQ: B+] | YEMblog

    Phish: 06/20/2009 Train Song [VQ: A, AQ: B+]

    YouTube Preview Image

    5 Comments so far      Post a Comment

    1. Marty and I are thinking about you all and loivng the blog thanks Graham! Too bad no video feed of John’s raft upending oh my!! Any dueling banjos? God Bless to all and have fun!!! (Hang in there Lynn and Kim:)!!!)

    2. That’s an ineelligtnt answer to a difficult question xxx

    3. and EddThe universal version of Linux Mint doesn’t include the proprietary software so you will still have to do the manual downloads of the codecs in order to play DVDs. The reason why it may come as a live DVD is because it has support for various languages (excluding my native Swahili…) hence the larger size. However, it doesn’t include more packages infact without the codecs I’d say it has less “packages”.@EddI’d recommend you download the main version as all the codecs are installed by default and hence plays multimedia out of the box. That is unless you’re in USA and you have the restrictions.Hope that helps.

    4. Hey There. I discovered your welbog using msn. That is a really well written article. I’ll make sure to bookmark it and come back to learn extra of your useful information. Thanks for the post. I will certainly return.

    5. OK, here’s the wide eyed Windows user trying out this lee-nux thing. Hey, the first huldre’s not so bad the installer mainly does the right thing (what the user wants) by leaving Windows on the machine and setting up dual boot. Except when it doesn’t.Next comes the login screen. By default, you put in a username and a password. Windows defaults to just the password, applying it to the main user account. Somehow Microsoft has this idea that PCs are primarily used by just one user. A minor point, but that’s just for starters.Everything is a little different. And yes, out tyro user is a bit timid about having to change work habits built up over years and years of the Microsoft monopoly. But the trouble really starts when the newbie wants to play a DVD. Oh hell. Mediabuntu, right? Where’s that documented? I actually found it through Google, but I hate cracking manuals open. So cool, our innocent victim user has to spend an hour or two, if not more, chasing down the codecs and libdvdcss so the movie player will work. What’s that? The audio doesn’t work even once the video does? Two different codecs, you ninny! At least 50% of the users have just scratched Ubuntu and Linux off their list. And Ubuntu actually does that a lot better than the average distro.And it goes on like that. All of us are used to Googling and forum crawling to find answers to obscure questions about how this increasingly complex desktop Linux OS works. Windows users have to do that too, and are often at a disadvantage because the system is opaque and answers are harder to dig out. Except they aren’t harder to dig out. There are way more Windows users than Linux users, and their collective experience actually makes finding Windows solutions at least as easy as Linux ones. And you know, they don’t have to go looking as much as we do.This is something that this dyed in the wool Microsoft hater and Unix/Linux engineer with 23 years experience finds hard to swallow: Microsoft does reliability better than Linux in a whole bunch of areas now. It wasn’t always that way. If you’ve been around long enough to remember Windows 3.1 and DOS, you know how high guano was piled on Microsoft’s program loaders. And yes, Vista is a terrible, paternalistic, bloated under performing pile of crap that is deservedly struggling in the marketplace. But it doesn’t crash very often they’ve actually improved that a lot. And it plays DVDs out of the box. And the sound doesn’t get flaky like with pulseaudio. And of course, all the hardware under the sun works with Wintel the power of the duopoly.But, we have Freedom. Not a bad thing to have at all. But one of the things that freedom means is there are lots of solutions to the same problems. Distros, including Ubuntu, realize that focusing on just one package manager, or ogg player, or text editor or photo organizer etc, etc etc, means less support burden and less confusion for naive users. But if you take a scalpel and cut through the fertile but untidy Linux software ecosystem, you can only go so far. Microsoft suffers from this problem too, but to a lesser degree, since they have more control. Apple has a big advantage here since they control both the hardware and the software quite rigidly.The diversity is much greater in the Linux world, especially for basic functions like movie players. (If you get a little shock hearing a movie player described as a “basic function,” welcome to the average user’s perspective.) So freedom, essential to the success of Gnu/Linux, a key advantage we hold over other OSen and one of it’s finest features today and for the future, has this downside that enthusiasts rarely consider: integration of all that diversity is hard. And Microsoft does it better partly by being more paternalistic and less Free.But we also have free with a lowercase “f”. One of the big attractions of Linux for ordinary computer users and big corporations alike is its low cost. With the premium Microsoft places on the OS and basic productivity apps, we have a big advantage right out of the gate. And it only increases as you move up the stack, assuming there’s an adequate free equivalent in Linux for a give proprietary package. But you know, if it isn’t easy and reliable, people’s perception of the value of free will go down.I applaud Ubuntu for their herculean effort in trying to integrate best of breed apps into a semblance of a unified desktop environment. I hope they get around to fully supporting my cute little MSI Wind so I can dump the XP partition. I’m just a little disgruntled that advantages in reliability have eroded as desktop Linux has tried to ramp up to all the things Apple and Microsoft do for and to users.

    Post a Comment

    You must be logged in to post a comment.