new b2 snapshot

I released a new b2 snapshot today. This is the first release I’ve testing in Windows. By default Apache on Windows doesn’t enable mod_rewrite so I added code to catch when that happens.
Here’s the b2 discussion board I announced the new release on.
Download the new snapshot. You should probably download both the src and data packages as there are a number of template fixes too.

b2 Search Highlight Modifier

There’s a nice generalised text highlighter on the Smarty Plugins Wiki page so I modified it slightly to highlight b2 searches! Here’s a search for smarty that shows off this new plugin.
How do you use it? Modify your post.tpl and add the modifier to the_content variable like this:

{$the_content|highlightsearch}

If you want different colours try this:

{$the_content|highlightsearch:”<b style=’color: #000; background-color: #f00;’>”:”</b>”}

Text inside html links is also modified so links may be broken. Is there an easy way around that?
Here’s the code for the modifier. Just place it into a file called “modifier.highlightsearch.php” in your plugins directory!

<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* Type: modifier
* Name: highlight
* Version: 0.5
* Date: 2003-03-27
* Author: Pavel Prishivalko, aloner#telephone.ru
* Purpose: Highlight search term in text
* Install: Drop into the plugin directory
*
* Extended To 0.5 By: Alexey Kulikov
* Strips Tags for nice output, allows multiple term for highlight
* Modified and simplified to high light b2 searches by Donncha O Caoimh
* -------------------------------------------------------------
*/
function smarty_modifier_highlightsearch($text, $start_tag='<b style="color: #000; background-color: #ff0;">', $end_tag='</b>')
{
   global $s;
   if( $s != '' )
   {
     $term = $s;
     $term = preg_quote($term);

     return preg_replace('/('.$term.')/i', $start_tag.'$1'.$end_tag, $text);
   }
   else
   {
     return $text;
   }
}

?>

A year ago today

I added the “A Year Ago Today” Plugin to the site. Use it by adding the following Smarty tag to your site template (ie. in index.tpl)

{todayayearago heading='<h1>A Year Ago</h1>’}

There are a number of differences between this plugin and the original:

  1. The “heading” part is the heading displayed if there are any posts, otherwise nothing is displayed.
  2. If no title exists for the old entry, then an extract of the old entry is printed.
  3. I fixed a bug with the $siteurl variable.

Unfortunately, there were no posts on 2002-04-25, but there were on 2002-04-26 so you’ll see them pop up tomorrow!