diff -ruN 0.762/admin.php 0.763/admin.php
--- 0.762/admin.php	2006-01-13 13:16:15.000000000 -0600
+++ 0.763/admin.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.28 2006/01/13 19:16:15 jorg Exp $
+// File: $Id: admin.php 17588 2006-01-13 19:16:15Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/backend.php 0.763/backend.php
--- 0.762/backend.php	2006-01-07 09:42:52.000000000 -0600
+++ 0.763/backend.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: backend.php,v 1.16 2006/01/07 15:42:52 markwest Exp $
+// File: $Id: backend.php 19715 2006-08-18 10:33:22Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -42,12 +42,13 @@
 
 header("Content-Type: text/xml; charset=ISO-8859-1");
 
-// get some config vars
+// some default vars
 static $mostrecentdate;
 $headline_limit = 25; // Maximum value for Select
-$shown_results=0;
+$shown_results = 0;
 $body = '';
 $mostrecentdate = 0;
+
 // Get $charset (atamyrat@gmail.com)
 if (defined('_CHARSET') && _CHARSET != '') {
 	$charset = _CHARSET;
@@ -55,10 +56,24 @@
 	$charset = 'ISO-8859-1';
 }
 // get the short urls extensions
-$urlsok = pnModGetVar('Xanthia', 'shorturlsok');
+$urlsok = pnConfigGetVar('shorturls');
 $urlextension = pnModGetVar('Xanthia', 'shorturlsextension');
 $baseurl = pnGetBaseURL();
 
+// get the language
+$newlang = pnVarCleanFromInput('newlang');
+$backendlang = pnConfigGetVar('backend_language');
+$backendlangs = cnvlanguagelist();
+if ((!isset($newlang) || empty($newlang)) && isset($backendlangs[$backendlang])) {
+    $lang = $backendlangs[$backendlang];
+} else {
+    $lang = $newlang;
+}
+
+// get any filters
+$topicid = pnVarCleanFromInput('topicid');
+$catid = pnVarCleanFromInput('catid');
+
 // Base query
 $storiescolumn = $pntable['stories_column'];
 $storiescatcolumn= $pntable['stories_cat_column'];
@@ -71,12 +86,19 @@
                  $topicscolumn[topicid] AS \"tid\",
                  $storiescolumn[title] AS \"title\",
                  $topicscolumn[topicname] AS \"topicname\",
+                 $topicscolumn[topictext] AS \"topictext\",
 				 $storiescolumn[hometext] AS \"hometext\",
 				 $storiescolumn[time] AS \"time\"
           FROM 	 $pntable[stories]";
 $query .= " LEFT JOIN $pntable[stories_cat] ON $storiescolumn[catid] = $storiescatcolumn[catid]
 			LEFT JOIN $pntable[topics] ON $storiescolumn[topic] = $topicscolumn[topicid]";
-$query .= " WHERE $storiescolumn[ihome] = 0";
+$query .= " WHERE $storiescolumn[ihome] = 0 AND ($storiescolumn[language] = '".pnVarPrepForStore($lang)."' OR $storiescolumn[language] = '') ";
+if (isset($topicid) && is_numeric($topicid)) {
+    $query .= " AND $storiescolumn[topic] = '".pnVarPrepForStore($topicid)."'";
+}
+if (isset($catid) && is_numeric($catid)) {
+    $query .= " AND $storiescolumn[catid] = '".pnVarPrepForStore($catid)."'";
+}
 $query .= " ORDER BY $storiescolumn[time] DESC";	
 
 // with permissions in mind we can't use $headline_limit but restricting to 99 should be ok
@@ -88,15 +110,18 @@
 	return false;
 }
 
-// start of dynamic output
-while((list($aid, $cid, $cattitle, $sid, $tid, $title, $topicname, $hometext, $time) = $result->FetchRow()) 
+// start capture of dynamic output
+while((list($aid, $cid, $cattitle, $sid, $tid, $title, $topicname, $topictext, $hometext, $time) = $result->FetchRow()) 
 	&& ($shown_results < $headline_limit) ){
-
 	if (empty($mostrecentdate)) {
 		$mostrecentdate = $time;
 	}
 	$title = pnVarPrepForDisplay($title);
 
+    // store some vars for later
+    $topictitle = $topictext;
+    $categorytitle = $cattitle;
+
     // form the url
     if($urlsok == 1) {
        $link =  pnVarPrepForDisplay("{$baseurl}Article$sid.$urlextension");
@@ -133,10 +158,17 @@
 }
 // end of dynamic output
 
-$title = pnVarPrepForDisplay(pnConfigGetVar('sitename'));
+$sitename = pnConfigGetVar('sitename');
+if (isset($topicid) && is_numeric($topicid)) {
+    $title = pnVarPrepForDisplay($sitename) . ' :: ' . pnVarPrepForDisplay($topictitle);
+} else if (isset($catid) && is_numeric($catid)) {
+    $title = pnVarPrepForDisplay($sitename) . ' :: ' . pnVarPrepForDisplay($categorytitle);
+} else {
+    $title = pnVarPrepForDisplay($sitename);
+}
 $link = pnVarPrepForDisplay(pnGetBaseURL());
 $description = pnVarPrepForDisplay(pnConfigGetVar('backend_title'));
-$backend_language = pnVarPrepForDisplay(pnConfigGetVar('backend_language'));
+$backend_language = pnVarPrepForDisplay($backendlang);
 $webmaster = pnVarPrepForDisplay(pnConfigGetVar('adminmail'));
 $image_url = $link.'images/'.pnVarPrepForDisplay(pnConfigGetVar('site_logo'));
 $image_title = $title;  // RSS parsers usually use this for the ALT tag on the image
diff -ruN 0.762/banners.php 0.763/banners.php
--- 0.762/banners.php	2005-03-20 02:23:40.000000000 -0600
+++ 0.763/banners.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: banners.php,v 1.12 2005/03/20 08:23:40 larsneo Exp $
+// File: $Id: banners.php 15998 2005-03-20 08:23:40Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/config.php 0.763/config.php
--- 0.762/config.php	2006-07-26 17:02:38.000000000 -0500
+++ 0.763/config.php	2006-10-17 16:29:21.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: config.php,v 1.14 2005/04/18 20:03:23 lcabrera Exp $
+// $Id: config.php 16107 2005-04-18 20:03:23Z lcabrera $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/error.php 0.763/error.php
--- 0.762/error.php	2005-12-23 02:54:00.000000000 -0600
+++ 0.763/error.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
- * File: $Id: error.php,v 1.16 2005/12/23 08:54:00 larsneo Exp $
+ * File: $Id: error.php 17369 2005-12-23 08:54:00Z larsneo $
  *  ----------------------------------------------------------------------
  *  PostNuke Content Management System
  *  Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/footer.php 0.763/footer.php
--- 0.762/footer.php	2005-02-04 00:30:16.000000000 -0600
+++ 0.763/footer.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: footer.php,v 1.21 2005/02/04 06:30:16 jorg Exp $
+// File: $Id: footer.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/header.php 0.763/header.php
--- 0.762/header.php	2005-02-04 00:30:16.000000000 -0600
+++ 0.763/header.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: header.php,v 1.31 2005/02/04 06:30:16 jorg Exp $
+// File: $Id: header.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/banners.php 0.763/includes/blocks/banners.php
--- 0.762/includes/blocks/banners.php	2005-07-31 11:05:03.000000000 -0500
+++ 0.763/includes/blocks/banners.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?PHP
-// File: $Id: banners.php,v 1.15 2005/07/31 16:05:03 larsneo Exp $
+// File: $Id: banners.php 16576 2005-07-31 16:05:48Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/big.php 0.763/includes/blocks/big.php
--- 0.762/includes/blocks/big.php	2005-02-04 00:30:17.000000000 -0600
+++ 0.763/includes/blocks/big.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: big.php,v 1.12 2005/02/04 06:30:17 jorg Exp $
+// File: $Id: big.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/button.php 0.763/includes/blocks/button.php
--- 0.762/includes/blocks/button.php	2005-12-20 03:15:52.000000000 -0600
+++ 0.763/includes/blocks/button.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: button.php,v 1.14 2005/12/20 09:15:52 markwest Exp $
+// File: $Id: button.php 17347 2005-12-20 09:15:52Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/category.php 0.763/includes/blocks/category.php
--- 0.762/includes/blocks/category.php	2005-08-15 05:22:38.000000000 -0500
+++ 0.763/includes/blocks/category.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: category.php,v 1.15 2005/08/15 10:22:38 landseer Exp $
+// File: $Id: category.php 16638 2005-08-15 10:22:38Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/finclude.php 0.763/includes/blocks/finclude.php
--- 0.762/includes/blocks/finclude.php	2005-07-30 09:23:41.000000000 -0500
+++ 0.763/includes/blocks/finclude.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: finclude.php,v 1.11 2005/07/30 14:23:41 chestnut Exp $
+// File: $Id: finclude.php 16572 2005-07-30 14:23:41Z chestnut $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/fxp.php 0.763/includes/blocks/fxp.php
--- 0.762/includes/blocks/fxp.php	2005-06-06 15:30:10.000000000 -0500
+++ 0.763/includes/blocks/fxp.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: fxp.php,v 1.17 2005/06/06 20:30:10 markwest Exp $
+// File: $Id: fxp.php 16305 2005-06-06 20:30:10Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/html.php 0.763/includes/blocks/html.php
--- 0.762/includes/blocks/html.php	2004-08-23 10:59:13.000000000 -0500
+++ 0.763/includes/blocks/html.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: html.php,v 1.5 2004/08/23 15:59:13 markwest Exp $
+// $Id: html.php 14437 2004-08-23 15:59:13Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/login.php 0.763/includes/blocks/login.php
--- 0.762/includes/blocks/login.php	2005-10-19 10:55:38.000000000 -0500
+++ 0.763/includes/blocks/login.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: login.php,v 1.29 2005/10/19 15:55:38 markwest Exp $
+// File: $Id: login.php 19381 2006-07-07 11:14:05Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -55,7 +55,7 @@
     }
 
 	// get the current uri so we can return the user to the correct place
-	$path = pnGetCurrentURI();
+	$path = pnGetCurrentURL();
 
     if (!pnUserLoggedIn()) {
     // prettified a little with a table for inputs and button to avoid bugs like #493456 (Andy Varganov)
diff -ruN 0.762/includes/blocks/menu.php 0.763/includes/blocks/menu.php
--- 0.762/includes/blocks/menu.php	2005-11-10 13:37:37.000000000 -0600
+++ 0.763/includes/blocks/menu.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: menu.php,v 1.39 2005/11/10 19:37:37 hammerhead Exp $
+// File: $Id: menu.php 19274 2006-06-23 13:36:42Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -88,7 +88,7 @@
         foreach ($contentlines as $contentline) {
             list($url, $title, $comment) = explode('|', $contentline);
             if (pnSecAuthAction(0, 'Menublock::', "$row[title]:$title:", ACCESS_READ)) {
-                $block['content'] .= addMenuStyledUrl($vars['style'], pnVarPrepHTMLDisplay($title), pnVarPrepForDisplay($url), pnVarPrepHTMLDisplay($comment));
+                $block['content'] .= addMenuStyledUrl($vars['style'], $title, $url, $comment);
                 $content = 1;
             }
         }
@@ -110,16 +110,16 @@
                         switch($mod['type']) {
                             case 1:
                                 $block['content'] .= addMenuStyledUrl($vars['style'], 
-                                                                      pnVarPrepHTMLDisplay($mod['displayname']), 
-                                                                      'index.php?name='.pnVarPrepForDisplay($mod['directory']), 
-                                                                      pnVarPrepHTMLDisplay($mod['description']));
+                                                                      $mod['displayname'], 
+                                                                      'index.php?name='.$mod['directory'], 
+                                                                      $mod['description']);
                                 $content = 1;
                                 break;
                             case 2:
                                 $block['content'] .= addMenuStyledUrl($vars['style'],
-                                                                      pnVarPrepHTMLDisplay($mod['displayname']),
-                                                                      pnVarPrepForDisplay(pnModURL($mod['name'], 'user', 'main')),
-                                                                      pnVarPrepHTMLDisplay($mod['description']));
+                                                                      $mod['displayname'],
+                                                                      pnModURL($mod['name'], 'user', 'main'),
+                                                                      $mod['description']);
                                 $content = 1;
                                 break;
 		    			}
@@ -379,7 +379,7 @@
                 break;
             }
         }  // End Bracket Linking
-            $content = "<li><a href=\"$url\" title=\"$comment\">$name</a></li>\n";
+            $content = '<li><a href="'.pnVarPrepForDisplay($url).'" title="'.pnVarPrepHTMLDisplay($comment).'">'.pnVarPrepHTMLDisplay($name).'</a></li>'."\n";
         }
     } else if ($style == 2) {
         // Drop-down lilst
@@ -408,7 +408,7 @@
                 break;
             }
         } // End bracket linking.
-            $content = "<option value=\"$url\">$name</option>\n";
+            $content = '<option value="'.pnVarPrepForDisplay($url).'">'.pnVarPrepHTMLDisplay($name).'</option>'."\n";
         }
     }
 
diff -ruN 0.762/includes/blocks/online.php 0.763/includes/blocks/online.php
--- 0.762/includes/blocks/online.php	2005-07-26 13:26:23.000000000 -0500
+++ 0.763/includes/blocks/online.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: online.php,v 1.25 2005/07/26 18:26:23 larsneo Exp $
+// File: $Id: online.php 16522 2005-07-26 18:26:23Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/past.php 0.763/includes/blocks/past.php
--- 0.762/includes/blocks/past.php	2005-02-20 08:37:56.000000000 -0600
+++ 0.763/includes/blocks/past.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: past.php,v 1.26 2005/02/20 14:37:56 larsneo Exp $
+// File: $Id: past.php 15768 2005-02-20 14:37:56Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/php.php 0.763/includes/blocks/php.php
--- 0.762/includes/blocks/php.php	2005-02-04 00:30:17.000000000 -0600
+++ 0.763/includes/blocks/php.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: php.php,v 1.6 2005/02/04 06:30:17 jorg Exp $
+// File: $Id: php.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/poll.php 0.763/includes/blocks/poll.php
--- 0.762/includes/blocks/poll.php	2005-11-04 03:07:41.000000000 -0600
+++ 0.763/includes/blocks/poll.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: poll.php,v 1.43 2005/11/04 09:07:41 markwest Exp $
+// File: $Id: poll.php 16980 2005-11-04 09:07:41Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/related.php 0.763/includes/blocks/related.php
--- 0.762/includes/blocks/related.php	2005-02-04 00:30:17.000000000 -0600
+++ 0.763/includes/blocks/related.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: related.php,v 1.15 2005/02/04 06:30:17 jorg Exp $
+// File: $Id: related.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/rss.php 0.763/includes/blocks/rss.php
--- 0.762/includes/blocks/rss.php	2005-02-04 00:30:17.000000000 -0600
+++ 0.763/includes/blocks/rss.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: rss.php,v 1.19 2005/02/04 06:30:17 jorg Exp $
+// File: $Id: rss.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/rss2.php 0.763/includes/blocks/rss2.php
--- 0.762/includes/blocks/rss2.php	2005-02-04 00:30:17.000000000 -0600
+++ 0.763/includes/blocks/rss2.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: rss2.php,v 1.15 2005/02/04 06:30:17 jorg Exp $
+// File: $Id: rss2.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/search.php 0.763/includes/blocks/search.php
--- 0.762/includes/blocks/search.php	2005-07-23 20:52:11.000000000 -0500
+++ 0.763/includes/blocks/search.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: search.php,v 1.14 2005/07/24 01:52:11 markwest Exp $
+// File: $Id: search.php 16485 2005-07-24 01:52:11Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/stories.php 0.763/includes/blocks/stories.php
--- 0.762/includes/blocks/stories.php	2005-07-20 03:22:32.000000000 -0500
+++ 0.763/includes/blocks/stories.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: stories.php,v 1.27 2005/07/20 08:22:32 larsneo Exp $
+// File: $Id: stories.php 16427 2005-07-20 08:22:32Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/text.php 0.763/includes/blocks/text.php
--- 0.762/includes/blocks/text.php	2005-07-31 11:11:48.000000000 -0500
+++ 0.763/includes/blocks/text.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: text.php,v 1.9 2005/07/31 16:11:48 larsneo Exp $
+// $Id: text.php 16577 2005-07-31 16:11:48Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/thelang.php 0.763/includes/blocks/thelang.php
--- 0.762/includes/blocks/thelang.php	2006-01-20 04:11:40.000000000 -0600
+++ 0.763/includes/blocks/thelang.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: thelang.php,v 1.16 2006/01/20 10:11:40 larsneo Exp $
+// File: $Id: thelang.php 17660 2006-01-20 10:11:40Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/topic.php 0.763/includes/blocks/topic.php
--- 0.762/includes/blocks/topic.php	2005-02-04 00:30:17.000000000 -0600
+++ 0.763/includes/blocks/topic.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: topic.php,v 1.18 2005/02/04 06:30:17 jorg Exp $
+// File: $Id: topic.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/blocks/user.php 0.763/includes/blocks/user.php
--- 0.762/includes/blocks/user.php	2005-08-09 16:27:35.000000000 -0500
+++ 0.763/includes/blocks/user.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: user.php,v 1.13 2005/08/09 21:27:35 markwest Exp $
+// File: $Id: user.php 20218 2006-10-08 11:37:42Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -55,14 +55,17 @@
 
     if ((pnUserLoggedIn()) && (pnUserGetVar('ublockon') == 1)) {
         $usercolumn = &$pntable['users_column'];
-		$usertable = $pntable['users'];
+        $usertable = $pntable['users'];
         $uid = pnUserGetVar('uid');
-		$query = "SELECT $usercolumn[ublock] FROM $usertable WHERE $usercolumn[uid]='".(int)pnVarPrepForStore($uid)."'";
+        $query = "SELECT $usercolumn[ublock] FROM $usertable WHERE $usercolumn[uid]='".(int)pnVarPrepForStore($uid)."'";
         $getblock =& $dbconn->Execute($query);
         list($ublock) = $getblock->fields;
 
-        $username = pnUserGetVar('name');
-        $row['title'] = _MENUFOR.' '.pnVarPrepForDisplay($username);
+        if (pnUserGetVar('name') != '') {
+            $row['title'] = _MENUFOR.' '.pnVarPrepForDisplay(pnUserGetVar('name'));
+        } else {
+            $row['title'] = _MENUFOR.' '.pnVarPrepForDisplay(pnUserGetVar('uname'));
+        }
         $row['content'] = pnVarPrepHTMLDisplay($ublock);
         return themesideblock($row);
     }
diff -ruN 0.762/includes/blocks/weblinks.php 0.763/includes/blocks/weblinks.php
--- 0.762/includes/blocks/weblinks.php	2005-02-04 00:30:17.000000000 -0600
+++ 0.763/includes/blocks/weblinks.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: weblinks.php,v 1.18 2005/02/04 06:30:17 jorg Exp $
+// File: $Id: weblinks.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/classes/Smarty/Config_File.class.php 0.763/includes/classes/Smarty/Config_File.class.php
--- 0.762/includes/classes/Smarty/Config_File.class.php	2005-08-06 03:43:02.000000000 -0500
+++ 0.763/includes/classes/Smarty/Config_File.class.php	2006-10-17 16:24:09.000000000 -0500
@@ -18,14 +18,14 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  * @link http://smarty.php.net/
- * @version 2.6.10
+ * @version 2.6.14
  * @copyright Copyright: 2001-2005 New Digital Group, Inc.
  * @author Andrei Zmievski <andrei@php.net>
  * @access public
  * @package Smarty
  */
 
-/* $Id: Config_File.class.php,v 1.80 2005/07/18 15:22:41 messju Exp $ */
+/* $Id: Config_File.class.php,v 1.84 2006/01/18 19:02:52 mohrt Exp $ */
 
 /**
  * Config file reading class
@@ -285,9 +285,9 @@
             $line = $lines[$i];
             if (empty($line)) continue;
 
-            if ( $line{0} == '[' && preg_match('!^\[(.*?)\]!', $line, $match) ) {
+            if ( substr($line, 0, 1) == '[' && preg_match('!^\[(.*?)\]!', $line, $match) ) {
                 /* section found */
-                if ($match[1]{0} == '.') {
+                if (substr($match[1], 0, 1) == '.') {
                     /* hidden section */
                     if ($this->read_hidden) {
                         $section_name = substr($match[1], 1);
@@ -347,7 +347,7 @@
      */
     function _set_config_var(&$container, $var_name, $var_value, $booleanize)
     {
-        if ($var_name{0} == '.') {
+        if (substr($var_name, 0, 1) == '.') {
             if (!$this->read_hidden)
                 return;
             else
diff -ruN 0.762/includes/classes/Smarty/Smarty.class.php 0.763/includes/classes/Smarty/Smarty.class.php
--- 0.762/includes/classes/Smarty/Smarty.class.php	2005-08-06 03:43:02.000000000 -0500
+++ 0.763/includes/classes/Smarty/Smarty.class.php	2006-10-17 16:24:09.000000000 -0500
@@ -27,10 +27,10 @@
  * @author Monte Ohrt <monte at ohrt dot com>
  * @author Andrei Zmievski <andrei@php.net>
  * @package Smarty
- * @version 2.6.10
+ * @version 2.6.14
  */
 
-/* $Id: Smarty.class.php,v 1.516 2005/07/18 08:43:53 messju Exp $ */
+/* $Id: Smarty.class.php,v 1.524 2006/01/18 19:02:52 mohrt Exp $ */
 
 /**
  * DIR_SEP isn't used anymore, but third party apps might
@@ -464,7 +464,7 @@
      *
      * @var string
      */
-    var $_version              = '2.6.10';
+    var $_version              = '2.6.14';
 
     /**
      * current template inclusion depth
@@ -1055,9 +1055,12 @@
     {
         if(!isset($name)) {
             return $this->_tpl_vars;
-        }
-        if(isset($this->_tpl_vars[$name])) {
+        } elseif(isset($this->_tpl_vars[$name])) {
             return $this->_tpl_vars[$name];
+        } else {
+            // var non-existant, return valid reference
+            $_tmp = null;
+            return $_tmp;   
         }
     }
 
@@ -1074,6 +1077,10 @@
             return $this->_config[0]['vars'];
         } else if(isset($this->_config[0]['vars'][$name])) {
             return $this->_config[0]['vars'][$name];
+        } else {
+            // var non-existant, return valid reference
+            $_tmp = null;
+            return $_tmp;
         }
     }
 
@@ -1691,8 +1698,8 @@
      */
     function _dequote($string)
     {
-        if (($string{0} == "'" || $string{0} == '"') &&
-            $string{strlen($string)-1} == $string{0})
+        if ((substr($string, 0, 1) == "'" || substr($string, 0, 1) == '"') &&
+            substr($string, -1) == substr($string, 0, 1))
             return substr($string, 1, -1);
         else
             return $string;
@@ -1708,7 +1715,10 @@
     function _read_file($filename)
     {
         if ( file_exists($filename) && ($fd = @fopen($filename, 'rb')) ) {
-            $contents = ($size = filesize($filename)) ? fread($fd, $size) : '';
+            $contents = '';
+            while (!feof($fd)) {
+                $contents .= fread($fd, 8192);
+            }
             fclose($fd);
             return $contents;
         } else {
diff -ruN 0.762/includes/classes/Smarty/Smarty_Compiler.class.php 0.763/includes/classes/Smarty/Smarty_Compiler.class.php
--- 0.762/includes/classes/Smarty/Smarty_Compiler.class.php	2005-08-06 03:43:02.000000000 -0500
+++ 0.763/includes/classes/Smarty/Smarty_Compiler.class.php	2006-10-17 16:24:09.000000000 -0500
@@ -21,12 +21,12 @@
  * @link http://smarty.php.net/
  * @author Monte Ohrt <monte at ohrt dot com>
  * @author Andrei Zmievski <andrei@php.net>
- * @version 2.6.10
+ * @version 2.6.14
  * @copyright 2001-2005 New Digital Group, Inc.
  * @package Smarty
  */
 
-/* $Id: Smarty_Compiler.class.php,v 1.370 2005/08/04 19:43:21 messju Exp $ */
+/* $Id: Smarty_Compiler.class.php,v 1.381 2006/05/25 14:46:18 boots Exp $ */
 
 /**
  * Template compiling class
@@ -240,6 +240,9 @@
         $ldq = preg_quote($this->left_delimiter, '~');
         $rdq = preg_quote($this->right_delimiter, '~');
 
+        /* un-hide hidden xml open tags  */
+        $source_content = preg_replace("~<({$ldq}(.*?){$rdq})[?]~s", '< \\1', $source_content);
+
         // run template source through prefilter functions
         if (count($this->_plugins['prefilter']) > 0) {
             foreach ($this->_plugins['prefilter'] as $filter_name => $prefilter) {
@@ -361,7 +364,7 @@
         $compiled_content .= $text_blocks[$i];
 
         // remove \n from the end of the file, if any
-        if (($_len=strlen($compiled_content)) && ($compiled_content{$_len - 1} == "\n" )) {
+        if (strlen($compiled_content) && (substr($compiled_content, -1) == "\n") ) {
             $compiled_content = substr($compiled_content, 0, -1);
         }
 
@@ -425,7 +428,7 @@
     function _compile_tag($template_tag)
     {
         /* Matched comment. */
-        if ($template_tag{0} == '*' && $template_tag{strlen($template_tag) - 1} == '*')
+        if (substr($template_tag, 0, 1) == '*' && substr($template_tag, -1) == '*')
             return '';
         
         /* Split tag into two three parts: command, command modifiers and the arguments. */
@@ -529,7 +532,7 @@
 
             case 'strip':
             case '/strip':
-                if ($tag_command{0}=='/') {
+                if (substr($tag_command, 0, 1)=='/') {
                     $this->_pop_tag('strip');
                     if (--$this->_strip_depth==0) { /* outermost closing {/strip} */
                         $this->_additional_newline = "\n";
@@ -664,7 +667,7 @@
      */
     function _compile_block_tag($tag_command, $tag_args, $tag_modifier, &$output)
     {
-        if ($tag_command{0} == '/') {
+        if (substr($tag_command, 0, 1) == '/') {
             $start_tag = false;
             $tag_command = substr($tag_command, 1);
         } else
@@ -726,17 +729,18 @@
         if ($start_tag) {
             $output = '<?php ' . $this->_push_cacheable_state('block', $tag_command);
             $attrs = $this->_parse_attrs($tag_args);
-            $arg_list = $this->_compile_arg_list('block', $tag_command, $attrs, $_cache_attrs='');
+            $_cache_attrs='';
+            $arg_list = $this->_compile_arg_list('block', $tag_command, $attrs, $_cache_attrs);
             $output .= "$_cache_attrs\$this->_tag_stack[] = array('$tag_command', array(".implode(',', $arg_list).')); ';
-            $output .= $this->_compile_plugin_call('block', $tag_command).'($this->_tag_stack[count($this->_tag_stack)-1][1], null, $this, $_block_repeat=true);';
+            $output .= '$_block_repeat=true;' . $this->_compile_plugin_call('block', $tag_command).'($this->_tag_stack[count($this->_tag_stack)-1][1], null, $this, $_block_repeat);';
             $output .= 'while ($_block_repeat) { ob_start(); ?>';
         } else {
             $output = '<?php $_block_content = ob_get_contents(); ob_end_clean(); ';
-            $_out_tag_text = $this->_compile_plugin_call('block', $tag_command).'($this->_tag_stack[count($this->_tag_stack)-1][1], $_block_content, $this, $_block_repeat=false)';
+            $_out_tag_text = $this->_compile_plugin_call('block', $tag_command).'($this->_tag_stack[count($this->_tag_stack)-1][1], $_block_content, $this, $_block_repeat)';
             if ($tag_modifier != '') {
                 $this->_parse_modifiers($_out_tag_text, $tag_modifier);
             }
-            $output .= 'echo '.$_out_tag_text.'; } ';
+            $output .= '$_block_repeat=false;echo ' . $_out_tag_text . '; } ';
             $output .= " array_pop(\$this->_tag_stack); " . $this->_pop_cacheable_state('block', $tag_command) . '?>';
         }
 
@@ -801,7 +805,8 @@
 
         $_cacheable_state = $this->_push_cacheable_state('function', $tag_command);
         $attrs = $this->_parse_attrs($tag_args);
-        $arg_list = $this->_compile_arg_list('function', $tag_command, $attrs, $_cache_attrs='');
+        $_cache_attrs = '';
+        $arg_list = $this->_compile_arg_list('function', $tag_command, $attrs, $_cache_attrs);
 
         $output = $this->_compile_plugin_call('function', $tag_command).'(array('.implode(',', $arg_list)."), \$this)";
         if($tag_modifier != '') {
@@ -826,7 +831,7 @@
      */
     function _compile_registered_object_tag($tag_command, $attrs, $tag_modifier)
     {
-        if ($tag_command{0} == '/') {
+        if (substr($tag_command, 0, 1) == '/') {
             $start_tag = false;
             $tag_command = substr($tag_command, 1);
         } else {
@@ -874,13 +879,13 @@
                 // block method
                 if ($start_tag) {
                     $prefix = "\$this->_tag_stack[] = array('$obj_comp', $args); ";
-                    $prefix .= "\$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], null, \$this, \$_block_repeat=true); ";
+                    $prefix .= "\$_block_repeat=true; \$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], null, \$this, \$_block_repeat); ";
                     $prefix .= "while (\$_block_repeat) { ob_start();";
                     $return = null;
                     $postfix = '';
-            } else {
-                    $prefix = "\$_obj_block_content = ob_get_contents(); ob_end_clean(); ";
-                    $return = "\$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], \$_obj_block_content, \$this, \$_block_repeat=false)";
+                } else {
+                    $prefix = "\$_obj_block_content = ob_get_contents(); ob_end_clean(); \$_block_repeat=false;";
+                    $return = "\$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], \$_obj_block_content, \$this, \$_block_repeat)";
                     $postfix = "} array_pop(\$this->_tag_stack);";
                 }
             } else {
@@ -1251,7 +1256,7 @@
         $tokens = $match[0];
 
         if(empty($tokens)) {
-            $_error_msg .= $elseif ? "'elseif'" : "'if'";
+            $_error_msg = $elseif ? "'elseif'" : "'if'";
             $_error_msg .= ' statement requires arguments'; 
             $this->_syntax_error($_error_msg, E_USER_ERROR, __FILE__, __LINE__);
         }
@@ -1379,7 +1384,7 @@
                                !in_array($token, $this->security_settings['IF_FUNCS'])) {
                                 $this->_syntax_error("(secure mode) '$token' not allowed in if statement", E_USER_ERROR, __FILE__, __LINE__);
                             }
-                    } elseif(preg_match('~^' . $this->_var_regexp . '$~', $token) && isset($tokens[$i+1]) && $tokens[$i+1] == '(') {
+                    } elseif(preg_match('~^' . $this->_var_regexp . '$~', $token) && (strpos('+-*/^%&|', substr($token, -1)) === false) && isset($tokens[$i+1]) && $tokens[$i+1] == '(') {
                         // variable function call
                         $this->_syntax_error("variable function call '$token' not allowed in if statement", E_USER_ERROR, __FILE__, __LINE__);                      
                     } elseif(preg_match('~^' . $this->_obj_call_regexp . '|' . $this->_var_regexp . '(?:' . $this->_mod_regexp . '*)$~', $token)) {
@@ -1730,7 +1735,7 @@
         }
 
         // prevent cutting of first digit in the number (we _definitly_ got a number if the first char is a digit)
-        if(is_numeric($var_expr{0}))
+        if(is_numeric(substr($var_expr, 0, 1)))
             $_var_ref = $var_expr;
         else
             $_var_ref = substr($var_expr, 1);
@@ -1756,7 +1761,7 @@
                     $_var_name = substr(array_shift($_indexes), 1);
                     $_output = "\$this->_smarty_vars['$_var_name']";
                 }
-            } elseif(is_numeric($_var_name) && is_numeric($var_expr{0})) {
+            } elseif(is_numeric($_var_name) && is_numeric(substr($var_expr, 0, 1))) {
                 // because . is the operator for accessing arrays thru inidizes we need to put it together again for floating point numbers
                 if(count($_indexes) > 0)
                 {
@@ -1769,11 +1774,11 @@
             }
 
             foreach ($_indexes as $_index) {
-                if ($_index{0} == '[') {
+                if (substr($_index, 0, 1) == '[') {
                     $_index = substr($_index, 1, -1);
                     if (is_numeric($_index)) {
                         $_output .= "[$_index]";
-                    } elseif ($_index{0} == '$') {
+                    } elseif (substr($_index, 0, 1) == '$') {
                         if (strpos($_index, '.') !== false) {
                             $_output .= '[' . $this->_parse_var($_index) . ']';
                         } else {
@@ -1785,8 +1790,8 @@
                         $_var_section_prop = isset($_var_parts[1]) ? $_var_parts[1] : 'index';
                         $_output .= "[\$this->_sections['$_var_section']['$_var_section_prop']]";
                     }
-                } else if ($_index{0} == '.') {
-                    if ($_index{1} == '$')
+                } else if (substr($_index, 0, 1) == '.') {
+                    if (substr($_index, 1, 1) == '$')
                         $_output .= "[\$this->_tpl_vars['" . substr($_index, 2) . "']]";
                     else
                         $_output .= "['" . substr($_index, 1) . "']";
@@ -1795,7 +1800,7 @@
                         $this->_syntax_error('call to internal object members is not allowed', E_USER_ERROR, __FILE__, __LINE__);
                     } elseif($this->security && substr($_index, 2, 1) == '_') {
                         $this->_syntax_error('(secure) call to private object member is not allowed', E_USER_ERROR, __FILE__, __LINE__);
-                    } elseif ($_index{2} == '$') {
+                    } elseif (substr($_index, 2, 1) == '$') {
                         if ($this->security) {
                             $this->_syntax_error('(secure) call to dynamic object member is not allowed', E_USER_ERROR, __FILE__, __LINE__);
                         } else {
@@ -1804,7 +1809,7 @@
                     } else {
                         $_output .= $_index;
                     }
-                } elseif ($_index{0} == '(') {
+                } elseif (substr($_index, 0, 1) == '(') {
                     $_index = $this->_parse_parenth_args($_index);
                     $_output .= $_index;
                 } else {
@@ -1901,7 +1906,7 @@
             preg_match_all('~:(' . $this->_qstr_regexp . '|[^:]+)~', $modifier_arg_strings[$_i], $_match);
             $_modifier_args = $_match[1];
 
-            if ($_modifier_name{0} == '@') {
+            if (substr($_modifier_name, 0, 1) == '@') {
                 $_map_array = false;
                 $_modifier_name = substr($_modifier_name, 1);
             } else {
@@ -1923,10 +1928,10 @@
 
             if($_modifier_name == 'default') {
                 // supress notifications of default modifier vars and args
-                if($output{0} == '$') {
+                if(substr($output, 0, 1) == '$') {
                     $output = '@' . $output;
                 }
-                if(isset($_modifier_args[0]) && $_modifier_args[0]{0} == '$') {
+                if(isset($_modifier_args[0]) && substr($_modifier_args[0], 0, 1) == '$') {
                     $_modifier_args[0] = '@' . $_modifier_args[0];
                 }
             }
@@ -1978,7 +1983,7 @@
         /* Extract the reference name. */
         $_ref = substr($indexes[0], 1);
         foreach($indexes as $_index_no=>$_index) {
-            if ($_index{0} != '.' && $_index_no<2 || !preg_match('~^(\.|\[|->)~', $_index)) {
+            if (substr($_index, 0, 1) != '.' && $_index_no<2 || !preg_match('~^(\.|\[|->)~', $_index)) {
                 $this->_syntax_error('$smarty' . implode('', array_slice($indexes, 0, 2)) . ' is an invalid reference', E_USER_ERROR, __FILE__, __LINE__);
             }
         }
@@ -2216,7 +2221,7 @@
         if (!isset($this->_cache_serial)) $this->_cache_serial = md5(uniqid('Smarty'));
         $_ret = 'if ($this->caching && !$this->_cache_including) { echo \'{nocache:'
             . $this->_cache_serial . '#' . $this->_nocache_count
-            . '}\';}';
+            . '}\'; };';
         return $_ret;
     }
 
@@ -2233,7 +2238,7 @@
             || --$this->_cacheable_state>0) return '';
         return 'if ($this->caching && !$this->_cache_including) { echo \'{/nocache:'
             . $this->_cache_serial . '#' . ($this->_nocache_count++)
-            . '}\';}';
+            . '}\'; };';
     }
 
 
diff -ruN 0.762/includes/classes/Smarty/internals/core.create_dir_structure.php 0.763/includes/classes/Smarty/internals/core.create_dir_structure.php
--- 0.762/includes/classes/Smarty/internals/core.create_dir_structure.php	2004-10-26 05:27:20.000000000 -0500
+++ 0.763/includes/classes/Smarty/internals/core.create_dir_structure.php	2006-10-17 16:24:09.000000000 -0500
@@ -22,7 +22,7 @@
             /* unix-style paths */
             $_dir = $params['dir'];
             $_dir_parts = preg_split('!/+!', $_dir, -1, PREG_SPLIT_NO_EMPTY);
-            $_new_dir = ($_dir{0}=='/') ? '/' : getcwd().'/';
+            $_new_dir = (substr($_dir, 0, 1)=='/') ? '/' : getcwd().'/';
             if($_use_open_basedir = !empty($_open_basedir_ini)) {
                 $_open_basedirs = explode(':', $_open_basedir_ini);
             }
diff -ruN 0.762/includes/classes/Smarty/internals/core.is_secure.php 0.763/includes/classes/Smarty/internals/core.is_secure.php
--- 0.762/includes/classes/Smarty/internals/core.is_secure.php	2005-08-06 03:43:02.000000000 -0500
+++ 0.763/includes/classes/Smarty/internals/core.is_secure.php	2006-10-17 16:24:09.000000000 -0500
@@ -27,7 +27,7 @@
             foreach ((array)$params['resource_base_path'] as $curr_dir) {
                 if ( ($_cd = realpath($curr_dir)) !== false &&
                      strncmp($_rp, $_cd, strlen($_cd)) == 0 &&
-                     $_rp{strlen($_cd)} == DIRECTORY_SEPARATOR ) {
+                     substr($_rp, strlen($_cd), 1) == DIRECTORY_SEPARATOR ) {
                     return true;
                 }
             }
@@ -35,10 +35,10 @@
         if (!empty($smarty->secure_dir)) {
             foreach ((array)$smarty->secure_dir as $curr_dir) {
                 if ( ($_cd = realpath($curr_dir)) !== false) {
-                    if( strncmp($_rp, $_cd, strlen($_cd)) == 0 &&
-                     $_rp{strlen($_cd)} == DIRECTORY_SEPARATOR ) {
+                    if($_cd == $_rp) {
                         return true;
-                    } elseif ($_cd == $_rp) {
+                    } elseif (strncmp($_rp, $_cd, strlen($_cd)) == 0 &&
+                        substr($_rp, strlen($_cd), 1) == DIRECTORY_SEPARATOR) {
                         return true;
                     }
                 }
diff -ruN 0.762/includes/classes/Smarty/internals/core.is_trusted.php 0.763/includes/classes/Smarty/internals/core.is_trusted.php
--- 0.762/includes/classes/Smarty/internals/core.is_trusted.php	2004-10-26 05:27:20.000000000 -0500
+++ 0.763/includes/classes/Smarty/internals/core.is_trusted.php	2006-10-17 16:24:09.000000000 -0500
@@ -25,7 +25,7 @@
                 if (!empty($curr_dir) && is_readable ($curr_dir)) {
                     $_cd = realpath($curr_dir);
                     if (strncmp($_rp, $_cd, strlen($_cd)) == 0
-                        && $_rp{strlen($_cd)} == DIRECTORY_SEPARATOR ) {
+                        && substr($_rp, strlen($_cd), 1) == DIRECTORY_SEPARATOR ) {
                         $_smarty_trusted = true;
                         break;
                     }
diff -ruN 0.762/includes/classes/Smarty/internals/core.process_cached_inserts.php 0.763/includes/classes/Smarty/internals/core.process_cached_inserts.php
--- 0.762/includes/classes/Smarty/internals/core.process_cached_inserts.php	2004-10-26 05:27:20.000000000 -0500
+++ 0.763/includes/classes/Smarty/internals/core.process_cached_inserts.php	2006-10-17 16:24:09.000000000 -0500
@@ -52,7 +52,7 @@
             $replace = '';
         }
 
-        $params['results'] = str_replace($cached_inserts[$i], $replace, $params['results']);
+        $params['results'] = substr_replace($params['results'], $replace, strpos($params['results'], $cached_inserts[$i]), strlen($cached_inserts[$i]));
         if ($smarty->debugging) {
             $_params = array();
             require_once(SMARTY_CORE_DIR . 'core.get_microtime.php');
diff -ruN 0.762/includes/classes/Smarty/internals/core.write_compiled_include.php 0.763/includes/classes/Smarty/internals/core.write_compiled_include.php
--- 0.762/includes/classes/Smarty/internals/core.write_compiled_include.php	2005-02-04 03:29:11.000000000 -0600
+++ 0.763/includes/classes/Smarty/internals/core.write_compiled_include.php	2006-10-17 16:24:09.000000000 -0500
@@ -15,8 +15,8 @@
 
 function smarty_core_write_compiled_include($params, &$smarty)
 {
-    $_tag_start = 'if \(\$this->caching && \!\$this->_cache_including\) \{ echo \'\{nocache\:('.$params['cache_serial'].')#(\d+)\}\';\}';
-    $_tag_end   = 'if \(\$this->caching && \!\$this->_cache_including\) \{ echo \'\{/nocache\:(\\2)#(\\3)\}\';\}';
+    $_tag_start = 'if \(\$this->caching && \!\$this->_cache_including\) \{ echo \'\{nocache\:('.$params['cache_serial'].')#(\d+)\}\'; \};';
+    $_tag_end   = 'if \(\$this->caching && \!\$this->_cache_including\) \{ echo \'\{/nocache\:(\\2)#(\\3)\}\'; \};';
 
     preg_match_all('!('.$_tag_start.'(.*)'.$_tag_end.')!Us',
                    $params['compiled_content'], $_match_source, PREG_SET_ORDER);
diff -ruN 0.762/includes/classes/Smarty/plugins/block.textformat.php 0.763/includes/classes/Smarty/plugins/block.textformat.php
--- 0.762/includes/classes/Smarty/plugins/block.textformat.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/block.textformat.php	2006-10-17 16:24:09.000000000 -0500
@@ -23,6 +23,7 @@
  *           indent_char: string (" ")
  *           wrap_boundary: boolean (true)
  * </pre>
+ * @author Monte Ohrt <monte at ohrt dot com>
  * @param string contents of the block
  * @param Smarty clever simulation of a method
  * @return string string $content re-formatted
diff -ruN 0.762/includes/classes/Smarty/plugins/compiler.assign.php 0.763/includes/classes/Smarty/plugins/compiler.assign.php
--- 0.762/includes/classes/Smarty/plugins/compiler.assign.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/compiler.assign.php	2006-10-17 16:24:08.000000000 -0500
@@ -13,6 +13,8 @@
  * Purpose:  assign a value to a template variable
  * @link http://smarty.php.net/manual/en/language.custom.functions.php#LANGUAGE.FUNCTION.ASSIGN {assign}
  *       (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com> (initial author)
+ * @auther messju mohr <messju at lammfellpuschen dot de> (conversion to compiler function)
  * @param string containing var-attribute and value-attribute
  * @param Smarty_Compiler
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/function.assign_debug_info.php 0.763/includes/classes/Smarty/plugins/function.assign_debug_info.php
--- 0.762/includes/classes/Smarty/plugins/function.assign_debug_info.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/function.assign_debug_info.php	2006-10-17 16:24:08.000000000 -0500
@@ -11,6 +11,7 @@
  * Type:     function<br>
  * Name:     assign_debug_info<br>
  * Purpose:  assign debug info to the template<br>
+ * @author Monte Ohrt <monte at ohrt dot com>
  * @param array unused in this plugin, this plugin uses {@link Smarty::$_config},
  *              {@link Smarty::$_tpl_vars} and {@link Smarty::$_smarty_debug_info}
  * @param Smarty
diff -ruN 0.762/includes/classes/Smarty/plugins/function.config_load.php 0.763/includes/classes/Smarty/plugins/function.config_load.php
--- 0.762/includes/classes/Smarty/plugins/function.config_load.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/function.config_load.php	2006-10-17 16:24:08.000000000 -0500
@@ -13,6 +13,8 @@
  * Purpose:  load config file vars
  * @link http://smarty.php.net/manual/en/language.function.config.load.php {config_load}
  *       (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author messju mohr <messju at lammfellpuschen dot de> (added use of resources)
  * @param array Format:
  * <pre>
  * array('file' => required config file name,
diff -ruN 0.762/includes/classes/Smarty/plugins/function.counter.php 0.763/includes/classes/Smarty/plugins/function.counter.php
--- 0.762/includes/classes/Smarty/plugins/function.counter.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/function.counter.php	2006-10-17 16:24:08.000000000 -0500
@@ -12,6 +12,7 @@
  * Type:     function<br>
  * Name:     counter<br>
  * Purpose:  print out a counter value
+ * @author Monte Ohrt <monte at ohrt dot com>
  * @link http://smarty.php.net/manual/en/language.function.counter.php {counter}
  *       (Smarty online manual)
  * @param array parameters
diff -ruN 0.762/includes/classes/Smarty/plugins/function.eval.php 0.763/includes/classes/Smarty/plugins/function.eval.php
--- 0.762/includes/classes/Smarty/plugins/function.eval.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/function.eval.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  evaluate a template variable as a template<br>
  * @link http://smarty.php.net/manual/en/language.function.eval.php {eval}
  *       (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
  * @param array
  * @param Smarty
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/function.fetch.php 0.763/includes/classes/Smarty/plugins/function.fetch.php
--- 0.762/includes/classes/Smarty/plugins/function.fetch.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/function.fetch.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  fetch file, web or ftp data and display results
  * @link http://smarty.php.net/manual/en/language.function.fetch.php {fetch}
  *       (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
  * @param array
  * @param Smarty
  * @return string|null if the assign parameter is passed, Smarty assigns the
diff -ruN 0.762/includes/classes/Smarty/plugins/function.html_image.php 0.763/includes/classes/Smarty/plugins/function.html_image.php
--- 0.762/includes/classes/Smarty/plugins/function.html_image.php	2005-02-04 03:29:11.000000000 -0600
+++ 0.763/includes/classes/Smarty/plugins/function.html_image.php	2006-10-17 16:24:08.000000000 -0500
@@ -19,9 +19,10 @@
  *         - width = image width (optional, default actual width)
  *         - basedir = base directory for absolute paths, default
  *                     is environment variable DOCUMENT_ROOT
+ *         - path_prefix = prefix for path output (optional, default empty)
  *
- * Examples: {html_image file="images/masthead.gif"}
- * Output:   <img src="images/masthead.gif" width=400 height=23>
+ * Examples: {html_image file="/images/masthead.gif"}
+ * Output:   <img src="/images/masthead.gif" width=400 height=23>
  * @link http://smarty.php.net/manual/en/language.function.html.image.php {html_image}
  *      (Smarty online manual)
  * @author   Monte Ohrt <monte at ohrt dot com>
@@ -44,6 +45,7 @@
     $extra = '';
     $prefix = '';
     $suffix = '';
+    $path_prefix = '';
     $server_vars = ($smarty->request_use_auto_globals) ? $_SERVER : $GLOBALS['HTTP_SERVER_VARS'];
     $basedir = isset($server_vars['DOCUMENT_ROOT']) ? $server_vars['DOCUMENT_ROOT'] : '';
     foreach($params as $_key => $_val) {
@@ -52,6 +54,7 @@
             case 'height':
             case 'width':
             case 'dpi':
+            case 'path_prefix':
             case 'basedir':
                 $$_key = $_val;
                 break;
@@ -90,15 +93,9 @@
     } else {
         $_image_path = $file;
     }
-
+    
     if(!isset($params['width']) || !isset($params['height'])) {
-        if ($smarty->security &&
-            ($_params = array('resource_type' => 'file', 'resource_name' => $_image_path)) &&
-            (require_once(SMARTY_CORE_DIR . 'core.is_secure.php')) &&
-            (!smarty_core_is_secure($_params, $smarty)) ) {
-            $smarty->trigger_error("html_image: (secure) '$_image_path' not in secure directory", E_USER_NOTICE);
-
-        } elseif (!$_image_data = @getimagesize($_image_path)) {
+        if(!$_image_data = @getimagesize($_image_path)) {
             if(!file_exists($_image_path)) {
                 $smarty->trigger_error("html_image: unable to find '$_image_path'", E_USER_NOTICE);
                 return;
@@ -110,7 +107,13 @@
                 return;
             }
         }
-
+        if ($smarty->security &&
+            ($_params = array('resource_type' => 'file', 'resource_name' => $_image_path)) &&
+            (require_once(SMARTY_CORE_DIR . 'core.is_secure.php')) &&
+            (!smarty_core_is_secure($_params, $smarty)) ) {
+            $smarty->trigger_error("html_image: (secure) '$_image_path' not in secure directory", E_USER_NOTICE);
+        }        
+        
         if(!isset($params['width'])) {
             $width = $_image_data[0];
         }
@@ -131,7 +134,7 @@
         $height = round($height * $_resize);
     }
 
-    return $prefix . '<img src="'.$file.'" alt="'.$alt.'" width="'.$width.'" height="'.$height.'"'.$extra.' />' . $suffix;
+    return $prefix . '<img src="'.$path_prefix.$file.'" alt="'.$alt.'" width="'.$width.'" height="'.$height.'"'.$extra.' />' . $suffix;
 }
 
 /* vim: set expandtab: */
diff -ruN 0.762/includes/classes/Smarty/plugins/function.html_options.php 0.763/includes/classes/Smarty/plugins/function.html_options.php
--- 0.762/includes/classes/Smarty/plugins/function.html_options.php	2005-02-04 03:29:11.000000000 -0600
+++ 0.763/includes/classes/Smarty/plugins/function.html_options.php	2006-10-17 16:24:08.000000000 -0500
@@ -21,6 +21,7 @@
  *           the passed parameters
  * @link http://smarty.php.net/manual/en/language.function.html.options.php {html_image}
  *      (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
  * @param array
  * @param Smarty
  * @return string
diff -ruN 0.762/includes/classes/Smarty/plugins/function.html_select_date.php 0.763/includes/classes/Smarty/plugins/function.html_select_date.php
--- 0.762/includes/classes/Smarty/plugins/function.html_select_date.php	2005-08-06 03:43:03.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/function.html_select_date.php	2006-10-17 16:24:08.000000000 -0500
@@ -22,12 +22,13 @@
  *                month values (Gary Loescher)
  *           - 1.3.1 added support for choosing format for
  *                day values (Marcus Bointon)
- *           - 1.3.2 suppport negative timestamps, force year
+ *           - 1.3.2 support negative timestamps, force year
  *             dropdown to include given date unless explicitly set (Monte)
  * @link http://smarty.php.net/manual/en/language.function.html.select.date.php {html_select_date}
  *      (Smarty online manual)
  * @version 1.3.2
- * @author   Andrei Zmievski
+ * @author Andrei Zmievski
+ * @author Monte Ohrt <monte at ohrt dot com>
  * @param array
  * @param Smarty
  * @return string
diff -ruN 0.762/includes/classes/Smarty/plugins/function.html_select_time.php 0.763/includes/classes/Smarty/plugins/function.html_select_time.php
--- 0.762/includes/classes/Smarty/plugins/function.html_select_time.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/function.html_select_time.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,8 @@
  * Purpose:  Prints the dropdowns for time selection
  * @link http://smarty.php.net/manual/en/language.function.html.select.time.php {html_select_time}
  *          (Smarty online manual)
+ * @author Roberto Berto <roberto@berto.net>
+ * @credits Monte Ohrt <monte AT ohrt DOT com>
  * @param array
  * @param Smarty
  * @return string
diff -ruN 0.762/includes/classes/Smarty/plugins/function.math.php 0.763/includes/classes/Smarty/plugins/function.math.php
--- 0.762/includes/classes/Smarty/plugins/function.math.php	2005-04-01 07:52:02.000000000 -0600
+++ 0.763/includes/classes/Smarty/plugins/function.math.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  handle math computations in template<br>
  * @link http://smarty.php.net/manual/en/language.function.math.php {math}
  *          (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param array
  * @param Smarty
  * @return string
@@ -57,7 +58,7 @@
                 $smarty->trigger_error("math: parameter $key: is not numeric");
                 return;
             }
-            $equation = preg_replace("/\b$key\b/",$val, $equation);
+            $equation = preg_replace("/\b$key\b/", " \$params['$key'] ", $equation);
         }
     }
 
diff -ruN 0.762/includes/classes/Smarty/plugins/function.popup.php 0.763/includes/classes/Smarty/plugins/function.popup.php
--- 0.762/includes/classes/Smarty/plugins/function.popup.php	2005-02-04 03:29:11.000000000 -0600
+++ 0.763/includes/classes/Smarty/plugins/function.popup.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  make text pop up in windows via overlib
  * @link http://smarty.php.net/manual/en/language.function.popup.php {popup}
  *          (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param array
  * @param Smarty
  * @return string
@@ -88,6 +89,7 @@
             case 'vauto':
             case 'mouseoff':
             case 'followmouse':
+            case 'closeclick':
                 if ($_value) $append .= ',' . strtoupper($_key);
                 break;
 
diff -ruN 0.762/includes/classes/Smarty/plugins/function.popup_init.php 0.763/includes/classes/Smarty/plugins/function.popup_init.php
--- 0.762/includes/classes/Smarty/plugins/function.popup_init.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/function.popup_init.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  initialize overlib
  * @link http://smarty.php.net/manual/en/language.function.popup.init.php {popup_init}
  *          (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param array
  * @param Smarty
  * @return string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.capitalize.php 0.763/includes/classes/Smarty/plugins/modifier.capitalize.php
--- 0.762/includes/classes/Smarty/plugins/modifier.capitalize.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.capitalize.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  capitalize words in the string
  * @link http://smarty.php.net/manual/en/language.modifiers.php#LANGUAGE.MODIFIER.CAPITALIZE
  *      capitalize (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @return string
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.count_characters.php 0.763/includes/classes/Smarty/plugins/modifier.count_characters.php
--- 0.762/includes/classes/Smarty/plugins/modifier.count_characters.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.count_characters.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  count the number of characters in a text
  * @link http://smarty.php.net/manual/en/language.modifier.count.characters.php
  *          count_characters (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param boolean include whitespace in the character count
  * @return integer
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.count_paragraphs.php 0.763/includes/classes/Smarty/plugins/modifier.count_paragraphs.php
--- 0.762/includes/classes/Smarty/plugins/modifier.count_paragraphs.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.count_paragraphs.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  count the number of paragraphs in a text
  * @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
  *          count_paragraphs (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @return integer
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.count_sentences.php 0.763/includes/classes/Smarty/plugins/modifier.count_sentences.php
--- 0.762/includes/classes/Smarty/plugins/modifier.count_sentences.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.count_sentences.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  count the number of sentences in a text
  * @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
  *          count_sentences (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @return integer
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.count_words.php 0.763/includes/classes/Smarty/plugins/modifier.count_words.php
--- 0.762/includes/classes/Smarty/plugins/modifier.count_words.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.count_words.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  count the number of words in a text
  * @link http://smarty.php.net/manual/en/language.modifier.count.words.php
  *          count_words (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @return integer
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.date_format.php 0.763/includes/classes/Smarty/plugins/modifier.date_format.php
--- 0.762/includes/classes/Smarty/plugins/modifier.date_format.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.date_format.php	2006-10-17 16:24:08.000000000 -0500
@@ -21,6 +21,7 @@
  *         - default_date: default date if $string is empty
  * @link http://smarty.php.net/manual/en/language.modifier.date.format.php
  *          date_format (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param string
  * @param string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.debug_print_var.php 0.763/includes/classes/Smarty/plugins/modifier.debug_print_var.php
--- 0.762/includes/classes/Smarty/plugins/modifier.debug_print_var.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.debug_print_var.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  formats variable contents for display in the console
  * @link http://smarty.php.net/manual/en/language.modifier.debug.print.var.php
  *          debug_print_var (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param array|object
  * @param integer
  * @param integer
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.default.php 0.763/includes/classes/Smarty/plugins/modifier.default.php
--- 0.762/includes/classes/Smarty/plugins/modifier.default.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.default.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  designate default value for empty variables
  * @link http://smarty.php.net/manual/en/language.modifier.default.php
  *          default (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param string
  * @return string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.escape.php 0.763/includes/classes/Smarty/plugins/modifier.escape.php
--- 0.762/includes/classes/Smarty/plugins/modifier.escape.php	2005-02-04 03:29:11.000000000 -0600
+++ 0.763/includes/classes/Smarty/plugins/modifier.escape.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,22 +14,26 @@
  * Purpose:  Escape the string according to escapement type
  * @link http://smarty.php.net/manual/en/language.modifier.escape.php
  *          escape (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param html|htmlall|url|quotes|hex|hexentity|javascript
  * @return string
  */
-function smarty_modifier_escape($string, $esc_type = 'html')
+function smarty_modifier_escape($string, $esc_type = 'html', $char_set = 'ISO-8859-1')
 {
     switch ($esc_type) {
         case 'html':
-            return htmlspecialchars($string, ENT_QUOTES);
+            return htmlspecialchars($string, ENT_QUOTES, $char_set);
 
         case 'htmlall':
-            return htmlentities($string, ENT_QUOTES);
+            return htmlentities($string, ENT_QUOTES, $char_set);
 
         case 'url':
             return rawurlencode($string);
 
+        case 'urlpathinfo':
+            return str_replace('%2F','/',rawurlencode($string));
+            
         case 'quotes':
             // escape unescaped single quotes
             return preg_replace("%(?<!\\\\)'%", "\\'", $string);
@@ -68,13 +72,13 @@
            // escape non-standard chars, such as ms document quotes
            $_res = '';
            for($_i = 0, $_len = strlen($string); $_i < $_len; $_i++) {
-               $_ord = ord($string{$_i});
+               $_ord = ord(substr($string, $_i, 1));
                // non-standard char, escape it
                if($_ord >= 126){
                    $_res .= '&#' . $_ord . ';';
                }
                else {
-                   $_res .= $string{$_i};
+                   $_res .= substr($string, $_i, 1);
                }
            }
            return $_res;
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.indent.php 0.763/includes/classes/Smarty/plugins/modifier.indent.php
--- 0.762/includes/classes/Smarty/plugins/modifier.indent.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.indent.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  indent lines of text
  * @link http://smarty.php.net/manual/en/language.modifier.indent.php
  *          indent (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param integer
  * @param string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.lower.php 0.763/includes/classes/Smarty/plugins/modifier.lower.php
--- 0.762/includes/classes/Smarty/plugins/modifier.lower.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.lower.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  convert string to lowercase
  * @link http://smarty.php.net/manual/en/language.modifier.lower.php
  *          lower (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @return string
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.regex_replace.php 0.763/includes/classes/Smarty/plugins/modifier.regex_replace.php
--- 0.762/includes/classes/Smarty/plugins/modifier.regex_replace.php	2005-03-22 11:05:04.000000000 -0600
+++ 0.763/includes/classes/Smarty/plugins/modifier.regex_replace.php	2006-10-17 16:24:08.000000000 -0500
@@ -11,9 +11,10 @@
  *
  * Type:     modifier<br>
  * Name:     regex_replace<br>
- * Purpose:  regular epxression search/replace
+ * Purpose:  regular expression search/replace
  * @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php
  *          regex_replace (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param string|array
  * @param string|array
@@ -21,10 +22,11 @@
  */
 function smarty_modifier_regex_replace($string, $search, $replace)
 {
-    if (preg_match('!\W(\w+)$!s', $search, $match) && (strpos($match[1], 'e') !== false)) {
+    if (preg_match('!([a-zA-Z\s]+)$!s', $search, $match) && (strpos($match[1], 'e') !== false)) {
         /* remove eval-modifier from $search */
-        $search = substr($search, 0, -strlen($match[1])) . str_replace('e', '', $match[1]);
+        $search = substr($search, 0, -strlen($match[1])) . preg_replace('![e\s]+!', '', $match[1]);
     }
+       
     return preg_replace($search, $replace, $string);
 }
 
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.replace.php 0.763/includes/classes/Smarty/plugins/modifier.replace.php
--- 0.762/includes/classes/Smarty/plugins/modifier.replace.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.replace.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  simple search/replace
  * @link http://smarty.php.net/manual/en/language.modifier.replace.php
  *          replace (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param string
  * @param string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.spacify.php 0.763/includes/classes/Smarty/plugins/modifier.spacify.php
--- 0.762/includes/classes/Smarty/plugins/modifier.spacify.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.spacify.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  add spaces between characters in a string
  * @link http://smarty.php.net/manual/en/language.modifier.spacify.php
  *          spacify (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param string
  * @return string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.string_format.php 0.763/includes/classes/Smarty/plugins/modifier.string_format.php
--- 0.762/includes/classes/Smarty/plugins/modifier.string_format.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.string_format.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  format strings via sprintf
  * @link http://smarty.php.net/manual/en/language.modifier.string.format.php
  *          string_format (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param string
  * @return string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.strip_tags.php 0.763/includes/classes/Smarty/plugins/modifier.strip_tags.php
--- 0.762/includes/classes/Smarty/plugins/modifier.strip_tags.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.strip_tags.php	2006-10-17 16:24:08.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  strip html tags from text
  * @link http://smarty.php.net/manual/en/language.modifier.strip.tags.php
  *          strip_tags (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param boolean
  * @return string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.truncate.php 0.763/includes/classes/Smarty/plugins/modifier.truncate.php
--- 0.762/includes/classes/Smarty/plugins/modifier.truncate.php	2005-08-06 03:43:03.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.truncate.php	2006-10-17 16:24:08.000000000 -0500
@@ -16,6 +16,7 @@
  *           appending the $etc string or inserting $etc into the middle.
  * @link http://smarty.php.net/manual/en/language.modifier.truncate.php
  *          truncate (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param integer
  * @param string
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.upper.php 0.763/includes/classes/Smarty/plugins/modifier.upper.php
--- 0.762/includes/classes/Smarty/plugins/modifier.upper.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.upper.php	2006-10-17 16:24:09.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  convert string to uppercase
  * @link http://smarty.php.net/manual/en/language.modifier.upper.php
  *          upper (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @return string
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/modifier.wordwrap.php 0.763/includes/classes/Smarty/plugins/modifier.wordwrap.php
--- 0.762/includes/classes/Smarty/plugins/modifier.wordwrap.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/modifier.wordwrap.php	2006-10-17 16:24:09.000000000 -0500
@@ -14,6 +14,7 @@
  * Purpose:  wrap a string of text at a given length
  * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php
  *          wordwrap (Smarty online manual)
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @param integer
  * @param string
diff -ruN 0.762/includes/classes/Smarty/plugins/shared.escape_special_chars.php 0.763/includes/classes/Smarty/plugins/shared.escape_special_chars.php
--- 0.762/includes/classes/Smarty/plugins/shared.escape_special_chars.php	2004-10-26 05:27:19.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/shared.escape_special_chars.php	2006-10-17 16:24:09.000000000 -0500
@@ -12,6 +12,7 @@
  * Function: smarty_function_escape_special_chars<br>
  * Purpose:  used by other smarty functions to escape
  *           special chars except for already escaped ones
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @return string
  */
diff -ruN 0.762/includes/classes/Smarty/plugins/shared.make_timestamp.php 0.763/includes/classes/Smarty/plugins/shared.make_timestamp.php
--- 0.762/includes/classes/Smarty/plugins/shared.make_timestamp.php	2005-08-06 03:43:03.000000000 -0500
+++ 0.763/includes/classes/Smarty/plugins/shared.make_timestamp.php	2006-10-17 16:24:08.000000000 -0500
@@ -10,6 +10,7 @@
  * Function: smarty_make_timestamp<br>
  * Purpose:  used by other smarty functions to make a timestamp
  *           from a string.
+ * @author   Monte Ohrt <monte at ohrt dot com>
  * @param string
  * @return string
  */
diff -ruN 0.762/includes/classes/adodb/adodb-csvlib.inc.php 0.763/includes/classes/adodb/adodb-csvlib.inc.php
--- 0.762/includes/classes/adodb/adodb-csvlib.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-csvlib.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -8,7 +8,7 @@
 
 /* 
 
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/adodb-datadict.inc.php 0.763/includes/classes/adodb/adodb-datadict.inc.php
--- 0.762/includes/classes/adodb/adodb-datadict.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-datadict.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -61,6 +61,7 @@
 	$tokens[$stmtno] = array();
 	$max = strlen($args);
 	$quoted = false;
+	$tokarr = array();
 	
 	while ($pos < $max) {
 		$ch = substr($args,$pos,1);
diff -ruN 0.762/includes/classes/adodb/adodb-error.inc.php 0.763/includes/classes/adodb/adodb-error.inc.php
--- 0.762/includes/classes/adodb/adodb-error.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-error.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/adodb-errorhandler.inc.php 0.763/includes/classes/adodb/adodb-errorhandler.inc.php
--- 0.762/includes/classes/adodb/adodb-errorhandler.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-errorhandler.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license.
  * Whenever there is any discrepancy between the two licenses,
  * the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/adodb-errorpear.inc.php 0.763/includes/classes/adodb/adodb-errorpear.inc.php
--- 0.762/includes/classes/adodb/adodb-errorpear.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-errorpear.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/adodb-exceptions.inc.php 0.763/includes/classes/adodb/adodb-exceptions.inc.php
--- 0.762/includes/classes/adodb/adodb-exceptions.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-exceptions.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * @version V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license.
  * Whenever there is any discrepancy between the two licenses,
  * the BSD license will take precedence.
@@ -45,8 +45,10 @@
 		}
 	
 		$this->dbms = $dbms;
-		$this->host = $thisConnection->host;
-		$this->database = $thisConnection->database;
+		if ($thisConnection) {
+			$this->host = $thisConnection->host;
+			$this->database = $thisConnection->database;
+		}
 		$this->fn = $fn;
 		$this->msg = $errmsg;
 				
diff -ruN 0.762/includes/classes/adodb/adodb-iterator.inc.php 0.763/includes/classes/adodb/adodb-iterator.inc.php
--- 0.762/includes/classes/adodb/adodb-iterator.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-iterator.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /*
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -81,4 +81,5 @@
 	}
 } 
 
+
 ?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/adodb-lib.inc.php 0.763/includes/classes/adodb/adodb-lib.inc.php
--- 0.762/includes/classes/adodb/adodb-lib.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-lib.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -7,7 +7,7 @@
 $ADODB_INCLUDED_LIB = 1;
 
 /* 
- @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim\@natsoft.com.my). All rights reserved.
+ @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim\@natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
@@ -57,8 +57,10 @@
 		 
 		$where = false;
 		foreach ($keyCol as $v) {
-			if ($where) $where .= " and $v=$fieldArray[$v]";
-			else $where = "$v=$fieldArray[$v]";
+			if (isset($fieldArray[$v])) {
+				if ($where) $where .= ' and '.$v.'='.$fieldArray[$v];
+				else $where = $v.'='.$fieldArray[$v];
+			}
 		}
 		
 		if ($uSet && $where) {
@@ -154,7 +156,7 @@
 		if ($fieldsize > 2) {
             $group = rtrim($zthis->fields[2]);
         }
- 
+/* 
         if ($optgroup != $group) {
             $optgroup = $group;
             if ($firstgroup) {
@@ -165,7 +167,7 @@
                 $s .="\n<optgroup label='". htmlspecialchars($group) ."'>";
             }
 		}
-	
+*/
 		if ($hasvalue) 
 			$value = " value='".htmlspecialchars($zval2)."'";
 		
@@ -281,9 +283,15 @@
 
 /*
 	Count the number of records this sql statement will return by using
-	query rewriting techniques...
+	query rewriting heuristics...
 	
 	Does not work with UNIONs, except with postgresql and oracle.
+	
+	Usage:
+	
+	$conn->Connect(...);
+	$cnt = _adodb_getcount($conn, $sql);
+	
 */
 function _adodb_getcount(&$zthis, $sql,$inputarr=false,$secs2cache=0) 
 {
@@ -317,12 +325,22 @@
 		$rewritesql = preg_replace(
 					'/^\s*SELECT\s.*\s+FROM\s/Uis','SELECT COUNT(*) FROM ',$sql);
 
+		
+		
 		// fix by alexander zhukov, alex#unipack.ru, because count(*) and 'order by' fails 
 		// with mssql, access and postgresql. Also a good speedup optimization - skips sorting!
-		$rewritesql = preg_replace('/(\sORDER\s+BY\s[^)]*)/is','',$rewritesql);
+		// also see http://phplens.com/lens/lensforum/msgs.php?id=12752
+		if (preg_match('/\sORDER\s+BY\s*\(/i',$rewritesql))
+			$rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','',$rewritesql);
+		else
+			$rewritesql = preg_replace('/(\sORDER\s+BY\s[^)]*)/is','',$rewritesql);
 	}
 	
+	
+	
 	if (isset($rewritesql) && $rewritesql != $sql) {
+		if (preg_match('/\sLIMIT\s+[0-9]+/i',$sql,$limitarr)) $rewritesql .= $limitarr[1];
+		 
 		if ($secs2cache) {
 			// we only use half the time of secs2cache because the count can quickly
 			// become inaccurate if new records are added
@@ -341,6 +359,8 @@
 	if (preg_match('/\s*UNION\s*/is', $sql)) $rewritesql = $sql;
 	else $rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','',$sql); 
 	
+	if (preg_match('/\sLIMIT\s+[0-9]+/i',$sql,$limitarr)) $rewritesql .= $limitarr[0];
+		
 	$rstest = &$zthis->Execute($rewritesql,$inputarr);
 	if (!$rstest) $rstest = $zthis->Execute($sql,$inputarr);
 	
@@ -595,9 +615,11 @@
 			$discard = false;
 			// not a good hack, improvements?
 			if ($whereClause) {
+			#var_dump($whereClause);
 				if (preg_match('/\s(ORDER\s.*)/is', $whereClause[1], $discard));
 				else if (preg_match('/\s(LIMIT\s.*)/is', $whereClause[1], $discard));
-				else preg_match('/\s(FOR UPDATE.*)/is', $whereClause[1], $discard);
+				else if (preg_match('/\s(FOR UPDATE.*)/is', $whereClause[1], $discard));
+				else preg_match('/\s.*(\) WHERE .*)/is', $whereClause[1], $discard); # see http://sourceforge.net/tracker/index.php?func=detail&aid=1379638&group_id=42718&atid=433976
 			} else
 				$whereClause = array(false,false);
 				
@@ -919,11 +941,13 @@
 	$dbt = $zthis->databaseType;
 	if (isset($zthis->dsnType)) $dbt .= '-'.$zthis->dsnType;
 	if ($inBrowser) {
-		$ss = htmlspecialchars($ss);
+		if ($ss) {
+			$ss = '<code>'.htmlspecialchars($ss).'</code>';
+		}
 		if ($zthis->debug === -1)
-			ADOConnection::outp( "<br>\n($dbt): ".htmlspecialchars($sqlTxt)." &nbsp; <code>$ss</code>\n<br>\n",false);
+			ADOConnection::outp( "<br />\n($dbt): ".htmlspecialchars($sqlTxt)." &nbsp; $ss\n<br />\n",false);
 		else 
-			ADOConnection::outp( "<hr>\n($dbt): ".htmlspecialchars($sqlTxt)." &nbsp; <code>$ss</code>\n<hr>\n",false);
+			ADOConnection::outp( "<hr />\n($dbt): ".htmlspecialchars($sqlTxt)." &nbsp; $ss\n<hr />\n",false);
 	} else {
 		ADOConnection::outp("-----\n($dbt): ".$sqlTxt."\n-----\n",false);
 	}
@@ -1000,5 +1024,47 @@
 	
 	return $s;
 }
+/*
+function _adodb_find_from($sql) 
+{
+
+	$sql = str_replace(array("\n","\r"), ' ', $sql);
+	$charCount = strlen($sql);
+	
+	$inString = false;
+	$quote = '';
+	$parentheseCount = 0;
+	$prevChars = '';
+	$nextChars = '';
+	
+
+	for($i = 0; $i < $charCount; $i++) {
+
+    	$char = substr($sql,$i,1);
+	    $prevChars = substr($sql,0,$i);
+    	$nextChars = substr($sql,$i+1);
+
+		if((($char == "'" || $char == '"' || $char == '`') && substr($prevChars,-1,1) != '\\') && $inString === false) {
+			$quote = $char;
+			$inString = true;
+		}
+
+		elseif((($char == "'" || $char == '"' || $char == '`') && substr($prevChars,-1,1) != '\\') && $inString === true && $quote == $char) {
+			$quote = "";
+			$inString = false;
+		}
+
+		elseif($char == "(" && $inString === false)
+			$parentheseCount++;
+
+		elseif($char == ")" && $inString === false && $parentheseCount > 0)
+			$parentheseCount--;
+
+		elseif($parentheseCount <= 0 && $inString === false && $char == " " && strtoupper(substr($prevChars,-5,5)) == " FROM")
+			return $i;
+
+	}
+}
+*/
 
 ?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/adodb-pager.inc.php 0.763/includes/classes/adodb/adodb-pager.inc.php
--- 0.762/includes/classes/adodb/adodb-pager.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-pager.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /*
-	V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+	V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
 	  Released under both BSD license and Lesser GPL library license. 
 	  Whenever there is any discrepancy between the two licenses, 
 	  the BSD license will take precedence. 
@@ -60,7 +60,7 @@
 	global $PHP_SELF;
 	
 		$curr_page = $id.'_curr_page';
-		if (empty($PHP_SELF)) $PHP_SELF = $_SERVER['PHP_SELF'];
+		if (empty($PHP_SELF)) $PHP_SELF = htmlspecialchars($_SERVER['PHP_SELF']); // htmlspecialchars() to prevent XSS attacks
 		
 		$this->sql = $sql;
 		$this->id = $id;
@@ -70,7 +70,7 @@
 		$next_page = $id.'_next_page';	
 		
 		if (isset($_GET[$next_page])) {
-			$_SESSION[$curr_page] = $_GET[$next_page];
+			$_SESSION[$curr_page] = (integer) $_GET[$next_page];
 		}
 		if (empty($_SESSION[$curr_page])) $_SESSION[$curr_page] = 1; ## at first page
 		
@@ -265,10 +265,11 @@
 		
 		$grid = $this->RenderGrid();
 		$footer = $this->RenderPageCount();
-		$rs->Close();
-		$this->rs = false;
 		
 		$this->RenderLayout($header,$grid,$footer);
+		
+		$rs->Close();
+		$this->rs = false;
 	}
 	
 	//------------------------------------------------------
diff -ruN 0.762/includes/classes/adodb/adodb-pear.inc.php 0.763/includes/classes/adodb/adodb-pear.inc.php
--- 0.762/includes/classes/adodb/adodb-pear.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-pear.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/adodb-perf.inc.php 0.763/includes/classes/adodb/adodb-perf.inc.php
--- 0.762/includes/classes/adodb/adodb-perf.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-perf.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
@@ -16,7 +16,7 @@
   
 */
 
-if (!defined(ADODB_DIR)) include_once(dirname(__FILE__).'/adodb.inc.php');
+if (!defined('ADODB_DIR')) include_once(dirname(__FILE__).'/adodb.inc.php');
 include_once(ADODB_DIR.'/tohtml.inc.php');
 
 define( 'ADODB_OPT_HIGH', 2);
@@ -71,7 +71,7 @@
 	$rs =& $conn->Execute($sql,$inputarr);
 	$t1 = microtime();
 
-	if (!empty($conn->_logsql)) {
+	if (!empty($conn->_logsql) && (empty($conn->_logsqlErrors) || !$rs)) {
 		$conn->_logsql = false; // disable logsql error simulation
 		$dbT = $conn->databaseType;
 		
@@ -136,7 +136,7 @@
 		if (empty($d)) $d = date("'Y-m-d H:i:s'");
 		if ($conn->dataProvider == 'oci8' && $dbT != 'oci8po') {
 			$isql = "insert into $perf_table values($d,:b,:c,:d,:e,:f)";
-		} else if ($dbT == 'odbc_mssql' || $dbT == 'informix') {
+		} else if ($dbT == 'odbc_mssql' || $dbT == 'informix' || $dbT == 'odbtp') {
 			$timer = $arr['f'];
 			if ($dbT == 'informix') $sql2 = substr($sql2,0,230);
 
@@ -149,6 +149,7 @@
 			if ($dbT == 'informix') $isql = str_replace(chr(10),' ',$isql);
 			$arr = false;
 		} else {
+			if ($dbT == 'db2') $arr['f'] = (float) $arr['f'];
 			$isql = "insert into $perf_table (created,sql0,sql1,params,tracer,timer) values( $d,?,?,?,?,?)";
 		}
 
@@ -588,7 +589,7 @@
 			
 			$rs = $this->conn->Execute($sql1);
 			
-			if (isset($savem)) $this->SetFetchMode($savem);
+			if (isset($savem)) $this->conn->SetFetchMode($savem);
 			$ADODB_FETCH_MODE = $save;
 			if ($rs) {
 				while (!$rs->EOF) {
@@ -860,8 +861,10 @@
 	{
 		if (!$this->createTableSQL) return false;
 		
+		$table = $this->table();
+		$sql = str_replace('adodb_logsql',$table,$this->createTableSQL);
 		$savelog = $this->conn->LogSQL(false);
-		$ok = $this->conn->Execute($this->createTableSQL);
+		$ok = $this->conn->Execute($sql);
 		$this->conn->LogSQL($savelog);
 		return ($ok) ? true : false;
 	}
@@ -949,7 +952,7 @@
 		return $arr;
 	}
 	
-	function undomq(&$m) 
+	function undomq($m) 
 	{
 	if (get_magic_quotes_gpc()) {
 		// undo the damage
diff -ruN 0.762/includes/classes/adodb/adodb-php4.inc.php 0.763/includes/classes/adodb/adodb-php4.inc.php
--- 0.762/includes/classes/adodb/adodb-php4.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-php4.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /*
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/adodb-time.inc.php 0.763/includes/classes/adodb/adodb-time.inc.php
--- 0.762/includes/classes/adodb/adodb-time.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-time.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -108,7 +108,7 @@
 	n - month without leading zeros; i.e. "1" to "12" 
 	O - Difference to Greenwich time in hours; e.g. "+0200" 
 	Q - Quarter, as in 1, 2, 3, 4 
-	r - RFC 822 formatted date; e.g. "Thu, 21 Dec 2000 16:01:07 +0200" 
+	r - RFC 2822 formatted date; e.g. "Thu, 21 Dec 2000 16:01:07 +0200" 
 	s - seconds; i.e. "00" to "59" 
 	S - English ordinal suffix for the day of the month, 2 characters; 
 	   			i.e. "st", "nd", "rd" or "th" 
@@ -241,6 +241,13 @@
 
 
 CHANGELOG
+- 19 March 2006 0.24
+Changed strftime() locale detection, because some locales prepend the day of week to the date when %c is used.
+
+- 10 Feb 2006 0.23
+PHP5 compat: when we detect PHP5, the RFC2822 format for gmt 0000hrs is changed from -0000 to +0000. 
+	In PHP4, we will still use -0000 for 100% compat with PHP4.
+
 - 08 Sept 2005 0.22
 In adodb_date2(), $is_gmt not supported properly. Fixed.
 
@@ -361,7 +368,7 @@
 /*
 	Version Number
 */
-define('ADODB_DATE_VERSION',0.22);
+define('ADODB_DATE_VERSION',0.24);
 
 /*
 	This code was originally for windows. But apparently this problem happens 
@@ -473,7 +480,7 @@
 	
 	// Test string formating
 	print "<p>Testing date formating</p>";
-	$fmt = '\d\a\t\e T Y-m-d H:i:s a A d D F g G h H i j l L m M n O \R\F\C822 r s t U w y Y z Z 2003';
+	$fmt = '\d\a\t\e T Y-m-d H:i:s a A d D F g G h H i j l L m M n O \R\F\C2822 r s t U w y Y z Z 2003';
 	$s1 = date($fmt,0);
 	$s2 = adodb_date($fmt,0);
 	if ($s1 != $s2) {
@@ -691,7 +698,7 @@
 
 for ($i=1970; $i > 1500; $i--) {
 
-echo "<hr>$i ";
+echo "<hr />$i ";
 	adodb_date_test_date($i,1,1);
 }
 
@@ -977,6 +984,8 @@
 	$max = strlen($fmt);
 	$dates = '';
 	
+	$isphp5 = PHP_VERSION >= 5;
+	
 	/*
 		at this point, we have the following integer vars to manipulate:
 		$year, $month, $day, $hour, $min, $secs
@@ -1000,7 +1009,11 @@
 			if ($secs < 10) $dates .= ':0'.$secs; else $dates .= ':'.$secs;
 			
 			$gmt = adodb_get_gmt_diff();
-			$dates .= sprintf(' %s%04d',($gmt<0)?'+':'-',abs($gmt)/36); break;
+			if ($isphp5) 
+				$dates .= sprintf(' %s%04d',($gmt<=0)?'+':'-',abs($gmt)/36); 
+			else
+				$dates .= sprintf(' %s%04d',($gmt<0)?'+':'-',abs($gmt)/36); 
+			break;
 				
 		case 'Y': $dates .= $year; break;
 		case 'y': $dates .= substr($year,strlen($year)-2,2); break;
@@ -1031,7 +1044,12 @@
 			$dates .= ($is_gmt) ? 0 : -adodb_get_gmt_diff(); break;
 		case 'O': 
 			$gmt = ($is_gmt) ? 0 : adodb_get_gmt_diff();
-			$dates .= sprintf('%s%04d',($gmt<0)?'+':'-',abs($gmt)/36); break;
+			
+			if ($isphp5)
+				$dates .= sprintf('%s%04d',($gmt<=0)?'+':'-',abs($gmt)/36); 
+			else
+				$dates .= sprintf('%s%04d',($gmt<0)?'+':'-',abs($gmt)/36); 
+			break;
 			
 		case 'H': 
 			if ($hour < 10) $dates .= '0'.$hour; 
@@ -1224,9 +1242,16 @@
 	}
 	
 	if (empty($ADODB_DATE_LOCALE)) {
+	/*
 		$tstr = strtoupper(gmstrftime('%c',31366800)); // 30 Dec 1970, 1 am
 		$sep = substr($tstr,2,1);
 		$hasAM = strrpos($tstr,'M') !== false;
+	*/
+		# see http://phplens.com/lens/lensforum/msgs.php?id=14865 for reasoning, and changelog for version 0.24
+		$dstr = gmstrftime('%x',31366800); // 30 Dec 1970, 1 am
+		$sep = substr($dstr,2,1);
+		$tstr = strtoupper(gmstrftime('%X',31366800)); // 30 Dec 1970, 1 am
+		$hasAM = strrpos($tstr,'M') !== false;
 		
 		$ADODB_DATE_LOCALE = array();
 		$ADODB_DATE_LOCALE[] =  strncmp($tstr,'30',2) == 0 ? 'd'.$sep.'m'.$sep.'y' : 'm'.$sep.'d'.$sep.'y';	
diff -ruN 0.762/includes/classes/adodb/adodb-xmlschema.inc.php 0.763/includes/classes/adodb/adodb-xmlschema.inc.php
--- 0.762/includes/classes/adodb/adodb-xmlschema.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb-xmlschema.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -12,11 +12,25 @@
  *
  * Last Editor: $Author: markwest $
  * @author Richard Tango-Lowy & Dan Cech
- * @version $Revision: 1.8 $
+ * @version $Revision: 18000 $
  *
  * @package axmls
  * @tutorial getting_started.pkg
  */
+ 
+function _file_get_contents($file) 
+{
+ 	if (function_exists('file_get_contents')) return file_get_contents($file);
+	
+	$f = fopen($file,'r');
+	if (!$f) return '';
+	$t = '';
+	
+	while ($s = fread($f,100000)) $t .= $s;
+	fclose($f);
+	return $t;
+}
+
 
 /**
 * Debug on or off
@@ -1195,7 +1209,7 @@
 * @tutorial getting_started.pkg
 *
 * @author Richard Tango-Lowy & Dan Cech
-* @version $Revision: 1.8 $
+* @version $Revision: 18000 $
 *
 * @package axmls
 */
@@ -1429,6 +1443,10 @@
 		
 		if ( $returnSchema )
 		{
+			$xmlstring = '';
+			while( $data = fread( $fp, 100000 ) ) {
+				$xmlstring .= $data;
+			}
 			return $xmlstring;
 		}
 		
@@ -1572,6 +1590,7 @@
 	* @return array Array of SQL statements or FALSE if an error occurs
 	*/
 	function PrintSQL( $format = 'NONE' ) {
+		$sqlArray = null;
 		return $this->getSQL( $format, $sqlArray );
 	}
 	
diff -ruN 0.762/includes/classes/adodb/adodb.inc.php 0.763/includes/classes/adodb/adodb.inc.php
--- 0.762/includes/classes/adodb/adodb.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/adodb.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -14,7 +14,7 @@
 /**
 	\mainpage 	
 	
-	 @version V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim#natsoft.com.my). All rights reserved.
+	 @version V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
 
 	Released under both BSD license and Lesser GPL library license. You can choose which license
 	you prefer.
@@ -171,7 +171,7 @@
 		/**
 		 * ADODB version as a string.
 		 */
-		$ADODB_vers = 'V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim#natsoft.com.my). All rights reserved. Released BSD & LGPL.';
+		$ADODB_vers = 'V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved. Released BSD & LGPL.';
 	
 		/**
 		 * Determines whether recordset->RecordCount() is used. 
@@ -314,8 +314,7 @@
 	var $_evalAll = false;
 	var $_affected = false;
 	var $_logsql = false;
-	
-
+	var $_transmode = ''; // transaction mode
 	
 	/**
 	 * Constructor
@@ -555,6 +554,7 @@
 
 	function q(&$s)
 	{
+		#if (!empty($this->qNull)) if ($s == 'null') return $s;
 		$s = $this->qstr($s,false);
 	}
 	
@@ -802,6 +802,8 @@
 			$element0 = reset($inputarr);
 			# is_object check because oci8 descriptors can be passed in
 			$array_2d = is_array($element0) && !is_object(reset($element0));
+			//remove extra memory copy of input -mikefedyk
+			unset($element0);
 			
 			if (!is_array($sql) && !$this->_bindInputArray) {
 				$sqlarr = explode('?',$sql);
@@ -809,18 +811,23 @@
 				if (!$array_2d) $inputarr = array($inputarr);
 				foreach($inputarr as $arr) {
 					$sql = ''; $i = 0;
-					foreach($arr as $v) {
+					//Use each() instead of foreach to reduce memory usage -mikefedyk
+					while(list(, $v) = each($arr)) {
 						$sql .= $sqlarr[$i];
 						// from Ron Baldwin <ron.baldwin#sourceprose.com>
 						// Only quote string types	
 						$typ = gettype($v);
 						if ($typ == 'string')
+							//New memory copy of input created here -mikefedyk
 							$sql .= $this->qstr($v);
 						else if ($typ == 'double')
 							$sql .= str_replace(',','.',$v); // locales fix so 1.1 does not get converted to 1,1
 						else if ($typ == 'boolean')
 							$sql .= $v ? $this->true : $this->false;
-						else if ($v === null)
+						else if ($typ == 'object') {
+							if (method_exists($v, '__toString')) $sql .= $this->qstr($v->__toString());
+							else $sql .= $this->qstr((string) $v);
+						} else if ($v === null)
 							$sql .= 'NULL';
 						else
 							$sql .= $v;
@@ -862,7 +869,7 @@
 	{
 		if ($this->debug) {
 			global $ADODB_INCLUDED_LIB;
-			if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+			if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
 			$this->_queryID = _adodb_debug_execute($this, $sql,$inputarr);
 		} else {
 			$this->_queryID = @$this->_query($sql,$inputarr);
@@ -1108,7 +1115,7 @@
 						$sql = preg_replace(
 						'/(^\s*select\s+(distinctrow|distinct)?)/i','\\1 '.$this->hasTop.' '.((integer)$nrows).' ',$sql);
 
-						if ($secs2cache>0) {
+						if ($secs2cache >= 0) {
 							$ret =& $this->CacheExecute($secs2cache, $sql,$inputarr);
 						} else {
 							$ret =& $this->Execute($sql,$inputarr);
@@ -1141,10 +1148,10 @@
 		$ADODB_COUNTRECS = false;
 			
 		if ($offset>0){
-			if ($secs2cache>0) $rs = &$this->CacheExecute($secs2cache,$sql,$inputarr);
+			if ($secs2cache >= 0) $rs = &$this->CacheExecute($secs2cache,$sql,$inputarr);
 			else $rs = &$this->Execute($sql,$inputarr);
 		} else {
-			if ($secs2cache>0) $rs = &$this->CacheExecute($secs2cache,$sql,$inputarr);
+			if ($secs2cache >= 0) $rs = &$this->CacheExecute($secs2cache,$sql,$inputarr);
 			else $rs = &$this->Execute($sql,$inputarr);
 		}
 		$ADODB_COUNTRECS = $savec;
@@ -1341,7 +1348,6 @@
 		return  '('.$date.'+'.$dayFraction.')';
 	}
 	
-	
 	/**
 	*
 	* @param sql			SQL statement
@@ -1459,7 +1465,7 @@
 	function Replace($table, $fieldArray, $keyCol, $autoQuote=false, $has_autoinc=false)
 	{
 		global $ADODB_INCLUDED_LIB;
-		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+		if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
 		
 		return _adodb_replace($this, $table, $fieldArray, $keyCol, $autoQuote, $has_autoinc);
 	}
@@ -1497,15 +1503,71 @@
 		return $rs;
 	}
 	
+	
 	/**
 	* Flush cached recordsets that match a particular $sql statement. 
 	* If $sql == false, then we purge all files in the cache.
  	*/
+	
+	/**
+   * Flush cached recordsets that match a particular $sql statement. 
+   * If $sql == false, then we purge all files in the cache.
+    */
 	function CacheFlush($sql=false,$inputarr=false)
 	{
 	global $ADODB_CACHE_DIR;
 	
 		if (strlen($ADODB_CACHE_DIR) > 1 && !$sql) {
+         /*if (strncmp(PHP_OS,'WIN',3) === 0)
+            $dir = str_replace('/', '\\', $ADODB_CACHE_DIR);
+         else */
+            $dir = $ADODB_CACHE_DIR;
+            
+         if ($this->debug) {
+            ADOConnection::outp( "CacheFlush: $dir<br><pre>\n", $this->_dirFlush($dir),"</pre>");
+         } else {
+            $this->_dirFlush($dir);
+         }
+         return;
+      } 
+      
+      global $ADODB_INCLUDED_CSV;
+      if (empty($ADODB_INCLUDED_CSV)) include(ADODB_DIR.'/adodb-csvlib.inc.php');
+      
+      $f = $this->_gencachename($sql.serialize($inputarr),false);
+      adodb_write_file($f,''); // is adodb_write_file needed?
+      if (!@unlink($f)) {
+         if ($this->debug) ADOConnection::outp( "CacheFlush: failed for $f");
+      }
+   }
+   
+   /**
+   * Private function to erase all of the files and subdirectories in a directory.
+   *
+   * Just specify the directory, and tell it if you want to delete the directory or just clear it out.
+   * Note: $kill_top_level is used internally in the function to flush subdirectories.
+   */
+   function _dirFlush($dir, $kill_top_level = false) {
+      if(!$dh = @opendir($dir)) return;
+      
+      while (($obj = readdir($dh))) {
+         if($obj=='.' || $obj=='..')
+            continue;
+			
+         if (!@unlink($dir.'/'.$obj))
+			  $this->_dirFlush($dir.'/'.$obj, true);
+      }
+      if ($kill_top_level === true)
+         @rmdir($dir);
+      return true;
+   }
+   
+   
+	function xCacheFlush($sql=false,$inputarr=false)
+	{
+	global $ADODB_CACHE_DIR;
+	
+		if (strlen($ADODB_CACHE_DIR) > 1 && !$sql) {
 			if (strncmp(PHP_OS,'WIN',3) === 0) {
 				$cmd = 'del /s '.str_replace('/','\\',$ADODB_CACHE_DIR).'\adodb_*.cache';
 			} else {
@@ -1522,7 +1584,7 @@
 		} 
 		
 		global $ADODB_INCLUDED_CSV;
-		if (empty($ADODB_INCLUDED_CSV)) include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
+		if (empty($ADODB_INCLUDED_CSV)) include(ADODB_DIR.'/adodb-csvlib.inc.php');
 		
 		$f = $this->_gencachename($sql.serialize($inputarr),false);
 		adodb_write_file($f,''); // is adodb_write_file needed?
@@ -1597,7 +1659,7 @@
 			$sqlparam = $sql;
 			
 		global $ADODB_INCLUDED_CSV;
-		if (empty($ADODB_INCLUDED_CSV)) include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
+		if (empty($ADODB_INCLUDED_CSV)) include(ADODB_DIR.'/adodb-csvlib.inc.php');
 		
 		$md5file = $this->_gencachename($sql.serialize($inputarr),true);
 		$err = '';
@@ -1673,15 +1735,16 @@
 	 */
 	function& AutoExecute($table, $fields_values, $mode = 'INSERT', $where = FALSE, $forceUpdate=true, $magicq=false) 
 	{
+		$false = false;
 		$sql = 'SELECT * FROM '.$table;  
 		if ($where!==FALSE) $sql .= ' WHERE '.$where;
 		else if ($mode == 'UPDATE' || $mode == 2 /* DB_AUTOQUERY_UPDATE */) {
 			ADOConnection::outp('AutoExecute: Illegal mode=UPDATE with empty WHERE clause');
-			return false;
+			return $false;
 		}
 
 		$rs =& $this->SelectLimit($sql,1);
-		if (!$rs) return false; // table does not exist
+		if (!$rs) return $false; // table does not exist
 		$rs->tableName = $table;
 		
 		switch((string) $mode) {
@@ -1695,7 +1758,7 @@
 			break;
 		default:
 			ADOConnection::outp("AutoExecute: Unknown mode=$mode");
-			return false;
+			return $false;
 		}
 		$ret = false;
 		if ($sql) $ret = $this->Execute($sql);
@@ -1728,13 +1791,10 @@
 		}
 		//********************************************************//
 
-		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+		if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
 		return _adodb_getupdatesql($this,$rs,$arrFields,$forceUpdate,$magicq,$force);
 	}
 
-	
-	
-
 	/**
 	 * Generates an Insert Query based on an existing recordset.
 	 * $arrFields is an associative array of fields with the value
@@ -1751,7 +1811,7 @@
 			$force = $ADODB_FORCE_TYPE;
 			
 		}
-		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+		if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
 		return _adodb_getinsertsql($this,$rs,$arrFields,$magicq,$force);
 	}
 	
@@ -1856,8 +1916,8 @@
 		if (empty($this->_metars)) {
 			$rsclass = $this->rsPrefix.$this->databaseType;
 			$this->_metars =& new $rsclass(false,$this->fetchMode); 
+			$this->_metars->connection =& $this;
 		}
-		
 		return $this->_metars->MetaType($t,$len,$fieldobj);
 	}
 	
@@ -1901,6 +1961,48 @@
 		}
 	}
 
+	function &GetActiveRecordsClass($class, $table,$whereOrderBy=false,$bindarr=false, $primkeyArr=false)
+	{
+	global $_ADODB_ACTIVE_DBS;
+	
+		$save = $this->SetFetchMode(ADODB_FETCH_NUM);
+		if (empty($whereOrderBy)) $whereOrderBy = '1=1';
+		$rows = $this->GetAll("select * from ".$table.' WHERE '.$whereOrderBy,$bindarr);
+		$this->SetFetchMode($save);
+		
+		$false = false;
+		
+		if ($rows === false) {	
+			return $false;
+		}
+		
+		
+		if (!isset($_ADODB_ACTIVE_DBS)) {
+			include(ADODB_DIR.'/adodb-active-record.inc.php');
+		}	
+		if (!class_exists($class)) {
+			ADOConnection::outp("Unknown class $class in GetActiveRcordsClass()");
+			return $false;
+		}
+		$arr = array();
+		foreach($rows as $row) {
+		
+			$obj =& new $class($table,$primkeyArr,$this);
+			if ($obj->ErrorMsg()){
+				$this->_errorMsg = $obj->ErrorMsg();
+				return $false;
+			}
+			$obj->Set($row);
+			$arr[] =& $obj;
+		}
+		return $arr;
+	}
+	
+	function &GetActiveRecords($table,$where=false,$bindarr=false,$primkeyArr=false)
+	{
+		$arr =& $this->GetActiveRecordsClass('ADODB_Active_Record', $table, $where, $bindarr, $primkeyArr);
+		return $arr;
+	}
 	
 	/**
 	 * Close Connection
@@ -1919,6 +2021,57 @@
 	 */
 	function BeginTrans() {return false;}
 	
+	/* set transaction mode */
+	function SetTransactionMode( $transaction_mode ) 
+	{
+		$transaction_mode = $this->MetaTransaction($transaction_mode, $this->dataProvider);
+		$this->_transmode  = $transaction_mode;
+	}
+/*
+http://msdn2.microsoft.com/en-US/ms173763.aspx
+http://dev.mysql.com/doc/refman/5.0/en/innodb-transaction-isolation.html
+http://www.postgresql.org/docs/8.1/interactive/sql-set-transaction.html
+http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_10005.htm
+*/
+	function MetaTransaction($mode,$db)
+	{
+		$mode = strtoupper($mode);
+		$mode = str_replace('ISOLATION LEVEL ','',$mode);
+		
+		switch($mode) {
+
+		case 'READ UNCOMMITTED':
+			switch($db) { 
+			case 'oci8':
+			case 'oracle':
+				return 'ISOLATION LEVEL READ COMMITTED';
+			default:
+				return 'ISOLATION LEVEL READ UNCOMMITTED';
+			}
+			break;
+					
+		case 'READ COMMITTED':
+				return 'ISOLATION LEVEL READ COMMITTED';
+			break;
+			
+		case 'REPEATABLE READ':
+			switch($db) {
+			case 'oci8':
+			case 'oracle':
+				return 'ISOLATION LEVEL SERIALIZABLE';
+			default:
+				return 'ISOLATION LEVEL REPEATABLE READ';
+			}
+			break;
+			
+		case 'SERIALIZABLE':
+				return 'ISOLATION LEVEL SERIALIZABLE';
+			break;
+			
+		default:
+			return $mode;
+		}
+	}
 	
 	/**
 	 * If database does not support transactions, always return true as data always commited
@@ -1965,6 +2118,7 @@
 			
 			return false;
 		}
+	
 		
 	/**
 	 * @param ttype can either be 'VIEW' or 'TABLE' or false. 
@@ -2032,13 +2186,13 @@
 	 * List columns in a database as an array of ADOFieldObjects. 
 	 * See top of file for definition of object.
 	 *
-	 * @param table	table name to query
-	 * @param upper	uppercase table name (required by some databases)
+	 * @param $table	table name to query
+	 * @param $normalize	makes table name case-insensitive (required by some databases)
 	 * @schema is optional database schema to use - not supported by all databases.
 	 *
 	 * @return  array of ADOFieldObjects for current table.
 	 */
-	function &MetaColumns($table,$upper=true) 
+	function &MetaColumns($table,$normalize=true) 
 	{
 	global $ADODB_FETCH_MODE;
 		
@@ -2052,7 +2206,7 @@
 			$save = $ADODB_FETCH_MODE;
 			$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 			if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-			$rs = $this->Execute(sprintf($this->metaColumnsSQL,($upper)?strtoupper($table):$table));
+			$rs = $this->Execute(sprintf($this->metaColumnsSQL,($normalize)?strtoupper($table):$table));
 			if (isset($savem)) $this->SetFetchMode($savem);
 			$ADODB_FETCH_MODE = $save;
 			if ($rs === false || $rs->EOF) return $false;
@@ -2109,7 +2263,7 @@
 	 *
 	 * @return  array of column names for current table.
 	 */ 
-	function &MetaColumnNames($table, $numIndexes=false) 
+	function &MetaColumnNames($table, $numIndexes=false,$useattnum=false /* only for postgres */) 
 	{
 		$objarr =& $this->MetaColumns($table);
 		if (!is_array($objarr)) {
@@ -2119,7 +2273,12 @@
 		$arr = array();
 		if ($numIndexes) {
 			$i = 0;
-			foreach($objarr as $v) $arr[$i++] = $v->name;
+			if ($useattnum) {
+				foreach($objarr as $v) 
+					$arr[$v->attnum] = $v->name;
+				
+			} else
+				foreach($objarr as $v) $arr[$i++] = $v->name;
 		} else
 			foreach($objarr as $v) $arr[strtoupper($v->name)] = $v->name;
 		
@@ -2163,6 +2322,22 @@
 		return adodb_date($this->fmtDate,$d);
 	}
 	
+	function BindDate($d)
+	{
+		$d = $this->DBDate($d);
+		if (strncmp($d,"'",1)) return $d;
+		
+		return substr($d,1,strlen($d)-2);
+	}
+	
+	function BindTimeStamp($d)
+	{
+		$d = $this->DBTimeStamp($d);
+		if (strncmp($d,"'",1)) return $d;
+		
+		return substr($d,1,strlen($d)-2);
+	}
+	
 	
 	/**
 	 * Converts a timestamp "ts" to a string that the database can understand.
@@ -2365,7 +2540,7 @@
 	function &PageExecute($sql, $nrows, $page, $inputarr=false, $secs2cache=0) 
 	{
 		global $ADODB_INCLUDED_LIB;
-		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+		if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
 		if ($this->pageExecuteCountRows) $rs =& _adodb_pageexecute_all_rows($this, $sql, $nrows, $page, $inputarr, $secs2cache);
 		else $rs =& _adodb_pageexecute_no_last_page($this, $sql, $nrows, $page, $inputarr, $secs2cache);
 		return $rs;
@@ -2437,7 +2612,7 @@
 	//==============================================================================================	
 	// DATE AND TIME FUNCTIONS
 	//==============================================================================================	
-	include_once(ADODB_DIR.'/adodb-time.inc.php');
+	if (!defined('ADODB_DATE_VERSION')) include(ADODB_DIR.'/adodb-time.inc.php');
 	
 	//==============================================================================================	
 	// CLASS ADORecordSet
@@ -2548,7 +2723,7 @@
 			$size=0, $selectAttr='',$compareFields0=true)
 	{
 		global $ADODB_INCLUDED_LIB;
-		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+		if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
 		return _adodb_getmenu($this, $name,$defstr,$blank1stItem,$multiple,
 			$size, $selectAttr,$compareFields0);
 	}
@@ -2575,7 +2750,7 @@
 			$size=0, $selectAttr='')
 	{
 		global $ADODB_INCLUDED_LIB;
-		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+		if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
 		return _adodb_getmenu_gp($this, $name,$defstr,$blank1stItem,$multiple,
 			$size, $selectAttr,false);
 	}
@@ -2692,7 +2867,17 @@
 			if ($ADODB_EXTENSION) {
 				if ($numIndex) {
 					while (!$this->EOF) {
-						$results[trim($this->fields[0])] = array_slice($this->fields, 1);
+						// $results[trim($this->fields[0])] = array_slice($this->fields, 1);
+						// Fix for array_slice re-numbering numeric associative keys in PHP5
+						$keys = array_slice(array_keys($this->fields), 1);
+						$sliced_array = array();
+
+						foreach($keys as $key) {
+							$sliced_array[$key] = $this->fields[$key];
+						}
+						
+						$results[trim(reset($this->fields))] = $sliced_array;
+
 						adodb_movenext($this);
 					}
 				} else {
@@ -2704,7 +2889,16 @@
 			} else {
 				if ($numIndex) {
 					while (!$this->EOF) {
-						$results[trim($this->fields[0])] = array_slice($this->fields, 1);
+						//$results[trim($this->fields[0])] = array_slice($this->fields, 1);
+						// Fix for array_slice re-numbering numeric associative keys in PHP5
+						$keys = array_slice(array_keys($this->fields), 1);
+						$sliced_array = array();
+
+						foreach($keys as $key) {
+							$sliced_array[$key] = $this->fields[$key];
+						}
+						
+						$results[trim(reset($this->fields))] = $sliced_array;
 						$this->MoveNext();
 					}
 				} else {
@@ -3091,6 +3285,7 @@
 		return $lnumrows;
 	}
 	
+	
 	/**
 	 * @return the current row in the recordset. If at EOF, will return the last row. 0-based.
 	 */
@@ -3261,6 +3456,7 @@
 		'BPCHAR' => 'C',
 		'CHARACTER' => 'C',
 		'INTERVAL' => 'C',  # Postgres
+		'MACADDR' => 'C', # postgres
 		##
 		'LONGCHAR' => 'X',
 		'TEXT' => 'X',
@@ -3287,6 +3483,7 @@
 		'DATETIME' => 'T',
 		'TIMESTAMPTZ' => 'T',
 		'T' => 'T',
+		'TIMESTAMP WITHOUT TIME ZONE' => 'T', // postgresql
 		##
 		'BOOL' => 'L',
 		'BOOLEAN' => 'L', 
@@ -3367,7 +3564,7 @@
 			return 'B';
 		
 		case 'D':
-			if (!empty($this->datetime)) return 'T';
+			if (!empty($this->connection) && !empty($this->connection->datetime)) return 'T';
 			return 'D';
 			
 		default: 
@@ -3669,9 +3866,23 @@
 		if (!defined('ADODB_ASSOC_CASE')) define('ADODB_ASSOC_CASE',2);
 		$errorfn = (defined('ADODB_ERROR_HANDLER')) ? ADODB_ERROR_HANDLER : false;
 		$false = false;
-		if (strpos($db,'://')) {
+		if ($at = strpos($db,'://')) {
 			$origdsn = $db;
-			$dsna = @parse_url($db);
+			if (PHP_VERSION < 5) $dsna = @parse_url($db);
+			else {
+				$fakedsn = 'fake'.substr($db,$at);
+				$dsna = @parse_url($fakedsn);
+				$dsna['scheme'] = substr($db,0,$at);
+			
+				if (strncmp($db,'pdo',3) == 0) {
+					$sch = explode('_',$dsna['scheme']);
+					if (sizeof($sch)>1) {
+						$dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
+						$dsna['host'] = rawurlencode($sch[1].':host='.rawurldecode($dsna['host']));
+						$dsna['scheme'] = 'pdo';
+					}
+				}
+			}
 			
 			if (!$dsna) {
 				// special handling of oracle, which might not have host
@@ -3695,7 +3906,6 @@
 				}
 			} else $opt = array();
 		}
-		
 	/*
 	 *  phptype: Database backend used in PHP (mysql, odbc etc.)
 	 *  dbsyntax: Database used with regards to SQL syntax etc.
@@ -3745,6 +3955,8 @@
 				if (isset($dsna['port'])) $obj->port = $dsna['port'];
 				foreach($opt as $k => $v) {
 					switch(strtolower($k)) {
+					case 'new':
+										$nconnect = true; $persist = true; break;
 					case 'persist':
 					case 'persistent': 	$persist = $v; break;
 					case 'debug':		$obj->debug = (integer) $v; break;
@@ -3768,8 +3980,10 @@
 				}
 				if (empty($persist))
 					$ok = $obj->Connect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
-				else
+				else if (empty($nconnect))
 					$ok = $obj->PConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
+				else
+					$ok = $obj->NConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
 					
 				if (!$ok) return $false;
 			}
@@ -3792,7 +4006,14 @@
 		}
 		
 		switch($drivername) {
-		case 'mysqli': $drivername='mysql'; break;
+		case 'mysqlt':
+		case 'mysqli': 
+				$drivername='mysql'; 
+				break;
+		case 'postgres7':
+		case 'postgres8':
+				$drivername = 'postgres'; 
+				break;	
 		case 'firebird15': $drivername = 'firebird'; break;
 		case 'oracle': $drivername = 'oci8'; break;
 		case 'access': if ($perf) $drivername = ''; break;
@@ -3829,7 +4050,7 @@
 		$path = ADODB_DIR."/datadict/datadict-$drivername.inc.php";
 
 		if (!file_exists($path)) {
-			ADOConnection::outp("Database driver '$path' not available");
+			ADOConnection::outp("Dictionary driver '$path' not available");
 			return $false;
 		}
 		include_once($path);
@@ -3875,10 +4096,10 @@
 	function adodb_backtrace($printOrArr=true,$levels=9999)
 	{
 		global $ADODB_INCLUDED_LIB;
-		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+		if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
 		return _adodb_backtrace($printOrArr,$levels);
 	}
 
 
 }
-?>
\ No newline at end of file
+?>
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-access.inc.php 0.763/includes/classes/adodb/datadict/datadict-access.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-access.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-access.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-db2.inc.php 0.763/includes/classes/adodb/datadict/datadict-db2.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-db2.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-db2.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-firebird.inc.php 0.763/includes/classes/adodb/datadict/datadict-firebird.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-firebird.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-firebird.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-generic.inc.php 0.763/includes/classes/adodb/datadict/datadict-generic.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-generic.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-generic.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-ibase.inc.php 0.763/includes/classes/adodb/datadict/datadict-ibase.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-ibase.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-ibase.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-informix.inc.php 0.763/includes/classes/adodb/datadict/datadict-informix.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-informix.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-informix.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -32,7 +32,7 @@
 		case 'B': return 'BLOB';
 			
 		case 'D': return 'DATE';
-		case 'T': return 'DATETIME';
+		case 'T': return 'DATETIME YEAR TO SECOND';
 		
 		case 'L': return 'SMALLINT';
 		case 'I': return 'INTEGER';
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-mssql.inc.php 0.763/includes/classes/adodb/datadict/datadict-mssql.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-mssql.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-mssql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -10,6 +10,34 @@
  
 */
 
+/*
+In ADOdb, named quotes for MS SQL Server use ". From the MSSQL Docs:
+
+	Note Delimiters are for identifiers only. Delimiters cannot be used for keywords, 
+	whether or not they are marked as reserved in SQL Server.
+	
+	Quoted identifiers are delimited by double quotation marks ("):
+	SELECT * FROM "Blanks in Table Name"
+	
+	Bracketed identifiers are delimited by brackets ([ ]):
+	SELECT * FROM [Blanks In Table Name]
+	
+	Quoted identifiers are valid only when the QUOTED_IDENTIFIER option is set to ON. By default, 
+	the Microsoft OLE DB Provider for SQL Server and SQL Server ODBC driver set QUOTED_IDENTIFIER ON 
+	when they connect. 
+	
+	In Transact-SQL, the option can be set at various levels using SET QUOTED_IDENTIFIER, 
+	the quoted identifier option of sp_dboption, or the user options option of sp_configure.
+	
+	When SET ANSI_DEFAULTS is ON, SET QUOTED_IDENTIFIER is enabled.
+	
+	Syntax
+	
+		SET QUOTED_IDENTIFIER { ON | OFF }
+
+
+*/
+
 // security - hide paths
 if (!defined('ADODB_DIR')) die();
 
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-mysql.inc.php 0.763/includes/classes/adodb/datadict/datadict-mysql.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-mysql.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-mysql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-oci8.inc.php 0.763/includes/classes/adodb/datadict/datadict-oci8.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-oci8.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-oci8.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -75,8 +75,8 @@
 		case 'X': return $this->typeX;
 		case 'XL': return $this->typeXL;
 		
-		case 'C2': return 'NVARCHAR';
-		case 'X2': return 'NVARCHAR(2000)';
+		case 'C2': return 'NVARCHAR2';
+		case 'X2': return 'NVARCHAR2(4000)';
 		
 		case 'B': return 'BLOB';
 			
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-postgres.inc.php 0.763/includes/classes/adodb/datadict/datadict-postgres.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-postgres.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-postgres.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -357,5 +357,15 @@
 		
 		return $sql;
 	}
+	
+	function _GetSize($ftype, $ty, $fsize, $fprec)
+	{
+		if (strlen($fsize) && $ty != 'X' && $ty != 'B' && $ty  != 'I' && strpos($ftype,'(') === false) {
+			$ftype .= "(".$fsize;
+			if (strlen($fprec)) $ftype .= ",".$fprec;
+			$ftype .= ')';
+		}
+		return $ftype;
+	}
 }
 ?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-sapdb.inc.php 0.763/includes/classes/adodb/datadict/datadict-sapdb.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-sapdb.inc.php	2005-03-22 11:12:55.000000000 -0600
+++ 0.763/includes/classes/adodb/datadict/datadict-sapdb.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.50 6 July 2004  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.50 6 July 2004  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/datadict/datadict-sybase.inc.php 0.763/includes/classes/adodb/datadict/datadict-sybase.inc.php
--- 0.762/includes/classes/adodb/datadict/datadict-sybase.inc.php	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/datadict/datadict-sybase.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/docs/docs-adodb.htm 0.763/includes/classes/adodb/docs/docs-adodb.htm
--- 0.762/includes/classes/adodb/docs/docs-adodb.htm	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/docs/docs-adodb.htm	2006-10-17 16:24:09.000000000 -0500
@@ -15,9 +15,9 @@
 <body bgcolor="#ffffff" text="black">
 
 <h2>ADOdb Library for PHP</h2>
-<p>V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim#natsoft.com)</p>
+<p>V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com)</p>
 <p><font size="1">This software is dual licensed using BSD-Style and LGPL. This 
-  means you can use it in compiled proprfietary and commercial products.</font></p>
+  means you can use it in compiled proprietary and commercial products.</font></p>
   
 
 	<p>Useful ADOdb links:  <a href="http://adodb.sourceforge.net/#download">Download</a> &nbsp; <a href="http://adodb.sourceforge.net/#docs">Other Docs</a>
@@ -81,6 +81,7 @@
   <a href="#concat">Concat</a> <a href="#ifnull">IfNull</a> <a href="#length">length</a> <a href="#random">random</a> <a href="#substr">substr</a> 
   <a href="#qstr">qstr</a> <a href="#param">Param</a>  <a href="#OffsetDate">OffsetDate</a> <a href="#SQLDate">SQLDate</a> 
   <a href="#dbdate">DBDate</a>  <a href="#dbtimestamp">DBTimeStamp</a>
+  <a href="#binddate">BindDate</a>  <a href="#bindtimestamp">BindTimeStamp</a>
   <br>
   Blobs: <a href="#updateblob">UpdateBlob</a> <a href="#updateclob">UpdateClob</a> 
   <a href="#updateblobfile">UpdateBlobFile</a> <a href="#blobencode">BlobEncode</a> 
@@ -90,10 +91,11 @@
   Transactions: <a href="#starttrans">StartTrans</a> <a href="#completetrans">CompleteTrans</a> 
   <a href="#failtrans">FailTrans</a> <a href="#hasfailedtrans">HasFailedTrans</a> 
   <a href="#begintrans">BeginTrans</a> <a href="#committrans">CommitTrans</a> 
-  <a href="#rollbacktrans">RollbackTrans</a> <br>
+  <a href="#rollbacktrans">RollbackTrans</a> <a href=#SetTransactionMode>SetTransactionMode</a><br>
   Fetching Data: </font> <font size="2"><a href="#setfetchmode">SetFetchMode</a><br>
   Strings: <a href="#concat">concat</a> <a href="#length">length</a>  <a href="#qstr">qstr</a> <a href="#quote">quote</a> <a href="#substr">substr</a><br>
   Dates: <a href="#dbdate">DBDate</a> <a href="#dbtimestamp">DBTimeStamp</a> <a href="#unixdate">UnixDate</a> 
+  <a href="#binddate">BindDate</a>  <a href="#bindtimestamp">BindTimeStamp</a>
   <a href="#unixtimestamp">UnixTimeStamp</a> <a href="#OffsetDate">OffsetDate</a> 
   <a href="#SQLDate">SQLDate</a> <br>
   Row Management: <a href="#affected_rows">Affected_Rows</a> <a href="#inserted_id">Insert_ID</a>  <a href="#rowlock">RowLock</a>
@@ -126,7 +128,7 @@
   Menu generation:<a href="#getmenu">GetMenu</a> <a href="#getmenu2">GetMenu2</a><br>
   Dates:<a href="#userdate">UserDate</a> <a href="#usertimestamp">UserTimeStamp</a> 
   <a href="#unixdate">UnixDate</a> <a href="#unixtimestamp">UnixTimeStamp<br>
-  </a>Recordset Info:<a href="#recordcount">RecordCount</a> <a href="#po_recordcount">PO_RecordSet</a> 
+  </a>Recordset Info:<a href="#recordcount">RecordCount</a> <a href="#po_recordcount">PO_RecordCount</a> 
   <a href="#nextrecordset">NextRecordSet</a><br>
   Field Info:<a href="#fieldcount">FieldCount</a> <a href="#fetchfield">FetchField</a> 
   <a href="#metatype">MetaType</a><br>
@@ -166,6 +168,7 @@
   <li><b>Portable table and index creation</b> with the <a href="docs-datadict.htm">datadict</a> classes.
   </li><li><b>Database performance monitoring and SQL tuning</b> with the <a href="docs-perf.htm">performance monitoring</a> classes.
   </li><li><b>Database-backed sessions</b> with the <a href="docs-session.htm">session management</a> classes. Supports session expiry notification.
+<li><b>Object-Relational Mapping</b> using <a href="docs-active-record.htm">ADOdb_Active_Record</a> classes.
 </li></ul>
 <h2>How People are using ADOdb<a name="users"></a></h2>
 Here are some examples of how people are using ADOdb (for a much longer list, 
@@ -214,14 +217,15 @@
 </li><li>adodb-time.inc.php
 </li><li>drivers/adodb-$database.inc.php
 </li><li>license.txt (for legal reasons)
-</li><li>adodb-php4.inc.php
-</li><li>adodb-iterator.inc.php
+</li><li>adodb-php4.inc.php 
+</li><li>adodb-iterator.inc.php  (php5 functionality)
 </li></ul>
 Optional:
 <ul>
 <li>adodb-error.inc.php and lang/adodb-$lang.inc.php (if you use MetaError())
 </li><li>adodb-csvlib.inc.php (if you use cached recordsets - CacheExecute(), etc)
 </li><li>adodb-exceptions.inc.php and adodb-errorhandler.inc.php (if you use adodb error handler or php5 exceptions).
+<li>adodb-active-record.inc.php if you use <a href=docs-active-record.htm>Active Records</a>.
 </li></ul>
 
 <h3>Code Initialization Examples<a name="coding"></a></h3>
@@ -253,7 +257,7 @@
  or use NConnect().
 
  <a name="dsnsupport"></a>
- </p><h3>Data Source Name (DSN) Support</h3> 
+ </p><h3>Data Source Name (DSN) Support</h3>
  <p> Since ADOdb 4.51, you can connect to a database by passing a dsn to NewADOConnection() (or ADONewConnection, which is
  the same function). The dsn format is:
 </p><pre>	$driver://$username:$password@hostname/$database?options[=value]<br></pre><p>
@@ -270,13 +274,14 @@
 	$dsn2 = 'mysql://root:pwd@localhost/mydb?persist'; 
 </pre>
 <p>
-If you have special characters such as /:? in your dsn, then you need to rawurlencode them first:
-</p><pre>	$pwd = rawurlencode($pwd);<br>	$dsn = "mysql://root:$pwd@localhost/mydb";<br></pre>
+If you have special characters such as /:?_ in your dsn, then you need to rawurlencode them first:
+</p><pre>	$pwd = rawurlencode($pwd);<br>	$dsn = "mysql://root:$pwd@localhost/mydb";
+	$dsn2=rawurlencode("sybase_ase")."://user:pass@host/path?query";<br></pre>
 <p>
 Legal options are:
 </p><p>
 <table align="center" border="1"><tbody><tr><td>For all drivers</td><td>
-	'persist', 'persistent', 'debug', 'fetchmode'
+	'persist', 'persistent', 'debug', 'fetchmode', 'new'
 	</td></tr><tr><td>Interbase/Firebird
 	</td><td>
 					 'dialect','charset','buffers','role'
@@ -291,7 +296,8 @@
  'nls_date_format','charset'
 </td></tr></tbody></table>
 </p><p>
-For all drivers, when the options <i>persist</i> or <i>persistent</i> are set,  a persistent connection is forced.
+For all drivers, when the options <i>persist</i> or <i>persistent</i> are set,  a persistent connection is forced; similarly, when <i>new</i> is set, then
+a new connection will be created using NConnect if the underlying driver supports it. 
 The <i>debug</i> option enables debugging. The <i>fetchmode</i> calls <a href="#setfetchmode">SetFetchMode()</a>.
 If no value is defined for an option, then the value is set to 1.
 </p><p>
@@ -317,7 +323,21 @@
  </a></pre>
 <p><a name="connect_ex"> For most drivers, you can use the standard function: Connect($server, $user, $password, $database), or
 a </a><a href="dsnsupport">DSN</a> since ADOdb 4.51. Exceptions to this are listed below.
-</p><h4>PostgreSQL</h4>
+</p>
+<a name=pdo>
+<h4>PDO</h4>
+<p>PDO, which only works with PHP5, accepts a driver specific connection string:
+<pre>
+	$conn =& NewADConnection('pdo');
+	$conn->Connect('mysql:host=localhost',$user,$pwd,$mydb);
+	$conn->Connect('mysql:host=localhost;dbname=mydb',$user,$pwd);
+	$conn->Connect("mysql:host=localhost;dbname=mydb;username=$user;password=$pwd");
+</pre>
+<p>The DSN mechanism is also supported:
+<pre>
+	$conn =& NewADConnection("pdo_mysql://user:pwd@localhost/mydb?persist"); # persist is optional
+</pre>
+<h4>PostgreSQL</h4>
 <p>PostgreSQL 7 and 8 accepts connections using: </p>
 <p>a. the standard connection string:</p>
 <pre>	$conn = &amp;ADONewConnection('postgres');  <br>	$conn-&gt;PConnect('host=localhost port=5432 dbname=mary');</pre>
@@ -428,7 +448,12 @@
 or if you prefer to use the mssql extension (which is limited to mssql 6.5 functionality):
 <pre>	$db =&amp; ADONewConnection('mssql');<br>	$db-&gt;Execute('localhost', 'userid', 'password', 'northwind');<br></pre>
 For DB2:
-<pre>	$db =&amp; ADONewConnection('db2');<br>	$dsn = "driver={IBM db2 odbc DRIVER};Database=sample;hostname=localhost;port=50000;protocol=TCPIP;".<br>			"uid=root; pwd=secret";<br>	$db-&gt;Connect($dsn);<br></pre>
+<pre>
+	$dbms = 'db2'; # or 'odbc_db2' if db2 extension not available
+	$db =&amp; ADONewConnection($dbms);
+	$dsn = "driver={IBM db2 odbc DRIVER};Database=sample;hostname=localhost;port=50000;protocol=TCPIP;".
+				"uid=root; pwd=secret";<br>	$db-&gt;Connect($dsn);
+</pre>
 <b>DSN-less Connections with ADO</b><br>
 If you are using versions of PHP earlier than PHP 4.3.0, DSN-less connections 
 only work with Microsoft's ADO, which is Microsoft's COM based API. An example 
@@ -511,6 +536,9 @@
  ADOdb 4.02 or later will transparently determine which version of PHP you are using.
 If PHP5 is detected, the following features become available:
 <ul>
+
+<li><b>PDO</b>: PDO drivers are available. See the <a href=#pdo>connection examples</a>. Currently PDO drivers are
+ not as powerful as native drivers, and should be treated as experimental.<br><br>
 <a name="php5iterators"></a>
 <li><b>Foreach iterators</b>: This is a very natural way of going through a recordset:
 <pre>	$ADODB_FETCH_MODE = ADODB_FETCH_NUM;<br>	$rs = $db-&gt;Execute($sql);<br>	foreach($rs as $k =&gt; $row) {<br>		echo "r1=".$row[0]." r2=".$row[1]."&lt;br&gt;";<br>	}<br></pre>
@@ -571,11 +599,18 @@
     <td><font size="2">ADO or OLEDB provider</font></td>
     <td><font size="2">Windows only</font></td>
   </tr>
-  <tr valign="top"> 
+    <tr valign="top"> 
     <td height="54"><b><font size="2">db2</font></b></td>
-    <td height="54"><font size="2">A</font></td>
-    <td height="54"><font size="2">DB2. Should work reliably as based on ODBC 
-      driver.</font></td>
+    <td height="54"><font size="2">C</font></td>
+    <td height="54"><font size="2">Uses PHP's db2-specific extension for better performance.</font></td>
+    <td height="54"><font size="2">Y/N</font></td>
+    <td height="54"><font size="2">DB2 CLI/ODBC interface</font></td>
+    <td height="54"> <p><font size="2">Unix and Windows. Requires IBM DB2 Universal Database client.</font></p></td>
+  </tr>
+  <tr valign="top"> 
+    <td height="54"><b><font size="2">odbc_db2</font></b></td>
+    <td height="54"><font size="2">C</font></td>
+    <td height="54"><font size="2">Connects to DB2 using generic ODBC extension.</font></td>
     <td height="54"><font size="2">Y/N</font></td>
     <td height="54"><font size="2">DB2 CLI/ODBC interface</font></td>
     <td height="54"> <p><font size="2">Unix and Windows. <a href="http://www.faqts.com/knowledge_base/view.phtml/aid/6283/fid/14">Unix 
@@ -917,7 +952,7 @@
   except for PostgreSQL and MySQL. This variable is checked every time a query 
   is executed, so you can selectively choose which recordsets to count.</p>
 <p> 
-</p><hr>
+</p><hr />
 <h1>Tutorials<a name="quickstart"></a></h1>
 <h3>Example 1: Select Statement<a name="ex1"></a></h3>
 <p>Task: Connect to the Access Northwind DSN, display the first 2 columns of each 
@@ -1386,10 +1421,10 @@
 </tbody></table>
 <font> 
 </font><p><font>The following code will generate the SQL for a cross-tabulation: 
-</font></p><pre><font># Query the main "product" table<br># Set the rows to CompanyName<br># and the columns to the values of Categories<br># and define the joins to link to lookup tables <br># "categories" and "suppliers"<br>#<br> include "adodb/pivottable.php";<br> $sql = PivotTableSQL(<br> 	$gDB,                                      # adodb connection<br> 	'products p ,categories c ,suppliers s',   # tables<br>	'CompanyName',                             # rows (multiple fields allowed)<br>	'CategoryName',                            # column to pivot on <br>	'p.CategoryID = c.CategoryID and s.SupplierID= p.SupplierID' # joins/where<br>);<br></font></pre>
+</font></p><pre><font># Query the main "product" table<br># Set the rows to SupplierName<br># and the columns to the values of Categories<br># and define the joins to link to lookup tables <br># "categories" and "suppliers"<br>#<br> include "adodb/pivottable.inc.php";<br> $sql = PivotTableSQL(<br> 	$gDB,                                      # adodb connection<br> 	'products p ,categories c ,suppliers s',   # tables<br>	'SupplierName',                             # rows (multiple fields allowed)<br>	'CategoryName',                            # column to pivot on <br>	'p.CategoryID = c.CategoryID and s.SupplierID= p.SupplierID' # joins/where<br>);<br></font></pre>
  
 <p><font> This will generate the following SQL:</font></p>
-<p><code><font size="2">SELECT CompanyName, <br>
+<p><code><font size="2">SELECT SupplierName, <br>
   SUM(CASE WHEN CategoryName='Beverages' THEN 1 ELSE 0 END) AS "Beverages", 
   <br>
   SUM(CASE WHEN CategoryName='Condiments' THEN 1 ELSE 0 END) AS "Condiments", 
@@ -1409,11 +1444,11 @@
   SUM(1) as Total <br>
   FROM products p ,categories c ,suppliers s WHERE p.CategoryID = c.CategoryID 
   and s.SupplierID= p.SupplierID <br>
-  GROUP BY CompanyName</font></code></p>
+  GROUP BY SupplierName</font></code></p>
 <p> You can also pivot on <i>numerical columns</i> and <i>generate totals</i> 
 	by using ranges. <font>This code was revised in ADODB 2.41 
 	and is not backward compatible.</font> The second example shows this:</p>
-<pre> $sql = PivotTableSQL(<br> 	$gDB,                                       # adodb connection<br> 	'products p ,categories c ,suppliers s',    # tables<br>	'CompanyName',                              #<font> rows (multiple fields allowed)</font>
+<pre> $sql = PivotTableSQL(<br> 	$gDB,                                       # adodb connection<br> 	'products p ,categories c ,suppliers s',    # tables<br>	'SupplierName',                              #<font> rows (multiple fields allowed)</font>
    array(                                       # column ranges
 	' 0 '      =&gt; 'UnitsInStock &lt;= 0',
 	"1 to 5"   =&gt; '0 &lt; UnitsInStock and UnitsInStock &lt;= 5',
@@ -1427,7 +1462,7 @@
 );
 </pre> 
 <p>Which generates: </p>
-<p> <code> <font size="2">SELECT CompanyName, <br>
+<p> <code> <font size="2">SELECT SupplierName, <br>
 	SUM(CASE WHEN UnitsInStock &lt;= 0 THEN UnitsInStock ELSE 0 END) AS "Sum 
 	0 ", <br>
 	SUM(CASE WHEN 0 &lt; UnitsInStock and UnitsInStock &lt;= 5 THEN UnitsInStock 
@@ -1442,9 +1477,9 @@
 	SUM(1) as Total,<br>
 	FROM products p ,categories c ,suppliers s WHERE p.CategoryID = c.CategoryID 
 	and s.SupplierID= p.SupplierID <br>
-	GROUP BY CompanyName</font></code><font size="2"><br>
+	GROUP BY SupplierName</font></code><font size="2"><br>
 	</font> </p>
-<font><hr>
+<font><hr />
 <h1>Class Reference<a name="ref"></a></h1>
 <p>Function parameters with [ ] around them are optional.</p>
 </font> 
@@ -1524,7 +1559,7 @@
 	include('adodb.inc.php'); </font></p>
 <h3><font><a name="force_type"></a>$ADODB_FORCE_TYPE</font></h3>
 <p><font>See the <a href="#ADODB_FORCE_TYPE">GetUpdateSQL tutorial</a>.
-</font></p><hr>
+</font></p><hr />
 <h2><font>ADOConnection<a name="adoconnection"></a></font></h2>
 <p><font>Object that performs the connection to the database, executes SQL statements 
 	and has a set of utility functions for standardising the format of SQL statements 
@@ -1583,7 +1618,7 @@
 	Oracle 8.0.5 and earlier.</font></p>
 <p><font><b>autoRollback</b>: Persistent connections are auto-rollbacked in PConnect( 
 	) if this is set to true. Default is false.</font></p>
-<hr>
+<hr />
 <h3><font>ADOConnection Main Functions</font></h3>
 <p><font><b>ADOConnection( )</b></font></p>
 <p><font>Constructor function. Do not call this directly. Use ADONewConnection( ) instead.</font></p>
@@ -1614,7 +1649,7 @@
 <p><font>We now perform a rollback on persistent connection for selected databases since 
 	2.21, as advised in the PHP manual. See change log or source code for which 
 	databases are affected. 
-</font></p><p><font>Returns true/false depending on connection. Since 4.23, null is returned if the extension is not loaded.
+</font></p><p><font>Returns true/false depending on connection. Since 4.23, 0 is returned if the extension is not loaded.
 See Connect( ) above for more info.</font></p>
 <p><font>Since ADOdb 2.21, we also support autoRollback. If you set:</font></p>
  
@@ -1732,7 +1767,13 @@
 </font><p><font><b>CacheFlush<a name="cacheflush"></a>($sql=false,$inputarr=false)</b></font></p>
 <p><font>Flush (delete) any cached recordsets for the SQL statement $sql in $ADODB_CACHE_DIR. 
 </font></p><p><font>If no parameter is passed in, then all adodb_*.cache files are deleted. 
-</font></p><p><font> If you want to flush all cached recordsets manually, execute the following 
+</font></p>
+  <p>CacheSelectLimit() rewrites the SQL query, so you won't be able to pass the SQL to CacheFlush. In this case,
+   to flush the cached SQL recordset returned by CacheSelectLimit(), set $secs2cache to 0:
+<pre>
+	$db->CacheSelectLimit(0, $sql, $nrows);
+</pre>
+<p><font> If you want to flush all cached recordsets manually, execute the following 
 	PHP code (works only under Unix): <br>
 	<code> &nbsp; system("rm -f `find ".$ADODB_CACHE_DIR." -name 
 	adodb_*.cache`");</code></font></p>
@@ -1952,7 +1993,7 @@
 useful if you are calling black-box functions in which SQL queries might be executed.
  Also all BeginTrans, CommitTrans and RollbackTrans calls inside a StartTrans block 
   will be disabled, so even if the black box function does a commit, it will be ignored.
-</font></p><pre><font>$DB-&gt;StartTrans();<br>CallBlackBox();<br>$DB-&gt;Execute("update table1 set val=$val1 where id=$id");<br>$DB-&gt;Execute("update table2 set val=$val2 where id=$id");<br>$DB-&gt;CompleteTrans($ok);<br></font></pre>
+</font></p><pre><font>$DB-&gt;StartTrans();<br>CallBlackBox();<br>$DB-&gt;Execute("update table1 set val=$val1 where id=$id");<br>$DB-&gt;Execute("update table2 set val=$val2 where id=$id");<br>$DB-&gt;CompleteTrans();<br></font></pre>
 <p><font>Note that a StartTrans blocks are nestable, the inner blocks are ignored.
  </font></p><p><font><b>CompleteTrans<a name="completetrans"></a>($autoComplete=true)</b></font></p>
 <font>  </font><p><font>Complete a transaction called with StartTrans(). This function monitors
@@ -1994,8 +2035,36 @@
 <p><font>End a transaction, rollback all changes. Returns true if successful. If the 
   database does not support transactions, will return false as data is never rollbacked. 
 </font></p>
-<font> 
-</font><p><font><b>GetAssoc<a name="getassoc1"></a>($sql,$inputarr=false,$force_array=false,$first2cols=false)</b></font></p>
+ 
+<p><font><b>SetTransactionMode<a name="SetTransactionMode"></a>($mode )</b></font></p>
+<p>SetTransactionMode allows you to pass in the transaction mode to use for all subsequent transactions. 
+Note: if you have persistent connections and using mssql or mysql, you might have to explicitly reset your transaction mode at the beginning of each page request. 
+This is only supported in postgresql, mssql, mysql with InnoDB and oci8 currently. For example:
+<pre>
+$db->SetTransactionMode("SERIALIZABLE");
+$db->BeginTrans();
+$db->Execute(...); $db->Execute(...);
+$db->CommiTrans();
+
+$db->SetTransactionMode(""); // restore to default
+$db->StartTrans();
+$db->Execute(...); $db->Execute(...);
+$db->CompleteTrans();
+</pre>
+
+<p>Supported values to pass in:
+<ul>
+<li>READ UNCOMMITTED (allows dirty reads, but fastest)
+<li>READ COMMITTED (default postgres, mssql and oci8)
+<li>REPEATABLE READ (default mysql)
+<li>SERIALIZABLE (slowest and most restrictive)
+</ul>
+<p>You can also pass in database specific values such as 'SNAPSHOT' for mssql or 'READ ONLY' for oci8/postgres.
+<p>See transaction levels for <a href=http://www.postgresql.org/docs/8.1/interactive/sql-set-transaction.html>PostgreSQL</a>,
+<a href=http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_10005.htm>Oracle</a>,
+<a href=http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html>MySQL</a>, and
+<a href=http://msdn2.microsoft.com/en-US/ms173763.aspx>MS SQL Server</a>.
+<p><font><b>GetAssoc<a name="getassoc1"></a>($sql,$inputarr=false,$force_array=false,$first2cols=false)</b></font></p>
 <p><font>Returns an associative array for the given query $sql with optional bind parameters 
   in $inputarr. If the number of columns returned is greater to two, a 2-dimensional 
   array is returned, with the first column of the recordset becomes the keys 
@@ -2284,10 +2353,15 @@
 {
 global $EXECS;
 
-if (!is_array(inputarray)) $EXECS++;
-<font color="#006600"># handle 2-dimensional input arrays</font>
-else if (is_array(reset($inputarray))) $EXECS += sizeof($inputarray);
-else $EXECS++;
+	if (!is_array(inputarray)) $EXECS++;
+	<font color="#006600"># handle 2-dimensional input arrays</font>
+	else if (is_array(reset($inputarray))) $EXECS += sizeof($inputarray);
+	else $EXECS++;
+
+	
+	<font color="#006600"># in PHP4.4 and PHP5, we need to return a value by reference</font>
+	$null = null;
+	return $null;
 }
 
 <font color="#006600"># $db is the connection object</font>
@@ -2308,7 +2382,7 @@
   processing. This is used internally by ADOdb to implement LogSQL() functionality. 
 </p>
 <p>
-</p><hr>
+</p><hr />
 <h3><font>ADOConnection Utility Functions</font></h3>
 <p><font><b>BlankRecordSet<a name="blankrecordset"></a>([$queryid])</b></font></p>
 <p><font>No longer available - removed since 1.99.</font></p>
@@ -2324,12 +2398,38 @@
   Y-m-d. Uses the fmtDate field, which holds the format to use. If null or false 
   or '' is passed in, it will be converted to an SQL null.</font></p>
 <p><font>Returns the date as a quoted string.</font></p>
+<pre>
+	$sql = "select * from atable where created > ".$db->DBDate("$year-$month-$day");
+	$db->Execute($sql);
+</pre>
+<p><font><b>BindDate<a name="binddate"></a>($date)</b></font></p>
+<p><font>Format the $<b>date</b> in the bind format the database accepts. Normally
+ this means that the date string is not quoted, unlike DBDate, which quotes the string.
+<pre>
+	$sql = "select * from atable where created > ".$db->Param('0');
+	// or
+	$sql = "select * from atable where created > ?";
+	$db->Execute($sql,array($db->BindDate("$year-$month-$day"));
+</pre>
 <p><font><b>DBTimeStamp<a name="dbtimestamp"></a>($ts)</b></font></p>
 <p><font>Format the timestamp $<b>ts</b> in the format the database accepts; this can 
   be a Unix integer timestamp or an ISO format Y-m-d H:i:s. Uses the fmtTimeStamp 
   field, which holds the format to use. If null or false or '' is passed in, it 
   will be converted to an SQL null.</font></p>
 <p><font>Returns the timestamp as a quoted string.</font></p>
+<pre>
+	$sql = "select * from atable where created > ".$db->DBTimeStamp("$year-$month-$day $hr:$min:$secs");
+	$db->Execute($sql);
+</pre>
+<p><font><b>BindTimeStamp<a name="bindtimestamp"></a>($ts)</b></font></p>
+<p><font>Format the timestamp $<b>ts</b> in the bind format the database accepts. Normally
+ this means that the timestamp string is not quoted, unlike DBTimeStamp, which quotes the string.
+<pre>
+	$sql = "select * from atable where created > ".$db->Param('0');
+	// or
+	$sql = "select * from atable where created > ?";
+	$db->Execute($sql,array($db->BindTimeStamp("$year-$month-$day $hr:$min:$secs"));
+</pre>
 <p><font><b>qstr<a name="qstr"></a>($s,[$magic_quotes_enabled</b>=false]<b>)</b></font></p>
 <p><font>Quotes a string to be sent to the database. The $<b>magic_quotes_enabled</b> 
   parameter may look funny, but the idea is if you are quoting a string extracted 
@@ -2369,13 +2469,13 @@
 <p><font>You can define a mask for matching. For example, setting $mask = 'TMP%' will 
   match all tables that begin with 'TMP'. Currently only mssql, oci8, odbc_mssql 
   and postgres* support $mask. 
-</font></p><p><font><b>MetaColumns<a name="metacolumns"></a>($table,$toupper=true)</b></font></p>
+</font></p><p><font><b>MetaColumns<a name="metacolumns"></a>($table,$notcasesensitive=true)</b></font></p>
 <p><font>Returns an array of ADOFieldObject's, one field object for every column of 
   $table. A field object is a class instance with (name, type, max_length) defined.
   Currently Sybase does not recognise date types, and ADO cannot identify 
   the correct data type (so we default to varchar).   
- </font></p><p><font> The $toupper parameter determines whether we uppercase the table name 
- (required for some databases).
+ </font></p><p><font> The $notcasesensitive parameter determines whether we uppercase or lowercase the table name to normalize it
+ (required for some databases). Does not work with MySQL ISAM tables.
  </font></p><p><font>For schema support, pass in the $table parameter, "$schema.$tablename". This is only
  supported for selected databases.
 </font></p><p><font><b>MetaColumnNames<a name="metacolumnames"></a>($table,$numericIndex=false)</b></font></p>
@@ -2395,7 +2495,7 @@
 should return an array containing the fields that make up the primary key. If that function exists,
 it will be called when MetaPrimaryKeys() cannot find a primary key for a table or view.
 </font></p><pre><font>// In this example: dbtype = 'oci8', $db = 'mydb', $view = 'dataView', $owner = false <br>function ADODB_View_PrimaryKeys($dbtype,$db,$view,$owner)<br>{<br>	switch(strtoupper($view)) {<br>	case 'DATAVIEW': return array('DATAID');<br>	default: return false;<br>	}<br>}<br><br>$db = NewADOConnection('oci8');<br>$db-&gt;Connect('localhost','root','','mydb'); <br>$db-&gt;MetaPrimaryKeys('dataView');<br></font></pre>
-<p><font><b>ServerInfo<a name="serverinfo" id="serverinfo"></a>($table)</b></font> 
+<p><font><b>ServerInfo<a name="serverinfo" id="serverinfo"></a>()</b></font> 
 </p>
 <p><font>Returns an array of containing two elements 'description' 
   and 'version'. The 'description' element contains the string description of 
@@ -2409,7 +2509,7 @@
 </font></p><pre><font>	array(<br>		'dept_table' =&gt; array('deptkey=deptid'),<br>		'posn_table' =&gt; array('posn=positionid','poscategory=category')<br>	)<br></font></pre>
 <p><font>The optional schema or owner can be defined in $owner. If $upper is true, then 
   the table names (array keys) are upper-cased. 
-</font></p><hr>
+</font></p><hr />
 <h2><font>ADORecordSet<a name="adorecordset"></a></font></h2>
 <p><font>When an SQL statement successfully is executed by <font face="Courier New, Courier, mono">ADOConnection-&gt;Execute($sql),</font>an 
   ADORecordSet object is returned. This object contains a virtual cursor so we 
@@ -2537,6 +2637,7 @@
   A: AM/PM indicator
   w: day of week (0-6 or 1-7 depending on DB)
   l: day of week (as string - lowercase L)
+  W: week in year (0..53 for MySQL, 1..53 for PostgreSQL and Oracle)
   </font></pre>
 <p><font>All other characters are treated as strings. You can
     also use \ to escape characters. Available on selected databases, including
@@ -2649,7 +2750,7 @@
 <p><font><b>FetchNextObject<a name="fetchnextobject"></a>($toupper=true)</b></font></p>
 <p><font>Gets the current row as an object and moves to the next
     row automatically. Returns false if at end-of-file. If you set $toupper to
-  true, then the object fields are set to upper-case.</font></p>
+  true, then the object fields are set to upper-case. Note that for some drivers such as mssql, you need to SetFetchMode(ADODB_FETCH_ASSOC) or SetFetchMode(ADODB_FETCH_BOTH).</font></p>
 <pre><font>$rs = $db-&gt;Execute('select firstname,lastname from table');<br>if ($rs) {<br>	while ($o = $rs-&gt;FetchNextObject()) {<br>		print "$o-&gt;FIRSTNAME, $o-&gt;LASTNAME&lt;BR&gt;";<br>	}<br>}<br></font></pre>
 <p><font>There is some trade-off in speed in using FetchNextObject().
 If performance is important, you should access rows with the <code>fields[]</code> array. <b>FetchObj<a name="fetchobj" id="fetchobj"></a>()</b> </font></p>
@@ -2701,7 +2802,7 @@
 call this function as recordsets are closed for you by PHP at the end of the
 script. SQL statements such as INSERT/UPDATE/DELETE do not really return a recordset,
 so you do not have to call Close() for such SQL statements.</font></p>
-<hr>
+<hr />
 <h3><font>function rs2html<a name="rs2html"></a>($adorecordset,[$tableheader_attributes],
   [$col_titles])</font></h3>
 <p><font>This is a standalone function (rs2html = recordset to
@@ -2714,7 +2815,7 @@
 <p><font>You will need to include the file <i>tohtml.inc.php</i>.</font></p>
 <p><font>Example of rs2html:<b><font color="#336600"><a name="exrs2html"></a></font></b></font></p>
 <pre><font><b><font color="#336600">&lt;?<br>include('tohtml.inc.php')</font></b>; # load code common to ADOdb <br><b>include</b>('adodb.inc.php'); # load code common to ADOdb <br>$<font color="#663300">conn</font> = &amp;ADONewConnection('mysql');   # create a connection <br>$<font color="#663300">conn</font>-&gt;PConnect('localhost','userid','','agora');# connect to MySQL, agora db<br>$<font color="#663300">sql</font> = 'select CustomerName, CustomerID from customers'; <br>$<font color="#663300">rs</font>   = $<font color="#663300">conn</font>-&gt;Execute($sql); <br><font color="#336600"><b>rs2html</b></font><b>($<font color="#663300">rs</font>,'<i>border=2 cellpadding=3</i>',array('<i>Customer Name','Customer ID</i>'));<br>?&gt;</b></font></pre>
-<hr>
+<hr />
 <h3><font>Differences between this ADOdb library and Microsoft
 ADO<a name="adodiff"></a></font></h3>
 <ol>
@@ -2733,7 +2834,7 @@
 <li>Recordset properties for paging records are available, but implemented as
   in <a href="#ex8">Example 8</a>.</li>
 </font></ol>
-<hr>
+<hr />
 <h1><font>Database Driver Guide<a name="driverguide"></a></font></h1>
 <p><font>This describes how to create a class to connect to a
     new database. To ensure there is no duplication of work, kindly email me
@@ -2811,8 +2912,88 @@
   PHP</a>. </font></p>
 
 <h2><font>Change Log<a name="Changes"></a><a name="changes"></a><a name="changelog"></a></font></h2>
-
-<p><a name="4.66"></a><b>4.66 ?? July  2005</b>
+<p><a name="4.91"></a><b>4.91 2 Aug 2006</b>
+<p>Major session code rewrite .... See session docs.
+<p>PDO bindinputarray was not set properly for MySQL (changed from true to false).
+<p>Changed CacheSelectLimit() to re-cache when $secs2cache==0. This is one way to flush the cache when SelectLimit is called.
+<p>Added to quotes to mysql  and mysqli: "SHOW COLUMNS FROM `%s`";
+<p>Removed accidental optgroup handling in GetMenu().
+<a>Fixed ibase _BlobDecode for php5 compat, and also mem alloc issues for small blobs, thx salvatori#interia.pl
+<p>Mysql driver OffsetDate() speedup, useful for adodb-sessions.
+<p>Fix for GetAssoc() PHP5 compat. See http://phplens.com/lens/lensforum/msgs.php?id=15425
+<p>Active Record - If inserting a record and the value of a primary key field is null, then we do not insert that field in as we assume it is an auto-increment field. Needed by mssql.
+<p>Changed postgres7 MetaForeignKeys() see http://phplens.com/lens/lensforum/msgs.php?id=15531
+<p>DB2 will now return db2_conn_errormsg() when it is a connection error. 
+<p><a name="4.90"></a><b>4.90 8 June 2006</b>
+<p>Changed adodb_countrec() in adodb-lib.inc.php to allow LIMIT to be used as a speedup to reduce no of records counted.
+<p>Added support for transaction modes for postgres and oci8 with SetTransactionMode(). 
+These transaction modes affect all subsequent transactions of that connection.
+<p>Thanks to Halmai Csongor for suggestion.
+<p>Removed $off = $fieldOffset - 1 line in db2 driver, FetchField(). Tx Larry Menard.
+<p>Added support for PHP5 objects as Execute() bind parameters using __toString (eg. Simple-XML). Thx Carl-Christian Salvesen.
+<p>Rounding in tohtml.inc.php did not work properly. Fixed.
+<p>MetaIndexes in postgres fails when fields are deleted then added in again because the attnum has gaps in it. 
+See http://sourceforge.net/tracker/index.php?func=detail&aid=1451245&group_id=42718&atid=433976. Fixed.
+<p>MetaForeignkeys in mysql and mysqli did not work when fetchMode==ADODB_FETCH_ASSOC used. Fixed.
+<p>Reference error in AutoExecute() fixed.
+<p>Added macaddr postgres type to MetaType. Maps to 'C'.
+<p>Added to _connect() in adodb-ado5.inc.php support for $database and $dataProvider parameters.  Thx Larry Menard.
+<p>Added support for sequences in adodb-ado_mssql.inc.php. Thx Larry Menard.
+<p>Added ADODB_SESSION_READONLY.
+<p>Added session expiryref support to crc32 mode, and in LOB code.
+<p>Clear _errorMsg in postgres7 driver, so that ErrorMsg() displays properly when no error occurs.
+<p>Added BindDate and BindTimeStamp
+<p><a name="4.81"></a><b>4.81 3 May 2006</b>
+<p>Fixed variable ref errors in adodb-ado5.inc.php in _query().
+<p>Mysqli setcharset fix using method_exists().
+<p>The adodb-perf.inc.php CreateLogTable() code now works for user-defined table names.
+<p>Error in ibase_blob_open() fixed. See http://phplens.com/lens/lensforum/msgs.php?id=14997
+<p><a name="4.80"></a><b>4.80 8 Mar 2006</b>
+<p>Added activerecord support.
+<p>Added mysql $conn->compat323 = true if you want MySQL 3.23 compat enabled. Fixes GetOne() Select-Limit problems.
+<p>Added adodb-xmlschema03.inc.php to support XML Schema version 3 and updated adodb-datadict.htm docs.
+<p>Better memory management in Execute. Thx Mike Fedyk.
+<p><a name="4.72"></a><b>4.72 21 Feb 2006</b>
+<p>Added 'new' DSN parameter for NConnect().
+<p>Pager now sanitizes $PHP_SELF to protect against XSS. Thx to James Bercegay and others.
+<p>ADOConnection::MetaType changed to setup $rs->connection correctly. 
+<p>New native DB2 driver contributed by Larry Menard, Dan Scott, Andy Staudacher, Bharat Mediratta.
+<p>The mssql CreateSequence() did not BEGIN TRANSACTION correctly. Fixed. Thx Sean Lee.
+<p>The _adodb_countrecs() function in adodb-lib.inc.php has been revised to handle more ORDER BY variations.
+<p><a name="4.71"></a><b>4.71 24 Jan 2006</b>
+<p>Fixes postgresql security issue related to binary strings. Thx to Andy Staudacher.
+<p>Several DSN bugs found:
+<p>1. Fix bugs in DSN connections introduced in 4.70 when underscores are found in the DSN. 
+<p>2. DSN with _ did not work properly in PHP5 (fine in PHP4). Fixed.
+<p>3. Added support for PDO DSN connections in NewADOConnection(), and database parameter in PDO::Connect().
+<p>The oci8 datetime flag not correctly implemented in ADORecordSet_array. Fixed.
+<p>Added BlobDelete() to postgres, as a counterpoint to UpdateBlobFile().
+<p>Fixed GetInsertSQL() to support oci8po.
+<p>Fixed qstr() issue with postgresql with \0 in strings.
+<p>Fixed some datadict driver loading issues in _adodb_getdriver(). 
+<p>Added register shutdown function session_write_close in adodb-session.inc.php for PHP 5 compat. See http://phplens.com/lens/lensforum/msgs.php?id=14200.
+<p><a name="4.70"></a><b>4.70 6 Jan 2006</b>
+<p>Many fixes from Danila Ulyanov  to ibase, oci8, postgres, mssql, odbc_oracle, odbtp, etc drivers.
+<p>Changed usage of binary hint in adodb-session.inc.php for mysql. See 
+http://phplens.com/lens/lensforum/msgs.php?id=14160
+<p>Fixed invalid variable reference problem in undomq(), adodb-perf.inc.php.
+<p>Fixed http://phplens.com/lens/lensforum/msgs.php?id=14254 in adodb-perf.inc.php, _DBParameter() settings of fetchmode was wrong.
+<p>Fixed security issues in server.php and tmssql.php discussed by Andreas Sandblad in a Secunia security advisory. Added $ACCEPTIP = 127.0.0.1
+and changed suggested root password to something more secure.
+<p>Changed pager to close recordset after RenderLayout().
+<p><a name="4.68"></a><b>4.68 25 Nov  2005</b>
+<p>PHP 5 compat for mysqli. MetaForeignKeys repeated twice and MYSQLI_BINARY_FLAG missing.
+<p>PHP 5.1 support for postgresql bind parameters using ? did not work if >= 10 parameters. Fixed. Thx to Stanislav Shramko.
+<p>Lots of PDO improvements.
+<p>Spelling error fixed in mysql MetaForeignKeys, $associative parameter.
+<p><a name="4.67"></a><b>4.67 16 Nov  2005</b>
+<p>Postgresql not_null flag not set to false correctly. Thx Cristian MARIN.
+<p>We now check in Replace() if key is in fieldArray. Thx Sbastien Vanvelthem.
+<p>_file_get_contents() function was missing in xmlschema. fixed.
+<p>Added week in year support to SQLDate(), using 'W' flag. Thx Spider.
+<p>In sqlite metacolumns was repeated twice, causing PHP 5 problems. Fixed.
+<p>Made debug output XHTML compliant. 
+<p><a name="4.66"></a><b>4.66 28 Sept  2005</b>
 <p>ExecuteCursor() in oci8 did not clean up properly on failure. Fixed.
 <p>Updated xmlschema.dtd, by "Alec Smecher" asmecher#smecher.bc.ca
 <p>Hardened SelectLimit, typecasting nrows and offset to integer.
@@ -3276,7 +3457,7 @@
 </p><p>Oci8 stored procedure support, eg. "begin func(); end;" was incorrect in _query. Fixed.
 </p><p>Tiraboschi Massimiliano contributed italian language file.
 </p><p>Fernando Ortiz, fortiz#lacorona.com.mx, contributed informix performance monitor.
-</p><p>Added _varchar (varchar arrays) support for postgresql. Reported by PREVOT St&eacute;phane.<hr>
+</p><p>Added _varchar (varchar arrays) support for postgresql. Reported by PREVOT St&eacute;phane.<hr />
 <p><strong>0.10 Sept 9 2000</strong> First release 
 </p><h3><strong>Old change log history moved to <a href="old-changelog.htm">old-changelog.htm</a>. 
   </strong></h3>
diff -ruN 0.762/includes/classes/adodb/docs/docs-datadict.htm 0.763/includes/classes/adodb/docs/docs-datadict.htm
--- 0.762/includes/classes/adodb/docs/docs-datadict.htm	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/docs/docs-datadict.htm	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
-  <title>ADODB Data Dictionary Manual</title>
+  <title>ADOdb Data Dictionary Manual</title>
   <meta http-equiv="Content-Type"
  content="text/html; charset=iso-8859-1">
   <style type="text/css">
@@ -20,7 +20,7 @@
 </head>
 <body style="background-color: rgb(255, 255, 255);">
 <h2>ADOdb Data Dictionary Library for PHP</h2>
-<p>V4.66 28 Sept 2005 (c) 2000-2005 John Lim (<a
+<p>V4.91 2 Aug 2006 (c) 2000-2006 John Lim (<a
  href="mailto:jlim#natsoft.com.my">jlim#natsoft.com.my</a>).<br>
 AXMLS (c) 2004 ars Cognita, Inc</p>
 <p><font size="1">This software is dual licensed using BSD-Style and
@@ -168,7 +168,7 @@
 <pre>  RETURNS:      0 if failed, 1 if executed all but with errors, 2 if executed successfully<br>  $sqlarray:    an array of strings with sql code (no semicolon at the end of string)<br>  $contOnError: if true, then continue executing even if error occurs<br></pre>
 <p>Executes an array of SQL strings returned by CreateTableSQL or
 CreateIndexSQL.</p>
-<hr>
+<hr />
 <a name="xmlschema"></a>
 <h2>ADOdb XML Schema (AXMLS)</h2>
 <p>This is a class contributed by Richard Tango-Lowy and Dan Cech that
@@ -241,7 +241,11 @@
 <p>Now that we've defined an XML schema, you need to know how to apply
 it to your database. Here's a simple PHP script that shows how to load
 the schema.</p>
-<pre class="listing"><pre>&lt;?PHP<br>/* You must tell the script where to find the ADOdb and<br> * the AXMLS libraries.<br> */<br>require( "path_to_adodb/adodb.inc.php");<br>require( "path_to_adodb/adodb-xmlschema.inc.php" );<br><br>/* Configuration information. Define the schema filename,<br> * RDBMS platform (see the ADODB documentation for valid<br> * platform names), and database connection information here.<br> */<br>$schemaFile = 'example.xml';<br>$platform = 'mysql';<br>$dbHost = 'localhost';<br>$dbName = 'database';<br>$dbUser = 'username';<br>$dbPassword = 'password';<br><br>/* Start by creating a normal ADODB connection.<br> */<br>$db = ADONewConnection( $platform );<br>$db-&gt;Connect( $dbHost, $dbUser, $dbPassword, $dbName );<br><br>/* Use the database connection to create a new adoSchema object.<br> */<br>$schema = new adoSchema( $db );<br><br>/* Call ParseSchema() to build SQL from the XML schema file.<br> * Then call ExecuteSchema() to apply the resulting SQL to <br> * the database.<br> */<br>$sql = $schema-&gt;ParseSchema( $schemaFile );<br>$result = $schema-&gt;ExecuteSchema();<br>?&gt;<br></pre></pre>
+<pre class="listing"><pre>&lt;?PHP<br>/* You must tell the script where to find the ADOdb and<br> * the AXMLS libraries.<br> */
+require( "path_to_adodb/adodb.inc.php");
+require( "path_to_adodb/adodb-xmlschema.inc.php" ); # or adodb-xmlschema03.inc.php
+
+/* Configuration information. Define the schema filename,<br> * RDBMS platform (see the ADODB documentation for valid<br> * platform names), and database connection information here.<br> */<br>$schemaFile = 'example.xml';<br>$platform = 'mysql';<br>$dbHost = 'localhost';<br>$dbName = 'database';<br>$dbUser = 'username';<br>$dbPassword = 'password';<br><br>/* Start by creating a normal ADODB connection.<br> */<br>$db = ADONewConnection( $platform );<br>$db-&gt;Connect( $dbHost, $dbUser, $dbPassword, $dbName );<br><br>/* Use the database connection to create a new adoSchema object.<br> */<br>$schema = new adoSchema( $db );<br><br>/* Call ParseSchema() to build SQL from the XML schema file.<br> * Then call ExecuteSchema() to apply the resulting SQL to <br> * the database.<br> */<br>$sql = $schema-&gt;ParseSchema( $schemaFile );<br>$result = $schema-&gt;ExecuteSchema();<br>?&gt;<br></pre></pre>
 <p>Let's look at each part of the example in turn. After you manually
 create the database, there are three steps required to load (or
 upgrade) your schema.</p>
@@ -251,11 +255,11 @@
 <p>Second, create the adoSchema object that load and manipulate your
 schema. You must pass an ADOdb database connection object in order to
 create the adoSchema object.</p>
-<pre class="listing"><pre>$schema = new adoSchema( $db );<br></pre></pre>
+<pre class="listing">$schema = new adoSchema( $db );<br></pre>
 <p>Third, call ParseSchema() to parse the schema and then
 ExecuteSchema() to apply it to the database. You must pass
 ParseSchema() the path and filename of your schema file.</p>
-<pre class="listing"><pre><br>$schema-&gt;ParseSchema( $schemaFile ); <br>$schema-&gt;ExecuteSchema(); <br></pre></pre>
+<pre class="listing">$schema-&gt;ParseSchema( $schemaFile ); <br>$schema-&gt;ExecuteSchema();</pre>
 <p>Execute the above code and then log into your database. If you've
 done all this right, you should see your tables, indexes, and SQL.</p>
 <p>You can find the source files for this tutorial in the examples
@@ -263,14 +267,41 @@
 documentation for a more detailed description of the adoSchema methods,
 including methods and schema elements that are not described in this
 tutorial.</p>
+<h3>XML Schema Version 3</h3>
+<p>In March 2006, we added adodb-xmlschema03.inc.php to the release, which supports version 3 of XML Schema. 
+The adodb-xmlschema.inc.php remains the same as previous releases, and supports version 2 of XML Schema. 
+Version 3 provides some enhancements:
+
+<ul>
+     <li> Support for updating table data during an upgrade.
+     <li> Support for platform-specific table options and platform negation.
+     <li> Support for unsigned fields.
+     <li> Fixed opt and constraint support
+     <li> Many other fixes such as OPT tag, which allows you to set optional platform settings:
+</ul>
+
+<p>Example usage:
+<pre>&lt;?xml version="1.0"?>
+<b>&lt;schema version="0.3"></b>
+ &lt;table name="ats_kb">
+  &lt;descr>ATS KnowledgeBase&lt;/descr>
+  &lt;opt platform="mysql">TYPE=INNODB&lt;/opt>
+  &lt;field name="recid" type="I"/>
+  &lt;field name="organization_code" type="I4"/> 
+  &lt;field name="sub_code" type="C" size="20"/>
+  etc...
+</pre>
+<p>To use it, change your code to include adodb-xmlschema03.inc.php.
+
 <h3>Upgrading</h3>
+<p>
 If your schema version is older, than XSLT is used to transform the
 schema to the newest version. This means that if you are using an older
 XML schema format, you need to have the XSLT extension installed.
 If you do not want to require your users to have the XSLT extension
 installed, make sure you modify your XML schema to conform to the
 latest version.
-<hr>
+<hr />
 <address>If you have any questions or comments, please email them to
 Richard at richtl#arscognita.com.
 </address>
diff -ruN 0.762/includes/classes/adodb/docs/docs-oracle.htm 0.763/includes/classes/adodb/docs/docs-oracle.htm
--- 0.762/includes/classes/adodb/docs/docs-oracle.htm	2005-07-24 11:58:30.000000000 -0500
+++ 0.763/includes/classes/adodb/docs/docs-oracle.htm	2006-10-17 16:24:09.000000000 -0500
@@ -62,7 +62,7 @@
 <p>This generates the following output:
 <div class=greybg>
 Array ( [0] => 7902 [1] => FORD [2] => ANALYST [3] => 7566 [4] => 03/DEC/81 [5] => 3000 [7] => 20 ) 
-<hr>
+<hr />
   Array ( [0] => 7934 [1] => MILLER [2] => CLERK [3] => 7782 [4] => 23/JAN/82 [5] => 1300 [7] => 10 )
 </div>
 <p>We also have  many higher level PHP libraries that allow you to simplify the above code. The most popular are <a href="http://pear.php.net/">PEAR DB</a> and <a href="http://adodb.sourceforge.net/">ADOdb</a>.  Here are some of the differences between these libraries:</p>
@@ -203,12 +203,12 @@
 <pre>
 $arr = $db->GetOne("select ename from emp where empno=:emp", array('emp' => 7900));
 </pre>
-<p>For easy pagination support, we provide the SelectLimit function. The following will perform a select query, limiting it to 100 rows, starting from row 200:
+<p>For easy pagination support, we provide the SelectLimit function. The following will perform a select query, limiting it to 100 rows, starting from row 201 (row 1 being the 1st row):
 <pre>
 $offset = 200; $limitrows = 100;
-$rs = $db->SelectLimit('select * from table', $offset, $limitrows);
+$rs = $db->SelectLimit('select * from table', $limitrows, $offset);
 </pre>
-<p>The $limitrows parameter is optional.
+<p>The $offset parameter is optional.
 <h4>Array Fetch Mode</h4>
 <p>When data is being returned in an array, you can choose the type of array the data is returned in. 
 <ol>
diff -ruN 0.762/includes/classes/adodb/docs/docs-perf.htm 0.763/includes/classes/adodb/docs/docs-perf.htm
--- 0.762/includes/classes/adodb/docs/docs-perf.htm	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/docs/docs-perf.htm	2006-10-17 16:24:09.000000000 -0500
@@ -18,7 +18,7 @@
 </head>
 <body>
 <h3>The ADOdb Performance Monitoring Library</h3>
-<p>V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim#natsoft.com.my)</p>
+<p>V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my)</p>
 <p><font size="1">This software is dual licensed using BSD-Style and
 LGPL. This means you can use it in compiled proprietary and commercial
 products.</font></p>
diff -ruN 0.762/includes/classes/adodb/docs/docs-session.htm 0.763/includes/classes/adodb/docs/docs-session.htm
--- 0.762/includes/classes/adodb/docs/docs-session.htm	2005-10-10 09:04:06.000000000 -0500
+++ 0.763/includes/classes/adodb/docs/docs-session.htm	2006-10-17 16:24:09.000000000 -0500
@@ -19,9 +19,9 @@
   </style>
 </head>
 <body style="background-color: rgb(255, 255, 255);">
-<h3>ADODB Session Management Manual</h3>
+<h3>ADODB Session 2 Management Manual</h3>
 <p>
-V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim#natsoft.com.my)
+V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my)
 </p>
 <p> <font size="1">This software is dual licensed using BSD-Style and
 LGPL. This means you can use it in compiled proprietary and commercial
@@ -29,9 +29,17 @@
 <p>Useful ADOdb links: <a href="http://adodb.sourceforge.net/#download">Download</a>
 &nbsp; <a href="http://adodb.sourceforge.net/#docs">Other Docs</a>
 </p>
-<h3>Introduction</h3>
-<p> We store state information specific to a user or web client in
-session variables. These session variables persist throughout a
+<h2>Introduction</h2>
+<p> This document discusses the newer session handler adodb-session2.php. If
+  you have used the older adodb-session.php, then be forewarned that you will
+  need to alter your session table format. Otherwise everything is <a href="#compat">backward
+  compatible</a>.
+  Here are the <a href="docs-session.old.htm">older
+    docs</a> for
+  adodb-session.php.</p>
+<h2>Why Session Variables in a Database? </h2>
+<p>We store state information specific to a user or web
+    client in session variables. These session variables persist throughout a
 session, as the user moves from page to page. </p>
 <p>To use session variables, call session_start() at the beginning of
 your web page, before your HTTP headers are sent. Then for every
@@ -54,11 +62,49 @@
 <p>These records will be garbage collected based on the php.ini [session] timeout settings. 
 You can register a notification function to notify you when the record has expired and 
 is about to be freed by the garbage collector.</p>
-<p><b>Important Upgrade Notice:</b> Since ADOdb 4.05, the session files
-have been moved to its own folder, adodb/session. This is a rewrite
-of the session code by Ross Smith. The old session code is in
-adodb/session/old. </p>
-<h4>ADOdb Session Handler Features</h4>
+<p>An alternative to using a database backed session handler is to use <a href="http://www.danga.com/memcached/">memcached</a>.
+  This is a distributed memory based caching system suitable for storing session
+  information.
+  </p>
+<h2> The Improved Session Handler</h2>
+<p>In ADOdb 4.91, we added a new session handler, in adodb-session2.php.
+It features the following improvements:
+<ul>
+<li>Fully supports server farms using a new database table format. The
+  previous version used the web server time for timestamps, which can cause problems
+  on a system with multiple web servers with possibly inconsistent
+  times. The new version uses the database server time instead for all timestamps.
+<li>The older database table format is obsolete. The database table must be modified
+  to support storage of the database server time mentioned above. Also the field
+  named DATA has been changed to SESSDATA. In some databases, DATA is a reserved
+  word.
+<li>The functions dataFieldName() and syncSeconds() is obsolete.
+</ul>
+
+<p>Usage is 
+
+<pre>
+include_once("adodb/session/adodb-session2.php");
+ADOdb_Session::config($driver, $host, $user, $password, $database,$options=false);
+session_start();
+
+<font
+ color="#004040">#<br># Test session vars, the following should increment on refresh<br>#<br>$_SESSION['AVAR'] += 1;<br>print "&lt;p&gt;\$_SESSION['AVAR']={$_SESSION['AVAR']}&lt;/p&gt;";</font>
+</pre>
+
+<p>When the session is created in session_start( ), the global variable $<b>ADODB_SESS_CONN</b> holds
+the connection object.
+<p>The default name of the table is sessions2. If you want to override it:
+  
+<pre>
+include_once("adodb/session/adodb-session2.php");
+$options['table'] = 'mytablename';
+ADOdb_Session::config($driver, $host, $user, $password, $database,$options);
+session_start();
+</pre>
+
+
+<h3>ADOdb Session Handler Features</h3>
 <ul>
   <li>Ability to define a notification function that is called when a
 session expires. Typically
@@ -67,28 +113,29 @@
 only perform an update
 to the session data if there is a data change. </li>
   <li>Support for large amounts of session data with CLOBs (see
-adodb-session-clob.php). Useful
+adodb-session-clob2.php). Useful
 for Oracle. </li>
   <li>Support for encrypted session data, see
-adodb-cryptsession.inc.php. Enabling encryption is simply a matter of
-including adodb-cryptsession.inc.php instead of adodb-session.inc.php. </li>
+adodb-cryptsession2.php. Enabling encryption is simply a matter of
+including adodb-cryptsession2.php instead of adodb-session2.php. </li>
 </ul>
-<h3>Setup</h3>
+<h3>Session Handler Files </h3>
 <p>There are 3 session management files that you can use:
 </p>
-<pre>adodb-session.php        : The default<br>adodb-session-clob.php   : Use this if you are storing DATA in clobs<br>adodb-cryptsession.php   : Use this if you want to store encrypted session data in the database<br><br>
-</pre>
-<p><strong>Examples</strong>
-<p><pre>
- <font
- color="#004040">    include('adodb/adodb.inc.php');<br>    <br><b>    $ADODB_SESSION_DRIVER='mysql';<br>    $ADODB_SESSION_CONNECT='localhost';<br>    $ADODB_SESSION_USER ='scott';<br>    $ADODB_SESSION_PWD ='tiger';<br>    $ADODB_SESSION_DB ='sessiondb';</b><br>    <br>    <b>include('adodb/session/adodb-session.php');</b><br>    session_start();<br>    <br>    #<br>    # Test session vars, the following should increment on refresh<br>    #<br>    $_SESSION['AVAR'] += 1;<br>    print "&lt;p&gt;\$_SESSION['AVAR']={$_SESSION['AVAR']}&lt;/p&gt;";<br></font></pre>
+<pre>adodb-session2.php        : The default<br>adodb-cryptsession2.php   : Use this if you want to store encrypted session data in the database<br>adodb-session-clob2.php   : Use this if you are storing DATA in clobs and you are NOT using oci8 driver</pre>
+<h2><strong>Usage Examples</strong></h2>
+<p>To force non-persistent connections, call <font color="#004040"><b>Persist</b></font>() first before session_start():
+
  
-<p>To force non-persistent connections, call adodb_session_open() first before session_start():
-<p>
- <pre>
- <font color="#004040"><br>    include('adodb/adodb.inc.php');<br>    <br><b>    $ADODB_SESSION_DRIVER='mysql';<br>    $ADODB_SESSION_CONNECT='localhost';<br>    $ADODB_SESSION_USER ='scott';<br>    $ADODB_SESSION_PWD ='tiger';<br>    $ADODB_SESSION_DB ='sessiondb';</b><br>    <br>    <b>include('adodb/session/adodb-session.php');<br>    adodb_sess_open(false,false,false);</b><br>    session_start();<br> </font>
- </pre>
-<p> The 3rd parameter to adodb_sess_open($path, $sessname, $connectMode)  sets the connection method. You can pass in the following:</p>
+<pre>
+ <font color="#004040">
+include_once("adodb/session/adodb-session2.php");
+$driver = 'mysql'; $host = 'localhost'; $user = 'auser'; $pwd = 'secret'; $database = 'sessiondb';
+ADOdb_Session::config($driver, $host, $user, $password, $database,$options=false);<b><br>ADOdb_session::Persist($connectMode=false);</b>
+session_start();<br> </font>
+</pre>
+<p> The parameter to the Persist( ) method sets the connection mode. You can
+  pass the following:</p>
 <table width="50%" border="1">
   <tr>
     <td><b>$connectMode</b></td>
@@ -115,30 +162,46 @@
     <td>Connect( )</td>
   </tr>
 </table>
-<p>To use a encrypted sessions, simply replace the file adodb-session.php:</p>
+<p>To use a encrypted sessions, simply replace the file adodb-session2.php:</p>
  <pre> <font
- color="#004040"><br>    include('adodb/adodb.inc.php');<br>    <br><b>    $ADODB_SESSION_DRIVER='mysql';<br>    $ADODB_SESSION_CONNECT='localhost';<br>    $ADODB_SESSION_USER ='scott';<br>    $ADODB_SESSION_PWD ='tiger';<br>    $ADODB_SESSION_DB ='sessiondb';<br>    <br>    include('adodb/session/adodb-cryptsession.php');</b><br>    session_start();</font><br>
- </pre>
- <p>And the same technique for adodb-session-clob.php:</p>
+ color="#004040"><b><br>include('adodb/session/adodb-cryptsession2.php');</b><br>$driver = 'mysql'; $host = 'localhost'; $user = 'auser'; $pwd = 'secret'; $database = 'sessiondb';
+ADOdb_Session::config($driver, $host, $user, $password, $database,$options=false);<b><br>adodb_sess_open(false,false,$connectMode=false);</b>
+session_start();<br></font></pre>
+ <p>And the same technique for adodb-session-clob2.php:</p>
  <pre>  <font
- color="#004040"><br>    include('adodb/adodb.inc.php');<br>    <br><b>    $ADODB_SESSION_DRIVER='mysql';<br>    $ADODB_SESSION_CONNECT='localhost';<br>    $ADODB_SESSION_USER ='scott';<br>    $ADODB_SESSION_PWD ='tiger';<br>    $ADODB_SESSION_DB ='sessiondb';<br>    <br>    include('adodb/session/adodb-session-clob.php');</b><br>    session_start();</font>
- </pre>
- <h4>Installation</h4>
-<p>1. Create this table in your database (syntax might vary depending on your db):
-<p><pre> <a
- name="sessiontab"></a> <font color="#004040"><br>  create table sessions (<br>       SESSKEY char(32) not null,<br>       EXPIRY int(11) unsigned not null,<br>       EXPIREREF varchar(64),<br>       DATA text not null,<br>      primary key (sesskey)<br>  );</font><br> 
- </pre>
- <p> For the adodb-session-clob.php version, create this:
-<p>  <pre>
-    <font
- color="#004040"><br>    create table sessions (<br>       SESSKEY char(32) not null,<br>       EXPIRY int(11) unsigned not null,<br>       EXPIREREF varchar(64),<br>       DATA CLOB,<br>      primary key (sesskey)<br>  );</font>
- </pre>
- <p>2. Then define the following parameters. You can either modify this file, or define them before this file is included:
- <pre>      <font
- color="#004040"><br>    $ADODB_SESSION_DRIVER='database driver, eg. mysql or ibase';<br>    $ADODB_SESSION_CONNECT='server to connect to';<br>    $ADODB_SESSION_USER ='user';<br>    $ADODB_SESSION_PWD ='password';<br>    $ADODB_SESSION_DB ='database';<br>    $ADODB_SESSION_TBL = 'sessions'; # setting this is optional<br>	</font>
- </pre><p>
-     When the session is created, $<b>ADODB_SESS_CONN</b> holds the connection object.<br>    <br>  3. Recommended is PHP 4.0.6 or later. There are documented session bugs in earlier versions of PHP.
-<h3>Notifications</h3>
+ color="#004040"><br><b>include('adodb/session/adodb-session2-clob2.php');</b><br>$driver = 'oci8'; $host = 'localhost'; $user = 'auser'; $pwd = 'secret'; $database = 'sessiondb';
+ADOdb_Session::config($driver, $host, $user, $password, $database,$options=false);<b><br>adodb_sess_open(false,false,$connectMode=false);</b>
+session_start();</font></pre>
+ <h2>Installation</h2>
+<p>1. Create this table in your database. Here is the MySQL version:
+<pre> <a
+ name="sessiontab"></a> <font color="#004040">
+CREATE TABLE sessions2(<br>	  sesskey VARCHAR( 64 ) NOT NULL DEFAULT '',<br>	  expiry TIMESTAMP NOT NULL ,<br>	  expireref VARCHAR( 250 ) DEFAULT '',<br>	  created TIMESTAMP NOT NULL ,<br>	  modified TIMESTAMP NOT NULL ,<br>	  sessdata LONGTEXT DEFAULT '',<br>	PRIMARY KEY ( sesskey ) ,<br>	INDEX sess2_expiry( expiry ),<br>	INDEX sess2_expireref( expireref )<br>)</font></pre>
+
+ <p> For PostgreSQL, use:
+ <pre>CREATE TABLE sessions2(
+ sesskey VARCHAR( 64 ) NOT NULL DEFAULT '',
+ expiry TIMESTAMP NOT NULL ,
+ expireref VARCHAR( 250 ) DEFAULT '',
+ created TIMESTAMP NOT NULL ,
+ modified TIMESTAMP NOT NULL ,
+ sessdata TEXT DEFAULT '',
+ PRIMARY KEY ( sesskey )
+ );
+</pre>
+ <pre>create INDEX sess2_expiry on sessions2( expiry );
+create INDEX sess2_expireref on sessions2 ( expireref );</pre>
+ <p>Here is the Oracle definition, which uses a CLOB for the SESSDATA field:
+ <pre>
+  <font
+ color="#004040">CREATE TABLE SESSIONS2<br>(<br>   SESSKEY    VARCHAR2(48 BYTE)                  NOT NULL,<br>   EXPIRY     DATE                               NOT NULL,<br>   EXPIREREF  VARCHAR2(200 BYTE),<br>   CREATED    DATE                               NOT NULL,<br>   MODIFIED   DATE                               NOT NULL,<br>   SESSDATA   CLOB,<br>  PRIMARY KEY(SESSKEY)<br>);
+<br>CREATE INDEX SESS2_EXPIRY ON SESSIONS2(EXPIRY);
+CREATE INDEX SESS2_EXPIREREF ON SESSIONS2(EXPIREREF);</font></pre>
+<p> We need to use a CLOB here because for text greater than 4000 bytes long,
+  Oracle requires you to use the CLOB data type. If you are using the oci8 driver,
+  ADOdb will automatically enable CLOB handling. So you can use either adodb-session2.php
+  or adodb-session-clob2.php - in this case it doesn't matter. <br>    
+<h2>Notifications</h2>
 <p>You can receive notification when your session is cleaned up by the session garbage collector or
 when you call session_destroy().
 <p>PHP's session extension will automatically run a special garbage collection function based on
@@ -155,8 +218,8 @@
 the userid of the session. Later when the session has expired,  just before the record is deleted,
 we reload the EXPIREREF field and call the notification function with the value of EXPIREREF, which 
 is the userid of the person being logged off.
-<p>ADOdb use a global variable $ADODB_SESSION_EXPIRE_NOTIFY that you must predefine before session
-start to store the notification configuratioin. 
+<p>ADOdb uses a global variable $ADODB_SESSION_EXPIRE_NOTIFY that you must predefine before session
+start to store the notification configuration. 
 $ADODB_SESSION_EXPIRE_NOTIFY is an array with 2 elements, the
 first being the name of the session variable you would like to store in
 the EXPIREREF field, and the 2nd is the notification function's name. </p>
@@ -165,25 +228,36 @@
 $USERID. The function name is 'NotifyFn'. 
 <p>
 So we define (before session_start() is called): </p>
-<pre> <font color="#004040"><br>        $ADODB_SESSION_EXPIRE_NOTIFY = array('USERID','NotifyFn');<br>    </font></pre>
+<pre> <font color="#004040">
+	$ADODB_SESSION_EXPIRE_NOTIFY = array('USERID','NotifyFn');
+</font></pre>
 And when the NotifyFn is called (when the session expires), the
 $USERID is passed in as the first parameter, eg. NotifyFn($userid, $sesskey). The
 session key (which is the primary key of the record in the sessions
 table) is the 2nd parameter.
 <p> Here is an example of a Notification function that deletes some
 records in the database and temporary files: </p>
-<pre><font color="#004040"><br>        function NotifyFn($expireref, $sesskey)<br>        {<br>        global $ADODB_SESS_CONN; # the session connection object<br><br>          $user = $ADODB_SESS_CONN-&gt;qstr($expireref);<br>          $ADODB_SESS_CONN-&gt;Execute("delete from shopping_cart where user=$user");<br>          system("rm /work/tmpfiles/$expireref/*");<br>        }</font><br>    </pre>
+<pre><font color="#004040">
+	function NotifyFn($expireref, $sesskey)
+	{
+		global $ADODB_SESS_CONN; # the session connection object
+		$user = $ADODB_SESS_CONN-&gt;qstr($expireref);
+		
+		$ADODB_SESS_CONN-&gt;Execute("delete from shopping_cart where user=$user");          
+		system("rm /work/tmpfiles/$expireref/*");
+	}</font>  
+			  </pre>
 <p> NOTE 1: If you have register_globals disabled in php.ini, then you
 will have to manually set the EXPIREREF. E.g. </p>
 <pre> <font color="#004040">
-    $GLOBALS['USERID'] =&amp; $_SESSION['USERID'];
-    $ADODB_SESSION_EXPIRE_NOTIFY = array('USERID','NotifyFn');</font>
+$GLOBALS['USERID'] = GetUserID();
+$ADODB_SESSION_EXPIRE_NOTIFY = array('USERID','NotifyFn');</font>
 </pre>
 <p> NOTE 2: If you want to change the EXPIREREF after the session
 record has been created, you will need to modify any session variable
 to force a database record update.
 </p>
-<h4>Neat Notification Tricks</h4>
+<h3>Neat Notification Tricks</h3>
 <p><i>ExpireRef</i> normally holds the user id of the current session.
 </p>
 <p>1. You can then write a session monitor, scanning expireref to see
@@ -197,37 +271,56 @@
 <p>3. You can scan the sessions table to ensure no user
 can be logged in twice. Useful for security reasons.
 </p>
-<h3>Compression/Encryption Schemes</h3>
+<h2>Compression/Encryption Schemes</h2>
 Since ADOdb 4.05, thanks to Ross Smith, multiple encryption and
 compression schemes are supported. Currently, supported are:
 <p>
 <pre>  MD5Crypt (crypt.inc.php)<br>  MCrypt<br>  Secure (Horde's emulation of MCrypt, if MCrypt module is not available.)<br>  GZip<br>  BZip2<br></pre>
 <p>These are stackable. E.g.
-<p><pre>ADODB_Session::filter(new ADODB_Compress_Bzip2());<br>ADODB_Session::filter(new ADODB_Encrypt_MD5());<br></pre>
+<pre>ADODB_Session::filter(new ADODB_Compress_Bzip2());<br>ADODB_Session::filter(new ADODB_Encrypt_MD5());<br></pre>
 will compress and then encrypt the record in the database.
-<h3>adodb_session_regenerate_id()</h3>
-<p>Dynamically change the current session id with a newly generated one and update database. Currently only
-works with cookies. Useful to improve security by reducing the risk of session-hijacking.
-See this article on <a href=http://shiflett.org/articles/security-corner-feb2004>Session Fixation</a> for more info 
-on the theory behind this feature. Usage:
-<pre>
-	$ADODB_SESSION_DRIVER='mysql';
-	$ADODB_SESSION_CONNECT='localhost';
-	$ADODB_SESSION_USER ='root';
-	$ADODB_SESSION_PWD ='abc';
-	$ADODB_SESSION_DB ='phplens';
-	
-	include('path/to/adodb/session/adodb-session.php');
+<h2>Session Cookie Regeneration: adodb_session_regenerate_id()</h2>
+<p>Dynamically change the current session id with a newly generated one and update
+  database. Currently only works with cookies. Useful to improve security by
+  reducing the risk of session-hijacking. See this article on <a href=http://shiflett.org/articles/security-corner-feb2004>Session
+  Fixation</a> for more info 
+on the theory behind this feature. Usage:<pre>
+	include('path/to/adodb/session/adodb-session2.php');
 	
 	session_start();
-	# Every 10 page loads, reset cookie for safety.
+	# Approximately every 10 page loads, reset cookie for safety.
 	# This is extremely simplistic example, better 
 	# to regenerate only when the user logs in or changes
 	# user privilege levels.
-	if ((rand()%10) == 0) adodb_session_regenerate_id(); </pre>
+	if ((rand()%10) == 0) adodb_session_regenerate_id(); 
+</pre>
 <p>This function calls session_regenerate_id() internally or simulates it if the function does not exist.
+<h2>Vacuum/Optimize Database</h2>
+<p>During session garbage collection, if postgresql is detected,
+  ADOdb can be set to run VACUUM. If mysql is detected, then optimize database
+  could be called.You can turn this on or off using:</p>
+<pre>$turnOn = true; # or false
+ADODB_Session::optimize($turnOn);
+</pre>
+<p>The default  is optimization is disabled.</p>
+<h2><a name=compat></a>Backwards Compatability </h2>
+<p>The older method of connecting to ADOdb using global variables is still supported:</p>
+<pre> $ADODB_SESSION_DRIVER='mysql';
+ $ADODB_SESSION_CONNECT='localhost';
+ $ADODB_SESSION_USER ='root';
+ $ADODB_SESSION_PWD ='abc';
+ $ADODB_SESSION_DB ='phplens';
+ 
+ include('path/to/adodb/session/adodb-<strong>session2</strong>.php'); </pre>
+<p>In the above example, the only things you need to change in your code to upgrade
+  is </p>
+<ul>
+  <li>your session table format to the new one.</li>
+  <li>the include file from adodb-session.php to adodb-session2.php. </li>
+</ul>
 <h2>More Info</h2>
-<p>Also see the <a href="docs-adodb.htm">core ADOdb documentation</a>.
-</p>
+<p>Also see the <a href="docs-adodb.htm">core ADOdb documentation</a>. And if
+  you are interested in the obsolete adodb-session.php, see <a href="docs-session.old.htm">old
+    session documentation</a>. </p>
 </body>
 </html>
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-access.inc.php 0.763/includes/classes/adodb/drivers/adodb-access.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-access.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-access.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-ado.inc.php 0.763/includes/classes/adodb/drivers/adodb-ado.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-ado.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-ado.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -263,6 +263,7 @@
 		$this->transCnt += 1;
 		return true;
 	}
+	
 	function CommitTrans($ok=true) 
 	{ 
 		if (!$ok) return $this->RollbackTrans();
@@ -283,7 +284,9 @@
 
 	function ErrorMsg() 
 	{
+		if (!$this->_connectionID) return "No connection established";
 		$errc = $this->_connectionID->Errors;
+		if (!$errc) return "No Errors object found";
 		if ($errc->Count == 0) return '';
 		$err = $errc->Item($errc->Count-1);
 		return $err->Description;
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-ado5.inc.php 0.763/includes/classes/adodb/drivers/adodb-ado5.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-ado5.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-ado5.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -58,8 +58,22 @@
 	// you can also pass a connection string like this:
 	//
 	// $DB->Connect('USER ID=sa;PASSWORD=pwd;SERVER=mangrove;DATABASE=ai',false,false,'SQLOLEDB');
-	function _connect($argHostname, $argUsername, $argPassword, $argProvider= 'MSDASQL')
+	function _connect($argHostname, $argUsername, $argPassword,$argDBorProvider, $argProvider= '')
 	{
+	// two modes
+	//	-	if $argProvider is empty, we assume that $argDBorProvider holds provider -- this is for backward compat
+	//	- 	if $argProvider is not empty, then $argDBorProvider holds db
+	
+		
+		 if ($argProvider) {
+		 	$argDatabasename = $argDBorProvider;
+		 } else {
+		 	$argDatabasename = '';
+		 	if ($argDBorProvider) $argProvider = $argDBorProvider;
+			else $argProvider = 'MSDASQL';
+		}
+		
+		
 		try {
 		$u = 'UID';
 		$p = 'PWD';
@@ -86,7 +100,11 @@
 			$argProvider = "Microsoft.Jet.OLEDB.4.0"; // Microsoft Jet Provider
 		
 		if ($argProvider) $dbc->Provider = $argProvider;	
+
+		if ($argProvider) $argHostname = "PROVIDER=$argProvider;DRIVER={SQL Server};SERVER=$argHostname";	
 		
+
+		if ($argDatabasename) $argHostname .= ";DATABASE=$argDatabasename";		
 		if ($argUsername) $argHostname .= ";$u=$argUsername";
 		if ($argPassword)$argHostname .= ";$p=$argPassword";
 		
@@ -205,9 +223,6 @@
 		return $arr;
 	}
 	
-
-
-	
 	/* returns queryID or false */
 	function &_query($sql,$inputarr=false) 
 	{
@@ -216,6 +231,9 @@
 		$dbc = $this->_connectionID;
 		
 	//	return rs	
+	
+		$false = false;
+		
 		if ($inputarr) {
 			
 			if (!empty($this->charPage))
@@ -236,22 +254,25 @@
 			$p = false;
 			$rs = $oCmd->Execute();
 			$e = $dbc->Errors;
-			if ($dbc->Errors->Count > 0) return false;
+			if ($dbc->Errors->Count > 0) return $false;
 			return $rs;
 		}
 		
 		$rs = @$dbc->Execute($sql,$this->_affectedRows, $this->_execute_option);
 			
-		if ($dbc->Errors->Count > 0) return false;
-		if (! $rs) return false;
+		if ($dbc->Errors->Count > 0) return $false;
+		if (! $rs) return $false;
 		
-		if ($rs->State == 0) return true; // 0 = adStateClosed means no records returned
+		if ($rs->State == 0) {
+			$true = true;
+			return $true; // 0 = adStateClosed means no records returned
+		}
 		return $rs;
 		
 		} catch (exception $e) {
 			
 		}
-		return false;
+		return $false;
 	}
 
 	
@@ -290,10 +311,18 @@
 
 	function ErrorMsg() 
 	{
-		$errc = $this->_connectionID->Errors;
-		if ($errc->Count == 0) return '';
-		$err = $errc->Item($errc->Count-1);
-		return $err->Description;
+		if (!$this->_connectionID) return "No connection established";
+		$errmsg = '';
+		
+		try {
+			$errc = $this->_connectionID->Errors;
+			if (!$errc) return "No Errors object found";
+			if ($errc->Count == 0) return '';
+			$err = $errc->Item($errc->Count-1);
+			$errmsg = $err->Description;
+		}catch(exception $e) {
+		}
+		return $errmsg;
 	}
 	
 	function ErrorNo() 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-ado_access.inc.php 0.763/includes/classes/adodb/drivers/adodb-ado_access.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-ado_access.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-ado_access.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
 Released under both BSD license and Lesser GPL library license. 
 Whenever there is any discrepancy between the two licenses, 
 the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-ado_mssql.inc.php 0.763/includes/classes/adodb/drivers/adodb-ado_mssql.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-ado_mssql.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-ado_mssql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -11,8 +11,8 @@
   Microsoft SQL Server ADO data driver. Requires ADO and MSSQL client. 
   Works only on MS Windows.
   
-  It is normally better to use the mssql driver directly because it is much faster. 
-  This file is only a technology demonstration and for test purposes.
+  Warning: Some versions of PHP (esp PHP4) leak memory when ADO/COM is used. 
+  Please check http://bugs.php.net/ for more info.
 */
 
 // security - hide paths
@@ -53,6 +53,17 @@
 	        return $this->GetOne('select @@rowcount');
 	}
 	
+	function SetTransactionMode( $transaction_mode ) 
+	{
+		$this->_transmode  = $transaction_mode;
+		if (empty($transaction_mode)) {
+			$this->Execute('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');
+			return;
+		}
+		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
+		$this->Execute("SET TRANSACTION ".$transaction_mode);
+	}
+	
 	function MetaColumns($table)
 	{
         $table = strtoupper($table);
@@ -84,6 +95,44 @@
 		return empty($arr) ? $false : $arr;
 	}
 	
+	function CreateSequence($seq='adodbseq',$start=1)
+	{
+		
+		$this->Execute('BEGIN TRANSACTION adodbseq');
+		$start -= 1;
+		$this->Execute("create table $seq (id float(53))");
+		$ok = $this->Execute("insert into $seq with (tablock,holdlock) values($start)");
+		if (!$ok) {
+				$this->Execute('ROLLBACK TRANSACTION adodbseq');
+				return false;
+		}
+		$this->Execute('COMMIT TRANSACTION adodbseq'); 
+		return true;
+	}
+
+	function GenID($seq='adodbseq',$start=1)
+	{
+		//$this->debug=1;
+		$this->Execute('BEGIN TRANSACTION adodbseq');
+		$ok = $this->Execute("update $seq with (tablock,holdlock) set id = id + 1");
+		if (!$ok) {
+			$this->Execute("create table $seq (id float(53))");
+			$ok = $this->Execute("insert into $seq with (tablock,holdlock) values($start)");
+			if (!$ok) {
+				$this->Execute('ROLLBACK TRANSACTION adodbseq');
+				return false;
+			}
+			$this->Execute('COMMIT TRANSACTION adodbseq'); 
+			return $start;
+		}
+		$num = $this->GetOne("select id from $seq");
+		$this->Execute('COMMIT TRANSACTION adodbseq'); 
+		return $num;
+		
+		// in old implementation, pre 1.90, we returned GUID...
+		//return $this->GetOne("SELECT CONVERT(varchar(255), NEWID()) AS 'Char'");
+	}
+	
 	} // end class 
 	
 	class  ADORecordSet_ado_mssql extends ADORecordSet_ado {        
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-borland_ibase.inc.php 0.763/includes/classes/adodb/drivers/adodb-borland_ibase.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-borland_ibase.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-borland_ibase.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-csv.inc.php 0.763/includes/classes/adodb/drivers/adodb-csv.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-csv.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-csv.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-db2.inc.php 0.763/includes/classes/adodb/drivers/adodb-db2.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-db2.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-db2.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,221 +1,125 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
-  Released under both BSD license and Lesser GPL library license. 
-  Whenever there is any discrepancy between the two licenses, 
-  the BSD license will take precedence. 
-Set tabs to 4 for best viewing.
-  
-  Latest version is available at http://adodb.sourceforge.net
-  
-  DB2 data driver. Requires ODBC.
- 
-From phpdb list:
-
-Hi Andrew,
-
-thanks a lot for your help. Today we discovered what
-our real problem was:
-
-After "playing" a little bit with the php-scripts that try
-to connect to the IBM DB2, we set the optional parameter
-Cursortype when calling odbc_pconnect(....).
-
-And the exciting thing: When we set the cursor type
-to SQL_CUR_USE_ODBC Cursor Type, then
-the whole query speed up from 1 till 10 seconds
-to 0.2 till 0.3 seconds for 100 records. Amazing!!!
-
-Therfore, PHP is just almost fast as calling the DB2
-from Servlets using JDBC (don't take too much care
-about the speed at whole: the database was on a
-completely other location, so the whole connection
-was made over a slow network connection).
-
-I hope this helps when other encounter the same
-problem when trying to connect to DB2 from
-PHP.
-
-Kind regards,
-Christian Szardenings
-
-2 Oct 2001
-Mark Newnham has discovered that the SQL_CUR_USE_ODBC is not supported by 
-IBM's DB2 ODBC driver, so this must be a 3rd party ODBC driver.
-
-From the IBM CLI Reference:
-
-SQL_ATTR_ODBC_CURSORS (DB2 CLI v5) 
-This connection attribute is defined by ODBC, but is not supported by DB2
-CLI. Any attempt to set or get this attribute will result in an SQLSTATE of
-HYC00 (Driver not capable). 
-
-A 32-bit option specifying how the Driver Manager uses the ODBC cursor
-library. 
-
-So I guess this means the message [above] was related to using a 3rd party
-odbc driver.
-
-Setting SQL_CUR_USE_ODBC
-========================
-To set SQL_CUR_USE_ODBC for drivers that require it, do this:
-
-$db = NewADOConnection('db2');
-$db->curMode = SQL_CUR_USE_ODBC;
-$db->Connect($dsn, $userid, $pwd);
-
-
-
-USING CLI INTERFACE
-===================
-
-I have had reports that the $host and $database params have to be reversed in 
-Connect() when using the CLI interface. From Halmai Csongor csongor.halmai#nexum.hu:
-
-> The symptom is that if I change the database engine from postgres or any other to DB2 then the following
-> connection command becomes wrong despite being described this version to be correct in the docs. 
->
-> $connection_object->Connect( $DATABASE_HOST, $DATABASE_AUTH_USER_NAME, $DATABASE_AUTH_PASSWORD, $DATABASE_NAME )
->
-> In case of DB2 I had to swap the first and last arguments in order to connect properly. 
-
+  V4.91 2 Aug 2006  (c) 2006 John Lim (jlim#natsoft.com.my). All rights reserved.
 
+  This is a version of the ADODB driver for DB2.  It uses the 'ibm_db2' PECL extension
+  for PHP (http://pecl.php.net/package/ibm_db2), which in turn requires DB2 V8.2.2 or
+  higher.
+
+  Originally tested with PHP 5.1.1 and Apache 2.0.55 on Windows XP SP2.
+  More recently tested with PHP 5.1.2 and Apache 2.0.55 on Windows XP SP2.
+
+  This file was ported from "adodb-odbc.inc.php" by Larry Menard, "larry.menard#rogers.com".
+  I ripped out what I believed to be a lot of redundant or obsolete code, but there are
+  probably still some remnants of the ODBC support in this file; I'm relying on reviewers
+  of this code to point out any other things that can be removed.
 */
 
 // security - hide paths
 if (!defined('ADODB_DIR')) die();
 
-if (!defined('_ADODB_ODBC_LAYER')) {
-	include(ADODB_DIR."/drivers/adodb-odbc.inc.php");
-}
-if (!defined('ADODB_DB2')){
-define('ADODB_DB2',1);
+  define("_ADODB_DB2_LAYER", 2 );
+	 
+/*--------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------*/
 
-class ADODB_DB2 extends ADODB_odbc {
+
+class ADODB_db2 extends ADOConnection {
 	var $databaseType = "db2";	
+	var $fmtDate = "'Y-m-d'";
 	var $concat_operator = '||';
-	var $sysDate = 'CURRENT_DATE';
-	var $sysTimeStamp = 'CURRENT TIMESTAMP';
-	// The complete string representation of a timestamp has the form 
-	// yyyy-mm-dd-hh.mm.ss.nnnnnn.
-	var $fmtTimeStamp = "'Y-m-d-H.i.s'";
-	var $ansiOuter = true;
-	var $identitySQL = 'values IDENTITY_VAL_LOCAL()';
-	var $_bindInputArray = true;
-	 var $hasInsertID = true;
-	
-	function ADODB_DB2()
-	{
-		if (strncmp(PHP_OS,'WIN',3) === 0) $this->curmode = SQL_CUR_USE_ODBC;
-		$this->ADODB_odbc();
-	}
 	
-	function IfNull( $field, $ifNull ) 
-	{
-		return " COALESCE($field, $ifNull) "; // if DB2 UDB
-	}
-	
-	function ServerInfo()
-	{
-		//odbc_setoption($this->_connectionID,1,101 /*SQL_ATTR_ACCESS_MODE*/, 1 /*SQL_MODE_READ_ONLY*/);
-		$vers = $this->GetOne('select versionnumber from sysibm.sysversions');
-		//odbc_setoption($this->_connectionID,1,101, 0 /*SQL_MODE_READ_WRITE*/);
-		return array('description'=>'DB2 ODBC driver', 'version'=>$vers);
-	}
+	var $sysTime = 'CURRENT TIME';
+	var $sysDate = 'CURRENT DATE';
+	var $sysTimeStamp = 'CURRENT TIMESTAMP';
 	
-	function _insertid()
-	{
-		return $this->GetOne($this->identitySQL);
+	var $fmtTimeStamp = "'Y-m-d-H.i.s'";
+	var $replaceQuote = "''"; // string to use to replace quotes
+	var $dataProvider = "db2";
+	var $hasAffectedRows = true;
+
+	var $binmode = DB2_BINARY;
+
+	var $useFetchArray = false; // setting this to true will make array elements in FETCH_ASSOC mode case-sensitive
+								// breaking backward-compat
+	var $_bindInputArray = false;	
+	var $_genIDSQL = "VALUES NEXTVAL FOR %s";
+	var $_genSeqSQL = "CREATE SEQUENCE %s START WITH 1 NO MAXVALUE NO CYCLE";
+	var $_dropSeqSQL = "DROP SEQUENCE %s";
+	var $_autocommit = true;
+	var $_haserrorfunctions = true;
+	var $_lastAffectedRows = 0;
+	var $uCaseTables = true; // for meta* functions, uppercase table names
+	var $hasInsertID = true;
+	
+    function _insertid()
+    {
+        return ADOConnection::GetOne('VALUES IDENTITY_VAL_LOCAL()');
+    }
+	
+	function ADODB_db2() 
+	{ 	
+		$this->_haserrorfunctions = ADODB_PHPVER >= 0x4050;
 	}
 	
-	function RowLock($tables,$where,$flds='1 as ignore')
+		// returns true or false
+	function _connect($argDSN, $argUsername, $argPassword, $argDatabasename)
 	{
-		if ($this->_autocommit) $this->BeginTrans();
-		return $this->GetOne("select $flds from $tables where $where for update");
+		global $php_errormsg;
+		
+		if (!function_exists('db2_connect')) {
+			ADOConnection::outp("Warning: The old ODBC based DB2 driver has been renamed 'odbc_db2'. This ADOdb driver calls PHP's native db2 extension.");
+			return null;
+		}
+		// This needs to be set before the connect().
+		// Replaces the odbc_binmode() call that was in Execute()
+		ini_set('ibm_db2.binmode', $this->binmode);
+
+		if ($argDatabasename) {
+			$this->_connectionID = db2_connect($argDatabasename,$argUsername,$argPassword);
+		} else {
+			$this->_connectionID = db2_connect($argDSN,$argUsername,$argPassword);
+		}
+		if (isset($php_errormsg)) $php_errormsg = '';
+
+		// For db2_connect(), there is an optional 4th arg.  If present, it must be
+		// an array of valid options.  So far, we don't use them.
+
+		$this->_errorMsg = @db2_conn_errormsg();
+ 
+		if (isset($this->connectStmt)) $this->Execute($this->connectStmt);
+		
+		return $this->_connectionID != false;
 	}
 	
-	function &MetaTables($ttype=false,$showSchema=false, $qtable="%", $qschema="%")
+	// returns true or false
+	function _pconnect($argDSN, $argUsername, $argPassword, $argDatabasename)
 	{
-	global $ADODB_FETCH_MODE;
+		global $php_errormsg;
 	
-		$savem = $ADODB_FETCH_MODE;
-		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-		$qid = odbc_tables($this->_connectionID, "", $qschema, $qtable, "");
-		
-		$rs = new ADORecordSet_odbc($qid);
-		
-		$ADODB_FETCH_MODE = $savem;
-		if (!$rs) {
-			$false = false;
-			return $false;
-		}
-		$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;
-		
-		$arr =& $rs->GetArray();
-		//print_r($arr);
+		if (!function_exists('db2_connect')) return null;
 		
-		$rs->Close();
-		$arr2 = array();
+		// This needs to be set before the connect().
+		// Replaces the odbc_binmode() call that was in Execute()
+		ini_set('ibm_db2.binmode', $this->binmode);
+
+		if (isset($php_errormsg)) $php_errormsg = '';
+		$this->_errorMsg = isset($php_errormsg) ? $php_errormsg : '';
 		
-		if ($ttype) {
-			$isview = strncmp($ttype,'V',1) === 0;
+		if ($argDatabasename) {
+			$this->_connectionID = db2_pconnect($argDatabasename,$argUsername,$argPassword);
+		} else {
+			$this->_connectionID = db2_pconnect($argDSN,$argUsername,$argPassword);
 		}
-		for ($i=0; $i < sizeof($arr); $i++) {
+		if (isset($php_errormsg)) $php_errormsg = '';
+
+		$this->_errorMsg = @db2_conn_errormsg();
+		if ($this->_connectionID && $this->autoRollback) @db2_rollback($this->_connectionID);
+		if (isset($this->connectStmt)) $this->Execute($this->connectStmt);
 		
-			if (!$arr[$i][2]) continue;
-			if (strncmp($arr[$i][1],'SYS',3) === 0) continue;
-			
-			$type = $arr[$i][3];
-			
-			if ($showSchema) $arr[$i][2] = $arr[$i][1].'.'.$arr[$i][2];
-			
-			if ($ttype) { 
-				if ($isview) {
-					if (strncmp($type,'V',1) === 0) $arr2[] = $arr[$i][2];
-				} else if (strncmp($type,'T',1) === 0) $arr2[] = $arr[$i][2];
-			} else if (strncmp($type,'S',1) !== 0) $arr2[] = $arr[$i][2];
-		}
-		return $arr2;
+		return $this->_connectionID != false;
 	}
 
-	function &MetaIndexes ($table, $primary = FALSE, $owner=false)
-	{
-        // save old fetch mode
-        global $ADODB_FETCH_MODE;
-        $save = $ADODB_FETCH_MODE;
-        $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-        if ($this->fetchMode !== FALSE) {
-               $savem = $this->SetFetchMode(FALSE);
-        }
-		$false = false;
-		// get index details
-		$table = strtoupper($table);
-		$SQL="SELECT NAME, UNIQUERULE, COLNAMES FROM SYSIBM.SYSINDEXES WHERE TBNAME='$table'";
-        if ($primary) 
-			$SQL.= " AND UNIQUERULE='P'";
-		$rs = $this->Execute($SQL);
-        if (!is_object($rs)) {
-			if (isset($savem)) 
-				$this->SetFetchMode($savem);
-			$ADODB_FETCH_MODE = $save;
-            return $false;
-        }
-		$indexes = array ();
-        // parse index data into array
-        while ($row = $rs->FetchRow()) {
-			$indexes[$row[0]] = array(
-			   'unique' => ($row[1] == 'U' || $row[1] == 'P'),
-			   'columns' => array()
-			);
-			$cols = ltrim($row[2],'+');
-			$indexes[$row[0]]['columns'] = explode('+', $cols);
-        }
-		if (isset($savem)) { 
-            $this->SetFetchMode($savem);
-			$ADODB_FETCH_MODE = $save;
-		}
-        return $indexes;
-	}
 	
 	// Format date column in sql string given an input format that understands Y M D
 	function SQLDate($fmt, $col=false)
@@ -226,7 +130,7 @@
 		
 		$len = strlen($fmt);
 		for ($i=0; $i < $len; $i++) {
-			if ($s) $s .= '||';
+			if ($s) $s .= $this->concat_operator;
 			$ch = $fmt[$i];
 			switch($ch) {
 			case 'Y':
@@ -272,91 +176,634 @@
 	} 
  
 	
-	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputArr=false)
+	function ServerInfo()
 	{
-		$nrows = (integer) $nrows;
-		if ($offset <= 0) {
-		// could also use " OPTIMIZE FOR $nrows ROWS "
-			if ($nrows >= 0) $sql .=  " FETCH FIRST $nrows ROWS ONLY ";
-			$rs =& $this->Execute($sql,$inputArr);
+	
+		if (!empty($this->host) && ADODB_PHPVER >= 0x4300) {
+			$dsn = strtoupper($this->host);
+			$first = true;
+			$found = false;
+			
+			if (!function_exists('db2_data_source')) return false;
+			
+			while(true) {
+				
+				$rez = @db2_data_source($this->_connectionID,
+					$first ? SQL_FETCH_FIRST : SQL_FETCH_NEXT);
+				$first = false;
+				if (!is_array($rez)) break;
+				if (strtoupper($rez['server']) == $dsn) {
+					$found = true;
+					break;
+				}
+			} 
+			if (!$found) return ADOConnection::ServerInfo();
+			if (!isset($rez['version'])) $rez['version'] = '';
+			return $rez;
 		} else {
-			if ($offset > 0 && $nrows < 0);
-			else {
-				$nrows += $offset;
-				$sql .=  " FETCH FIRST $nrows ROWS ONLY ";
-			}
-			$rs =& ADOConnection::SelectLimit($sql,-1,$offset,$inputArr);
+			return ADOConnection::ServerInfo();
 		}
+	}
+
+	
+	function CreateSequence($seqname='adodbseq',$start=1)
+	{
+		if (empty($this->_genSeqSQL)) return false;
+		$ok = $this->Execute(sprintf($this->_genSeqSQL,$seqname));
+		if (!$ok) return false;
+		return true;
+	}
+	
+	function DropSequence($seqname)
+	{
+		if (empty($this->_dropSeqSQL)) return false;
+		return $this->Execute(sprintf($this->_dropSeqSQL,$seqname));
+	}
+	
+	/*
+		This algorithm is not very efficient, but works even if table locking
+		is not available.
+		
+		Will return false if unable to generate an ID after $MAXLOOPS attempts.
+	*/
+	function GenID($seq='adodbseq',$start=1)
+	{	
+		// if you have to modify the parameter below, your database is overloaded,
+		// or you need to implement generation of id's yourself!
+		$num = $this->GetOne("VALUES NEXTVAL FOR $seq");
+				return $num;
+			}
+
+
+	function ErrorMsg()
+	{
+		if ($this->_haserrorfunctions) {
+			if ($this->_errorMsg !== false) return $this->_errorMsg;
+			if (empty($this->_connectionID)) return @db2_conn_errormsg();
+			return @db2_conn_errormsg($this->_connectionID);
+		} else return ADOConnection::ErrorMsg();
+	}
+	
+	function ErrorNo()
+	{
 		
-		return $rs;
+		if ($this->_haserrorfunctions) {
+			if ($this->_errorCode !== false) {
+				// bug in 4.0.6, error number can be corrupted string (should be 6 digits)
+				return (strlen($this->_errorCode)<=2) ? 0 : $this->_errorCode;
+			}
+
+			if (empty($this->_connectionID)) $e = @db2_conn_error(); 
+			else $e = @db2_conn_error($this->_connectionID);
+			
+			 // bug in 4.0.6, error number can be corrupted string (should be 6 digits)
+			 // so we check and patch
+			if (strlen($e)<=2) return 0;
+			return $e;
+		} else return ADOConnection::ErrorNo();
 	}
 	
-};
- 
+	
 
-class  ADORecordSet_db2 extends ADORecordSet_odbc {	
+	function BeginTrans()
+	{	
+		if (!$this->hasTransactions) return false;
+		if ($this->transOff) return true; 
+		$this->transCnt += 1;
+		$this->_autocommit = false;
+		return db2_autocommit($this->_connectionID,false);
+	}
 	
-	var $databaseType = "db2";		
+	function CommitTrans($ok=true) 
+	{ 
+		if ($this->transOff) return true; 
+		if (!$ok) return $this->RollbackTrans();
+		if ($this->transCnt) $this->transCnt -= 1;
+		$this->_autocommit = true;
+		$ret = db2_commit($this->_connectionID);
+		db2_autocommit($this->_connectionID,true);
+		return $ret;
+	}
 	
-	function ADORecordSet_db2($id,$mode=false)
+	function RollbackTrans()
 	{
-		$this->ADORecordSet_odbc($id,$mode);
+		if ($this->transOff) return true; 
+		if ($this->transCnt) $this->transCnt -= 1;
+		$this->_autocommit = true;
+		$ret = db2_rollback($this->_connectionID);
+		db2_autocommit($this->_connectionID,true);
+		return $ret;
+	}
+	
+	function MetaPrimaryKeys($table)
+	{
+	global $ADODB_FETCH_MODE;
+	
+		if ($this->uCaseTables) $table = strtoupper($table);
+		$schema = '';
+		$this->_findschema($table,$schema);
+
+		$savem = $ADODB_FETCH_MODE;
+		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
+		$qid = @db2_primarykeys($this->_connectionID,'',$schema,$table);
+		
+		if (!$qid) {
+			$ADODB_FETCH_MODE = $savem;
+			return false;
+		}
+		$rs = new ADORecordSet_db2($qid);
+		$ADODB_FETCH_MODE = $savem;
+		
+		if (!$rs) return false;
+		
+		$arr =& $rs->GetArray();
+		$rs->Close();
+		$arr2 = array();
+		for ($i=0; $i < sizeof($arr); $i++) {
+			if ($arr[$i][3]) $arr2[] = $arr[$i][3];
+		}
+		return $arr2;
 	}
+	
+	function MetaForeignKeys($table, $owner = FALSE, $upper = FALSE, $asociative = FALSE )
+	{
+	global $ADODB_FETCH_MODE;
+	
+		if ($this->uCaseTables) $table = strtoupper($table);
+		$schema = '';
+		$this->_findschema($table,$schema);
 
-	function MetaType($t,$len=-1,$fieldobj=false)
+		$savem = $ADODB_FETCH_MODE;
+		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
+		$qid = @db2_foreign_keys($this->_connectionID,'',$schema,$table);
+		if (!$qid) {
+			$ADODB_FETCH_MODE = $savem;
+			return false;
+		}
+		$rs = new ADORecordSet_db2($qid);
+
+		$ADODB_FETCH_MODE = $savem;
+		/*
+		$rs->fields indices
+		0 PKTABLE_CAT
+		1 PKTABLE_SCHEM
+		2 PKTABLE_NAME
+		3 PKCOLUMN_NAME
+		4 FKTABLE_CAT
+		5 FKTABLE_SCHEM
+		6 FKTABLE_NAME
+		7 FKCOLUMN_NAME
+		*/	
+		if (!$rs) return false;
+
+		$foreign_keys = array();	 	 
+		while (!$rs->EOF) {
+			if (strtoupper(trim($rs->fields[2])) == $table && (!$schema || strtoupper($rs->fields[1]) == $schema)) {
+				if (!is_array($foreign_keys[$rs->fields[5].'.'.$rs->fields[6]])) 
+					$foreign_keys[$rs->fields[5].'.'.$rs->fields[6]] = array();
+				$foreign_keys[$rs->fields[5].'.'.$rs->fields[6]][$rs->fields[7]] = $rs->fields[3];	 		
+			}
+			$rs->MoveNext();
+		}
+
+		$rs->Close();
+		return $foreign_key;
+	}
+	
+	
+	function &MetaTables($ttype=false,$schema=false)
 	{
-		if (is_object($t)) {
-			$fieldobj = $t;
-			$t = $fieldobj->type;
-			$len = $fieldobj->max_length;
+	global $ADODB_FETCH_MODE;
+	
+		$savem = $ADODB_FETCH_MODE;
+		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
+		$qid = db2_tables($this->_connectionID);
+		
+		$rs = new ADORecordSet_db2($qid);
+		
+		$ADODB_FETCH_MODE = $savem;
+		if (!$rs) {
+			$false = false;
+			return $false;
 		}
 		
-		switch (strtoupper($t)) {
-		case 'VARCHAR':
-		case 'CHAR':
-		case 'CHARACTER':
-		case 'C':
-			if ($len <= $this->blobSize) return 'C';
+		$arr =& $rs->GetArray();
 		
-		case 'LONGCHAR':
-		case 'TEXT':
-		case 'CLOB':
-		case 'DBCLOB': // double-byte
-		case 'X':
-			return 'X';
+		$rs->Close();
+		$arr2 = array();
 		
-		case 'BLOB':
-		case 'GRAPHIC':
-		case 'VARGRAPHIC':
+		if ($ttype) {
+			$isview = strncmp($ttype,'V',1) === 0;
+		}
+		for ($i=0; $i < sizeof($arr); $i++) {
+			if (!$arr[$i][2]) continue;
+			$type = $arr[$i][3];
+			$schemaval = ($schema) ? $arr[$i][1].'.' : '';
+			if ($ttype) { 
+				if ($isview) {
+					if (strncmp($type,'V',1) === 0) $arr2[] = $schemaval.$arr[$i][2];
+				} else if (strncmp($type,'SYS',3) !== 0) $arr2[] = $schemaval.$arr[$i][2];
+			} else if (strncmp($type,'SYS',3) !== 0) $arr2[] = $schemaval.$arr[$i][2];
+		}
+		return $arr2;
+	}
+	
+/*
+See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/db2/htm/db2datetime_data_type_changes.asp
+/ SQL data type codes /
+#define	SQL_UNKNOWN_TYPE	0
+#define SQL_CHAR			1
+#define SQL_NUMERIC		 2
+#define SQL_DECIMAL		 3
+#define SQL_INTEGER		 4
+#define SQL_SMALLINT		5
+#define SQL_FLOAT		   6
+#define SQL_REAL			7
+#define SQL_DOUBLE		  8
+#if (DB2VER >= 0x0300)
+#define SQL_DATETIME		9
+#endif
+#define SQL_VARCHAR		12
+
+
+/ One-parameter shortcuts for date/time data types /
+#if (DB2VER >= 0x0300)
+#define SQL_TYPE_DATE	  91
+#define SQL_TYPE_TIME	  92
+#define SQL_TYPE_TIMESTAMP 93
+
+#define SQL_UNICODE                             (-95)
+#define SQL_UNICODE_VARCHAR                     (-96)
+#define SQL_UNICODE_LONGVARCHAR                 (-97)
+*/
+	function DB2Types($t)
+	{
+		switch ((integer)$t) {
+		case 1:	
+		case 12:
+		case 0:
+		case -95:
+		case -96:
+			return 'C';
+		case -97:
+		case -1: //text
+			return 'X';
+		case -4: //image
 			return 'B';
-			
-		case 'DATE':
-		case 'D':
+				
+		case 9:	
+		case 91:
 			return 'D';
 		
-		case 'TIME':
-		case 'TIMESTAMP':
-		case 'T':
+		case 10:
+		case 11:
+		case 92:
+		case 93:
 			return 'T';
-		
-		//case 'BOOLEAN': 
-		//case 'BIT':
-		//	return 'L';
-			
-		//case 'COUNTER':
-		//	return 'R';
 			
-		case 'INT':
-		case 'INTEGER':
-		case 'BIGINT':
-		case 'SMALLINT':
-		case 'I':
+		case 4:
+		case 5:
+		case -6:
 			return 'I';
 			
-		default: return 'N';
+		case -11: // uniqidentifier
+			return 'R';
+		case -7: //bit
+			return 'L';
+		
+		default:
+			return 'N';
 		}
 	}
+	
+	function &MetaColumns($table)
+	{
+	global $ADODB_FETCH_MODE;
+	
+		$false = false;
+		if ($this->uCaseTables) $table = strtoupper($table);
+		$schema = '';
+		$this->_findschema($table,$schema);
+		
+		$savem = $ADODB_FETCH_MODE;
+		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
+	
+        	$colname = "%";
+	        $qid = db2_columns($this->_connectionID, "", $schema, $table, $colname);
+		if (empty($qid)) return $false;
+		
+		$rs =& new ADORecordSet_db2($qid);
+		$ADODB_FETCH_MODE = $savem;
+		
+		if (!$rs) return $false;
+		$rs->_fetch();
+		
+		$retarr = array();
+		
+		/*
+		$rs->fields indices
+		0 TABLE_QUALIFIER
+		1 TABLE_SCHEM
+		2 TABLE_NAME
+		3 COLUMN_NAME
+		4 DATA_TYPE
+		5 TYPE_NAME
+		6 PRECISION
+		7 LENGTH
+		8 SCALE
+		9 RADIX
+		10 NULLABLE
+		11 REMARKS
+		*/
+		while (!$rs->EOF) {
+			if (strtoupper(trim($rs->fields[2])) == $table && (!$schema || strtoupper($rs->fields[1]) == $schema)) {
+				$fld = new ADOFieldObject();
+				$fld->name = $rs->fields[3];
+				$fld->type = $this->DB2Types($rs->fields[4]);
+				
+				// ref: http://msdn.microsoft.com/library/default.asp?url=/archive/en-us/dnaraccgen/html/msdn_odk.asp
+				// access uses precision to store length for char/varchar
+				if ($fld->type == 'C' or $fld->type == 'X') {
+					if ($rs->fields[4] <= -95) // UNICODE
+						$fld->max_length = $rs->fields[7]/2;
+					else
+						$fld->max_length = $rs->fields[7];
+				} else 
+					$fld->max_length = $rs->fields[7];
+				$fld->not_null = !empty($rs->fields[10]);
+				$fld->scale = $rs->fields[8];
+				$fld->primary_key = false;
+				$retarr[strtoupper($fld->name)] = $fld;	
+			} else if (sizeof($retarr)>0)
+				break;
+			$rs->MoveNext();
+		}
+		$rs->Close(); 
+		if (empty($retarr)) $retarr = false;
+
+	      $qid = db2_primary_keys($this->_connectionID, "", $schema, $table);
+		if (empty($qid)) return $false;
+		
+		$rs =& new ADORecordSet_db2($qid);
+		$ADODB_FETCH_MODE = $savem;
+		
+		if (!$rs) return $retarr;
+		$rs->_fetch();
+		
+		/*
+		$rs->fields indices
+		0 TABLE_CAT
+		1 TABLE_SCHEM
+		2 TABLE_NAME
+		3 COLUMN_NAME
+		4 KEY_SEQ
+		5 PK_NAME
+		*/
+		while (!$rs->EOF) {
+			if (strtoupper(trim($rs->fields[2])) == $table && (!$schema || strtoupper($rs->fields[1]) == $schema)) {
+				$retarr[strtoupper($rs->fields[3])]->primary_key = true;
+			} else if (sizeof($retarr)>0)
+				break;
+			$rs->MoveNext();
+		}
+		$rs->Close(); 
+		
+		if (empty($retarr)) $retarr = false;
+		return $retarr;
+	}
+	
+	function Prepare($sql)
+	{
+		if (! $this->_bindInputArray) return $sql; // no binding
+		$stmt = db2_prepare($this->_connectionID,$sql);
+		if (!$stmt) {
+			// we don't know whether db2 driver is parsing prepared stmts, so just return sql
+			return $sql;
+		}
+		return array($sql,$stmt,false);
+	}
+
+	/* returns queryID or false */
+	function _query($sql,$inputarr=false) 
+	{
+	GLOBAL $php_errormsg;
+		if (isset($php_errormsg)) $php_errormsg = '';
+		$this->_error = '';
+		
+		if ($inputarr) {
+			if (is_array($sql)) {
+				$stmtid = $sql[1];
+			} else {
+				$stmtid = db2_prepare($this->_connectionID,$sql);
+	
+				if ($stmtid == false) {
+					$this->_errorMsg = isset($php_errormsg) ? $php_errormsg : '';
+					return false;
+				}
+			}
+			
+			if (! db2_execute($stmtid,$inputarr)) {
+				if ($this->_haserrorfunctions) {
+					$this->_errorMsg = db2_stmt_errormsg();
+					$this->_errorCode = db2_stmt_error();
+				}
+				return false;
+			}
+		
+		} else if (is_array($sql)) {
+			$stmtid = $sql[1];
+			if (!db2_execute($stmtid)) {
+				if ($this->_haserrorfunctions) {
+					$this->_errorMsg = db2_stmt_errormsg();
+					$this->_errorCode = db2_stmt_error();
+				}
+				return false;
+			}
+		} else
+			$stmtid = @db2_exec($this->_connectionID,$sql);
+		
+		$this->_lastAffectedRows = 0;
+		if ($stmtid) {
+			if (@db2_num_fields($stmtid) == 0) {
+				$this->_lastAffectedRows = db2_num_rows($stmtid);
+				$stmtid = true;
+			} else {
+				$this->_lastAffectedRows = 0;
+			}
+			
+			if ($this->_haserrorfunctions) {
+				$this->_errorMsg = '';
+				$this->_errorCode = 0;
+			} else
+				$this->_errorMsg = isset($php_errormsg) ? $php_errormsg : '';
+		} else {
+			if ($this->_haserrorfunctions) {
+				$this->_errorMsg = db2_stmt_errormsg();
+				$this->_errorCode = db2_stmt_error();
+			} else
+				$this->_errorMsg = isset($php_errormsg) ? $php_errormsg : '';
+
+		}
+		return $stmtid;
+	}
+
+	/*
+		Insert a null into the blob field of the table first.
+		Then use UpdateBlob to store the blob.
+		
+		Usage:
+		 
+		$conn->Execute('INSERT INTO blobtable (id, blobcol) VALUES (1, null)');
+		$conn->UpdateBlob('blobtable','blobcol',$blob,'id=1');
+	*/
+	function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB')
+	{
+		return $this->Execute("UPDATE $table SET $column=? WHERE $where",array($val)) != false;
+	}
+	
+	// returns true or false
+	function _close()
+	{
+		$ret = @db2_close($this->_connectionID);
+		$this->_connectionID = false;
+		return $ret;
+	}
+
+	function _affectedrows()
+	{
+		return $this->_lastAffectedRows;
+	}
+	
 }
+	
+/*--------------------------------------------------------------------------------------
+	 Class Name: Recordset
+--------------------------------------------------------------------------------------*/
+
+class ADORecordSet_db2 extends ADORecordSet {	
+	
+	var $bind = false;
+	var $databaseType = "db2";		
+	var $dataProvider = "db2";
+	var $useFetchArray;
+	
+	function ADORecordSet_db2($id,$mode=false)
+	{
+		if ($mode === false) {  
+			global $ADODB_FETCH_MODE;
+			$mode = $ADODB_FETCH_MODE;
+		}
+		$this->fetchMode = $mode;
+		
+		$this->_queryID = $id;
+	}
+
+
+	// returns the field object
+	function &FetchField($offset = -1) 
+	{
+		$o= new ADOFieldObject();
+		$o->name = @db2_field_name($this->_queryID,$offset);
+		$o->type = @db2_field_type($this->_queryID,$offset);
+		$o->max_length = db2_field_width($this->_queryID,$offset);
+		if (ADODB_ASSOC_CASE == 0) $o->name = strtolower($o->name);
+		else if (ADODB_ASSOC_CASE == 1) $o->name = strtoupper($o->name);
+		return $o;
+	}
+	
+	/* Use associative array to get fields array */
+	function Fields($colname)
+	{
+		if ($this->fetchMode & ADODB_FETCH_ASSOC) return $this->fields[$colname];
+		if (!$this->bind) {
+			$this->bind = array();
+			for ($i=0; $i < $this->_numOfFields; $i++) {
+				$o = $this->FetchField($i);
+				$this->bind[strtoupper($o->name)] = $i;
+			}
+		}
+
+		 return $this->fields[$this->bind[strtoupper($colname)]];
+	}
+	
+		
+	function _initrs()
+	{
+	global $ADODB_COUNTRECS;
+		$this->_numOfRows = ($ADODB_COUNTRECS) ? @db2_num_rows($this->_queryID) : -1;
+		$this->_numOfFields = @db2_num_fields($this->_queryID);
+		// some silly drivers such as db2 as/400 and intersystems cache return _numOfRows = 0
+		if ($this->_numOfRows == 0) $this->_numOfRows = -1;
+	}	
+	
+	function _seek($row)
+	{
+		return false;
+	}
+	
+	// speed up SelectLimit() by switching to ADODB_FETCH_NUM as ADODB_FETCH_ASSOC is emulated
+	function &GetArrayLimit($nrows,$offset=-1) 
+	{
+		if ($offset <= 0) {
+			$rs =& $this->GetArray($nrows);
+			return $rs;
+		}
+		$savem = $this->fetchMode;
+		$this->fetchMode = ADODB_FETCH_NUM;
+		$this->Move($offset);
+		$this->fetchMode = $savem;
+		
+		if ($this->fetchMode & ADODB_FETCH_ASSOC) {
+			$this->fields =& $this->GetRowAssoc(ADODB_ASSOC_CASE);
+		}
+		
+		$results = array();
+		$cnt = 0;
+		while (!$this->EOF && $nrows != $cnt) {
+			$results[$cnt++] = $this->fields;
+			$this->MoveNext();
+		}
+		
+		return $results;
+	}
+	
+	
+	function MoveNext() 
+	{
+		if ($this->_numOfRows != 0 && !$this->EOF) {		
+			$this->_currentRow++;
+			
+			$this->fields = @db2_fetch_array($this->_queryID);
+			if ($this->fields) {
+				if ($this->fetchMode & ADODB_FETCH_ASSOC) {
+					$this->fields =& $this->GetRowAssoc(ADODB_ASSOC_CASE);
+				}
+				return true;
+			}
+		}
+		$this->fields = false;
+		$this->EOF = true;
+		return false;
+	}	
+	
+	function _fetch()
+	{
 
-} //define
+		$this->fields = db2_fetch_array($this->_queryID);
+		if ($this->fields) {
+			if ($this->fetchMode & ADODB_FETCH_ASSOC) {
+				$this->fields =& $this->GetRowAssoc(ADODB_ASSOC_CASE);
+			}
+			return true;
+		}
+		$this->fields = false;
+		return false;
+	}
+	
+	function _close() 
+	{
+		return @db2_free_result($this->_queryID);		
+	}
+
+}
 ?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-fbsql.inc.php 0.763/includes/classes/adodb/drivers/adodb-fbsql.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-fbsql.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-fbsql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
- @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-firebird.inc.php 0.763/includes/classes/adodb/drivers/adodb-firebird.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-firebird.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-firebird.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-ibase.inc.php 0.763/includes/classes/adodb/drivers/adodb-ibase.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-ibase.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-ibase.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.  
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.  
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -215,7 +215,7 @@
             return $false;
         }
         
-        $indexes = array ();
+        $indexes = array();
 		while ($row = $rs->FetchRow()) {
 			$index = $row[0];
              if (!isset($indexes[$index])) {
@@ -225,7 +225,7 @@
                              'columns' => array()
                      );
              }
-			$sql = "SELECT * FROM RDB\$INDEX_SEGMENTS WHERE RDB\$INDEX_NAME = '".$name."' ORDER BY RDB\$FIELD_POSITION ASC";
+			$sql = "SELECT * FROM RDB\$INDEX_SEGMENTS WHERE RDB\$INDEX_NAME = '".$index."' ORDER BY RDB\$FIELD_POSITION ASC";
 			$rs1 = $this->Execute($sql);
             while ($row1 = $rs1->FetchRow()) {
              	$indexes[$index]['columns'][$row1[2]] = $row1[1];
@@ -556,9 +556,9 @@
 	
 	// old blobdecode function
 	// still used to auto-decode all blob's
-	function _BlobDecode( $blob ) 
+	function _BlobDecode_old( $blob ) 
 	{
-		$blobid = ibase_blob_open( $blob );
+		$blobid = ibase_blob_open($this->_connectionID, $blob );
 		$realblob = ibase_blob_get( $blobid,$this->maxblobsize); // 2nd param is max size of blob -- Kevin Boillet <kevinboillet@yahoo.fr>
 		while($string = ibase_blob_get($blobid, 8192)){ 
 			$realblob .= $string; 
@@ -568,6 +568,32 @@
 		return( $realblob );
 	} 
 	
+	function _BlobDecode( $blob ) 
+    {
+        if  (ADODB_PHPVER >= 0x5000) {
+            $blob_data = ibase_blob_info($this->_connectionID, $blob );
+            $blobid = ibase_blob_open($this->_connectionID, $blob );
+        } else {
+
+            $blob_data = ibase_blob_info( $blob );
+            $blobid = ibase_blob_open( $blob );
+        }
+
+        if( $blob_data[0] > $this->maxblobsize ) {
+
+            $realblob = ibase_blob_get($blobid, $this->maxblobsize);
+
+            while($string = ibase_blob_get($blobid, 8192)){
+                $realblob .= $string; 
+            }
+        } else {
+            $realblob = ibase_blob_get($blobid, $blob_data[0]);
+        }
+
+        ibase_blob_close( $blobid );
+        return( $realblob );
+	}
+	
 	function UpdateBlobFile($table,$column,$path,$where,$blobtype='BLOB') 
 	{ 
 		$fd = fopen($path,'rb'); 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-informix.inc.php 0.763/includes/classes/adodb/drivers/adodb-informix.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-informix.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-informix.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+* @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
 * Released under both BSD license and Lesser GPL library license.
 * Whenever there is any discrepancy between the two licenses,
 * the BSD license will take precedence.
@@ -22,6 +22,11 @@
 	var $databaseType = "informix";
 	var $hasTop = 'FIRST';
 	var $ansiOuter = true;
+	
+	function IfNull( $field, $ifNull )
+	{
+		return " NVL($field, $ifNull) "; // if Informix 9.X or 10.X
+	}
 }
 
 class ADORecordset_informix extends ADORecordset_informix72 {
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-informix72.inc.php 0.763/includes/classes/adodb/drivers/adodb-informix72.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-informix72.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-informix72.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim. All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim. All rights reserved.
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
   the BSD license will take precedence.
@@ -58,7 +58,7 @@
 	{
 		// alternatively, use older method:
 		//putenv("DBDATE=Y4MD-");
-
+		
 		// force ISO date format
 		putenv('GL_DATE=%Y-%m-%d');
 		
@@ -192,7 +192,7 @@
 			}
 
 			$rs->Close();
-			$rspKey->Close(); //!eos
+			$rspkey->Close(); //!eos
 			return $retarr;	
 		}
 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-ldap.inc.php 0.763/includes/classes/adodb/drivers/adodb-ldap.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-ldap.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-ldap.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim#natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
    Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-mssql.inc.php 0.763/includes/classes/adodb/drivers/adodb-mssql.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-mssql.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-mssql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -161,6 +161,8 @@
 	
 	function CreateSequence($seq='adodbseq',$start=1)
 	{
+		
+		$this->Execute('BEGIN TRANSACTION adodbseq');
 		$start -= 1;
 		$this->Execute("create table $seq (id float(53))");
 		$ok = $this->Execute("insert into $seq with (tablock,holdlock) values($start)");
@@ -294,6 +296,17 @@
 		return true;
 	}
 	
+	function SetTransactionMode( $transaction_mode ) 
+	{
+		$this->_transmode  = $transaction_mode;
+		if (empty($transaction_mode)) {
+			$this->Execute('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');
+			return;
+		}
+		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
+		$this->Execute("SET TRANSACTION ".$transaction_mode);
+	}
+	
 	/*
 		Usage:
 		
@@ -583,7 +596,7 @@
 	{
 		if (!$this->_has_mssql_init) {
 			ADOConnection::outp( "Parameter: mssql_bind only available since PHP 4.1.0");
-			return $sql;
+			return false;
 		}
 
 		$isNull = is_null($var); // php 4.0.4 and above...
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-mssqlpo.inc.php 0.763/includes/classes/adodb/drivers/adodb-mssqlpo.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-mssqlpo.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-mssqlpo.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+* @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
 * Released under both BSD license and Lesser GPL library license.
 * Whenever there is any discrepancy between the two licenses,
 * the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-mysql.inc.php 0.763/includes/classes/adodb/drivers/adodb-mysql.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-mysql.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-mysql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -24,7 +24,7 @@
 	var $hasInsertID = true;
 	var $hasAffectedRows = true;	
 	var $metaTablesSQL = "SHOW TABLES";	
-	var $metaColumnsSQL = "SHOW COLUMNS FROM %s";
+	var $metaColumnsSQL = "SHOW COLUMNS FROM `%s`";
 	var $fmtTimeStamp = "'Y-m-d H:i:s'";
 	var $hasLimit = true;
 	var $hasMoveFirst = true;
@@ -38,6 +38,7 @@
 	var $clientFlags = 0;
 	var $substr = "substring";
 	var $nameQuote = '`';		/// string to use to quote identifiers and names
+	var $compat323 = false; 		// true if compat with mysql 3.23
 	
 	function ADODB_mysql() 
 	{			
@@ -56,6 +57,7 @@
 		return " IFNULL($field, $ifNull) "; // if MySQL
 	}
 	
+	
 	function &MetaTables($ttype=false,$showSchema=false,$mask=false) 
 	{	
 		$save = $this->metaTablesSQL;
@@ -155,7 +157,7 @@
 	
 	function GetOne($sql,$inputarr=false)
 	{
-		if (strncasecmp($sql,'sele',4) == 0) {
+		if ($this->compat323 == false && strncasecmp($sql,'sele',4) == 0) {
 			$rs =& $this->SelectLimit($sql,1,-1,$inputarr);
 			if ($rs) {
 				$rs->Close();
@@ -310,6 +312,10 @@
 				$s .= '%w';
 				break;
 				
+			 case 'W':
+				$s .= '%U';
+				break;
+				
 			case 'l':
 				$s .= '%W';
 				break;
@@ -337,8 +343,11 @@
 	function OffsetDate($dayFraction,$date=false)
 	{		
 		if (!$date) $date = $this->sysDate;
+		
 		$fraction = $dayFraction * 24 * 3600;
-		return "from_unixtime(unix_timestamp($date)+$fraction)";
+		return $date . ' + INTERVAL ' .	 $fraction.' SECOND';
+		
+//		return "from_unixtime(unix_timestamp($date)+$fraction)";
 	}
 	
 	// returns true or false
@@ -536,8 +545,11 @@
 	}
 	
 	// "Innox - Juan Carlos Gonzalez" <jgonzalez#innox.com.mx>
-	function MetaForeignKeys( $table, $owner = FALSE, $upper = FALSE, $asociative = FALSE )
+	function MetaForeignKeys( $table, $owner = FALSE, $upper = FALSE, $associative = FALSE )
      {
+	 global $ADODB_FETCH_MODE;
+		if ($ADODB_FETCH_MODE == ADODB_FETCH_ASSOC || $this->fetchMode == ADODB_FETCH_ASSOC) $associative = true;
+
          if ( !empty($owner) ) {
             $table = "$owner.$table";
          }
@@ -562,7 +574,7 @@
              $foreign_keys[$ref_table] = array();
              $num_fields = count($my_field);
              for ( $j = 0;  $j < $num_fields;  $j ++ ) {
-                 if ( $asociative ) {
+                 if ( $associative ) {
                      $foreign_keys[$ref_table][$ref_field[$j]] = $my_field[$j];
                  } else {
                      $foreign_keys[$ref_table][] = "{$my_field[$j]}={$ref_field[$j]}";
@@ -624,8 +636,8 @@
 		}
 		else if ($fieldOffset == -1) {	/*	The $fieldOffset argument is not provided thus its -1 	*/
 			$o = @mysql_fetch_field($this->_queryID);
-			$o->max_length = @mysql_field_len($this->_queryID); // suggested by: Jim Nicholson (jnich@att.com)
-			//$o->max_length = -1; // mysql returns the max length less spaces -- so it is unrealiable
+		$o->max_length = @mysql_field_len($this->_queryID); // suggested by: Jim Nicholson (jnich@att.com)
+		//$o->max_length = -1; // mysql returns the max length less spaces -- so it is unrealiable
 		}
 			
 		return $o;
@@ -633,8 +645,8 @@
 
 	function &GetRowAssoc($upper=true)
 	{
-		if ($this->fetchMode == MYSQL_ASSOC && !$upper) return $this->fields;
-		$row =& ADORecordSet::GetRowAssoc($upper);
+		if ($this->fetchMode == MYSQL_ASSOC && !$upper) $row = $this->fields;
+		else $row =& ADORecordSet::GetRowAssoc($upper);
 		return $row;
 	}
 	
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-mysqli.inc.php 0.763/includes/classes/adodb/drivers/adodb-mysqli.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-mysqli.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-mysqli.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -19,6 +19,8 @@
 if (! defined("_ADODB_MYSQLI_LAYER")) {
  define("_ADODB_MYSQLI_LAYER", 1 );
  
+ // PHP5 compat...
+ if (! defined("MYSQLI_BINARY_FLAG"))  define("MYSQLI_BINARY_FLAG", 128); 
  if (!defined('MYSQLI_READ_DEFAULT_GROUP')) define('MYSQLI_READ_DEFAULT_GROUP',1);
 
  // disable adodb extension - currently incompatible.
@@ -30,7 +32,7 @@
 	var $hasInsertID = true;
 	var $hasAffectedRows = true;	
 	var $metaTablesSQL = "SHOW TABLES";	
-	var $metaColumnsSQL = "SHOW COLUMNS FROM %s";
+	var $metaColumnsSQL = "SHOW COLUMNS FROM `%s`";
 	var $fmtTimeStamp = "'Y-m-d H:i:s'";
 	var $hasLimit = true;
 	var $hasMoveFirst = true;
@@ -56,6 +58,16 @@
 	    
 	}
 	
+	function SetTransactionMode( $transaction_mode ) 
+	{
+		$this->_transmode  = $transaction_mode;
+		if (empty($transaction_mode)) {
+			$this->Execute('SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ');
+			return;
+		}
+		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
+		$this->Execute("SET SESSION TRANSACTION ".$transaction_mode);
+	}
 
 	// returns true or false
 	// To add: parameter int $port,
@@ -163,6 +175,14 @@
 		return true;
 	}
 	
+	function RowLock($tables,$where='',$flds='1 as adodb_ignore') 
+	{
+		if ($this->transCnt==0) $this->BeginTrans();
+		if ($where) $where = ' where '.$where;
+		$rs =& $this->Execute("select $flds from $tables $where for update");
+		return !empty($rs); 
+	}
+	
 	// if magic quotes disabled, use mysql_real_escape_string()
 	// From readme.htm:
 	// Quotes a string to be sent to the database. The $magic_quotes_enabled
@@ -410,9 +430,12 @@
 	// dayFraction is a day in floating point
 	function OffsetDate($dayFraction,$date=false)
 	{		
-		if (!$date) 
-		  $date = $this->sysDate;
-		return "from_unixtime(unix_timestamp($date)+($dayFraction)*24*3600)";
+		if (!$date) $date = $this->sysDate;
+		
+		$fraction = $dayFraction * 24 * 3600;
+		return $date . ' + INTERVAL ' .	 $fraction.' SECOND';
+		
+//		return "from_unixtime(unix_timestamp($date)+$fraction)";
 	}
 	
 	function &MetaTables($ttype=false,$showSchema=false,$mask=false) 
@@ -433,8 +456,12 @@
 	}
 	
 	// "Innox - Juan Carlos Gonzalez" <jgonzalez#innox.com.mx>
-	function MetaForeignKeys( $table, $owner = FALSE, $upper = FALSE, $asociative = FALSE )
+	function MetaForeignKeys( $table, $owner = FALSE, $upper = FALSE, $associative = FALSE )
 	{
+	 global $ADODB_FETCH_MODE;
+		
+		if ($ADODB_FETCH_MODE == ADODB_FETCH_ASSOC || $this->fetchMode == ADODB_FETCH_ASSOC) $associative = true;
+		
 	    if ( !empty($owner) ) {
 	       $table = "$owner.$table";
 	    }
@@ -459,7 +486,7 @@
 	        $foreign_keys[$ref_table] = array();
 	        $num_fields               = count($my_field);
 	        for ( $j = 0;  $j < $num_fields;  $j ++ ) {
-	            if ( $asociative ) {
+	            if ( $associative ) {
 	                $foreign_keys[$ref_table][$ref_field[$j]] = $my_field[$j];
 	            } else {
 	                $foreign_keys[$ref_table][] = "{$my_field[$j]}={$ref_field[$j]}";
@@ -659,6 +686,45 @@
 	}
 
 
+
+	// this is a set of functions for managing client encoding - very important if the encodings
+	// of your database and your output target (i.e. HTML) don't match
+	// for instance, you may have UTF8 database and server it on-site as latin1 etc.
+	// GetCharSet - get the name of the character set the client is using now
+	// Under Windows, the functions should work with MySQL 4.1.11 and above, the set of charsets supported
+	// depends on compile flags of mysql distribution 
+
+  function GetCharSet()
+  {
+    //we will use ADO's builtin property charSet
+    if (!method_exists($this->_connectionID,'character_set_name'))
+    	return false;
+    	
+    $this->charSet = @$this->_connectionID->character_set_name();
+    if (!$this->charSet) {
+      return false;
+    } else {
+      return $this->charSet;
+    }
+  }
+
+  // SetCharSet - switch the client encoding
+  function SetCharSet($charset_name)
+  {
+    if (!method_exists($this->_connectionID,'set_charset'))
+    	return false;
+
+    if ($this->charSet !== $charset_name) {
+      $if = @$this->_connectionID->set_charset($charset_name);
+      if ($if == "0" & $this->GetCharSet() == $charset_name) {
+        return true;
+      } else return false;
+    } else return true;
+  }
+
+
+
+
 }
  
 /*--------------------------------------------------------------------------------------
@@ -704,22 +770,50 @@
 		$this->_numOfFields = @mysqli_num_fields($this->_queryID);
 	}
 	
+/*
+1      = MYSQLI_NOT_NULL_FLAG
+2      = MYSQLI_PRI_KEY_FLAG
+4      = MYSQLI_UNIQUE_KEY_FLAG
+8      = MYSQLI_MULTIPLE_KEY_FLAG
+16     = MYSQLI_BLOB_FLAG
+32     = MYSQLI_UNSIGNED_FLAG
+64     = MYSQLI_ZEROFILL_FLAG
+128    = MYSQLI_BINARY_FLAG
+256    = MYSQLI_ENUM_FLAG
+512    = MYSQLI_AUTO_INCREMENT_FLAG
+1024   = MYSQLI_TIMESTAMP_FLAG
+2048   = MYSQLI_SET_FLAG
+32768  = MYSQLI_NUM_FLAG
+16384  = MYSQLI_PART_KEY_FLAG
+32768  = MYSQLI_GROUP_FLAG
+65536  = MYSQLI_UNIQUE_FLAG
+131072 = MYSQLI_BINCMP_FLAG
+*/
+
 	function &FetchField($fieldOffset = -1) 
 	{	
-	  $fieldnr = $fieldOffset;
-	  if ($fieldOffset != -1) {
-	    $fieldOffset = mysqli_field_seek($this->_queryID, $fieldnr);
-	  }
-	  $o = mysqli_fetch_field($this->_queryID);
-	  return $o;
+		$fieldnr = $fieldOffset;
+		if ($fieldOffset != -1) {
+		  $fieldOffset = mysqli_field_seek($this->_queryID, $fieldnr);
+		}
+		$o = mysqli_fetch_field($this->_queryID);
+		/* Properties of an ADOFieldObject as set by MetaColumns */
+		$o->primary_key = $o->flags & MYSQLI_PRI_KEY_FLAG;
+		$o->not_null = $o->flags & MYSQLI_NOT_NULL_FLAG;
+		$o->auto_increment = $o->flags & MYSQLI_AUTO_INCREMENT_FLAG;
+		$o->binary = $o->flags & MYSQLI_BINARY_FLAG;
+		// $o->blob = $o->flags & MYSQLI_BLOB_FLAG; /* not returned by MetaColumns */
+		$o->unsigned = $o->flags & MYSQLI_UNSIGNED_FLAG;
+
+		return $o;
 	}
 
 	function &GetRowAssoc($upper = true)
 	{
-	  if ($this->fetchMode == MYSQLI_ASSOC && !$upper) 
-	    return $this->fields;
-	  $row =& ADORecordSet::GetRowAssoc($upper);
-	  return $row;
+		if ($this->fetchMode == MYSQLI_ASSOC && !$upper) 
+		  return $this->fields;
+		$row =& ADORecordSet::GetRowAssoc($upper);
+		return $row;
 	}
 	
 	/* Use associative array to get fields array */
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-mysqlt.inc.php 0.763/includes/classes/adodb/drivers/adodb-mysqlt.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-mysqlt.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-mysqlt.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -30,6 +30,23 @@
 	global $ADODB_EXTENSION; if ($ADODB_EXTENSION) $this->rsPrefix .= 'ext_';
 	}
 	
+	/* set transaction mode
+	
+	SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
+{ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
+
+	*/
+	function SetTransactionMode( $transaction_mode ) 
+	{
+		$this->_transmode  = $transaction_mode;
+		if (empty($transaction_mode)) {
+			$this->Execute('SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ');
+			return;
+		}
+		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
+		$this->Execute("SET SESSION TRANSACTION ".$transaction_mode);
+	}
+	
 	function BeginTrans()
 	{	  
 		if ($this->transOff) return true;
@@ -59,10 +76,12 @@
 		return true;
 	}
 	
-	function RowLock($tables,$where,$flds='1 as ignore') 
+	function RowLock($tables,$where='',$flds='1 as adodb_ignore') 
 	{
 		if ($this->transCnt==0) $this->BeginTrans();
-		return $this->GetOne("select $flds from $tables where $where for update");
+		if ($where) $where = ' where '.$where;
+		$rs =& $this->Execute("select $flds from $tables $where for update");
+		return !empty($rs); 
 	}
 	
 }
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-netezza.inc.php 0.763/includes/classes/adodb/drivers/adodb-netezza.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-netezza.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-netezza.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim#natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  
   First cut at the Netezza Driver by Josh Eldridge joshuae74#hotmail.com
  Based on the previous postgres drivers.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-oci8.inc.php 0.763/includes/classes/adodb/drivers/adodb-oci8.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-oci8.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-oci8.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 /*
 
-  version V4.66 28 Sept 2005 (c) 2000-2005 John Lim. All rights reserved.
+  version V4.91 2 Aug 2006 (c) 2000-2006 John Lim. All rights reserved.
 
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
@@ -195,7 +195,7 @@
 				   	$argHostname=$argHostinfo[0];
 					$argHostport=$argHostinfo[1];
 			 	} else {
-					$argHostport="1521";
+					$argHostport = empty($this->port)?  "1521" : $this->port;
 	   			}
 				
 				if ($this->connectSID) {
@@ -278,6 +278,21 @@
 		return "TO_DATE(".adodb_date($this->fmtDate,$d).",'".$this->NLS_DATE_FORMAT."')";
 	}
 
+	function BindDate($d)
+	{
+		$d = ADOConnection::DBDate($d);
+		if (strncmp($d,"'",1)) return $d;
+		
+		return substr($d,1,strlen($d)-2);
+	}
+	
+	function BindTimeStamp($d)
+	{
+		$d = ADOConnection::DBTimeStamp($d);
+		if (strncmp($d,"'",1)) return $d;
+		
+		return substr($d,1,strlen($d)-2);
+	}
 	
 	// format and return date string in database timestamp format
 	function DBTimeStamp($ts)
@@ -298,7 +313,7 @@
 		if ($mask) {
 			$save = $this->metaTablesSQL;
 			$mask = $this->qstr(strtoupper($mask));
-			$this->metaTablesSQL .= " AND table_name like $mask";
+			$this->metaTablesSQL .= " AND upper(table_name) like $mask";
 		}
 		$ret =& ADOConnection::MetaTables($ttype,$showSchema);
 		
@@ -381,6 +396,8 @@
 		$this->transCnt += 1;
 		$this->autoCommit = false;
 		$this->_commit = OCI_DEFAULT;
+		
+		if ($this->_transmode) $this->Execute("SET TRANSACTION ".$this->_transmode);
 		return true;
 	}
 	
@@ -504,6 +521,10 @@
 				$s .= 'DAY';
 				break;
 				
+			 case 'W':
+				$s .= 'WW';
+				break;
+				
 			default:
 			// handle escape characters...
 				if ($ch == '\\') {
@@ -793,6 +814,7 @@
 	
 		if (is_array($stmt) && sizeof($stmt) >= 5) {
 			$hasref = true;
+			$ignoreCur = false;
 			$this->Parameter($stmt, $ignoreCur, $cursorName, false, -1, OCI_B_CURSOR);
 			if ($params) {
 				foreach($params as $k => $v) {
@@ -1476,4 +1498,4 @@
 		return adodb_movenext($this);
 	}
 }
-?>
\ No newline at end of file
+?>
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-oci805.inc.php 0.763/includes/classes/adodb/drivers/adodb-oci805.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-oci805.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-oci805.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-oci8po.inc.php 0.763/includes/classes/adodb/drivers/adodb-oci8po.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-oci8po.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-oci8po.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim. All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim. All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-odbc.inc.php 0.763/includes/classes/adodb/drivers/adodb-odbc.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-odbc.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-odbc.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim#natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-odbc_db2.inc.php 0.763/includes/classes/adodb/drivers/adodb-odbc_db2.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-odbc_db2.inc.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/includes/classes/adodb/drivers/adodb-odbc_db2.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -0,0 +1,368 @@
+<?php
+/* 
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+  Released under both BSD license and Lesser GPL library license. 
+  Whenever there is any discrepancy between the two licenses, 
+  the BSD license will take precedence. 
+Set tabs to 4 for best viewing.
+  
+  Latest version is available at http://adodb.sourceforge.net
+  
+  DB2 data driver. Requires ODBC.
+ 
+From phpdb list:
+
+Hi Andrew,
+
+thanks a lot for your help. Today we discovered what
+our real problem was:
+
+After "playing" a little bit with the php-scripts that try
+to connect to the IBM DB2, we set the optional parameter
+Cursortype when calling odbc_pconnect(....).
+
+And the exciting thing: When we set the cursor type
+to SQL_CUR_USE_ODBC Cursor Type, then
+the whole query speed up from 1 till 10 seconds
+to 0.2 till 0.3 seconds for 100 records. Amazing!!!
+
+Therfore, PHP is just almost fast as calling the DB2
+from Servlets using JDBC (don't take too much care
+about the speed at whole: the database was on a
+completely other location, so the whole connection
+was made over a slow network connection).
+
+I hope this helps when other encounter the same
+problem when trying to connect to DB2 from
+PHP.
+
+Kind regards,
+Christian Szardenings
+
+2 Oct 2001
+Mark Newnham has discovered that the SQL_CUR_USE_ODBC is not supported by 
+IBM's DB2 ODBC driver, so this must be a 3rd party ODBC driver.
+
+From the IBM CLI Reference:
+
+SQL_ATTR_ODBC_CURSORS (DB2 CLI v5) 
+This connection attribute is defined by ODBC, but is not supported by DB2
+CLI. Any attempt to set or get this attribute will result in an SQLSTATE of
+HYC00 (Driver not capable). 
+
+A 32-bit option specifying how the Driver Manager uses the ODBC cursor
+library. 
+
+So I guess this means the message [above] was related to using a 3rd party
+odbc driver.
+
+Setting SQL_CUR_USE_ODBC
+========================
+To set SQL_CUR_USE_ODBC for drivers that require it, do this:
+
+$db = NewADOConnection('odbc_db2');
+$db->curMode = SQL_CUR_USE_ODBC;
+$db->Connect($dsn, $userid, $pwd);
+
+
+
+USING CLI INTERFACE
+===================
+
+I have had reports that the $host and $database params have to be reversed in 
+Connect() when using the CLI interface. From Halmai Csongor csongor.halmai#nexum.hu:
+
+> The symptom is that if I change the database engine from postgres or any other to DB2 then the following
+> connection command becomes wrong despite being described this version to be correct in the docs. 
+>
+> $connection_object->Connect( $DATABASE_HOST, $DATABASE_AUTH_USER_NAME, $DATABASE_AUTH_PASSWORD, $DATABASE_NAME )
+>
+> In case of DB2 I had to swap the first and last arguments in order to connect properly. 
+
+
+System Error 5
+==============
+IF you get a System Error 5 when trying to Connect/Load, it could be a permission problem. Give the user connecting
+to DB2 full rights to the DB2 SQLLIB directory, and place the user in the DBUSERS group.
+*/
+
+// security - hide paths
+if (!defined('ADODB_DIR')) die();
+
+if (!defined('_ADODB_ODBC_LAYER')) {
+	include(ADODB_DIR."/drivers/adodb-odbc.inc.php");
+}
+if (!defined('ADODB_ODBC_DB2')){
+define('ADODB_ODBC_DB2',1);
+
+class ADODB_ODBC_DB2 extends ADODB_odbc {
+	var $databaseType = "db2";	
+	var $concat_operator = '||';
+	var $sysTime = 'CURRENT TIME';
+	var $sysDate = 'CURRENT DATE';
+	var $sysTimeStamp = 'CURRENT TIMESTAMP';
+	// The complete string representation of a timestamp has the form 
+	// yyyy-mm-dd-hh.mm.ss.nnnnnn.
+	var $fmtTimeStamp = "'Y-m-d-H.i.s'";
+	var $ansiOuter = true;
+	var $identitySQL = 'values IDENTITY_VAL_LOCAL()';
+	var $_bindInputArray = true;
+	 var $hasInsertID = true;
+	var $rsPrefix = 'ADORecordset_odbc_';
+	
+	function ADODB_DB2()
+	{
+		if (strncmp(PHP_OS,'WIN',3) === 0) $this->curmode = SQL_CUR_USE_ODBC;
+		$this->ADODB_odbc();
+	}
+	
+	function IfNull( $field, $ifNull ) 
+	{
+		return " COALESCE($field, $ifNull) "; // if DB2 UDB
+	}
+	
+	function ServerInfo()
+	{
+		//odbc_setoption($this->_connectionID,1,101 /*SQL_ATTR_ACCESS_MODE*/, 1 /*SQL_MODE_READ_ONLY*/);
+		$vers = $this->GetOne('select versionnumber from sysibm.sysversions');
+		//odbc_setoption($this->_connectionID,1,101, 0 /*SQL_MODE_READ_WRITE*/);
+		return array('description'=>'DB2 ODBC driver', 'version'=>$vers);
+	}
+	
+	function _insertid()
+	{
+		return $this->GetOne($this->identitySQL);
+	}
+	
+	function RowLock($tables,$where,$flds='1 as ignore')
+	{
+		if ($this->_autocommit) $this->BeginTrans();
+		return $this->GetOne("select $flds from $tables where $where for update");
+	}
+	
+	function &MetaTables($ttype=false,$showSchema=false, $qtable="%", $qschema="%")
+	{
+	global $ADODB_FETCH_MODE;
+	
+		$savem = $ADODB_FETCH_MODE;
+		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
+		$qid = odbc_tables($this->_connectionID, "", $qschema, $qtable, "");
+		
+		$rs = new ADORecordSet_odbc($qid);
+		
+		$ADODB_FETCH_MODE = $savem;
+		if (!$rs) {
+			$false = false;
+			return $false;
+		}
+		$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;
+		
+		$arr =& $rs->GetArray();
+		//print_r($arr);
+		
+		$rs->Close();
+		$arr2 = array();
+		
+		if ($ttype) {
+			$isview = strncmp($ttype,'V',1) === 0;
+		}
+		for ($i=0; $i < sizeof($arr); $i++) {
+		
+			if (!$arr[$i][2]) continue;
+			if (strncmp($arr[$i][1],'SYS',3) === 0) continue;
+			
+			$type = $arr[$i][3];
+			
+			if ($showSchema) $arr[$i][2] = $arr[$i][1].'.'.$arr[$i][2];
+			
+			if ($ttype) { 
+				if ($isview) {
+					if (strncmp($type,'V',1) === 0) $arr2[] = $arr[$i][2];
+				} else if (strncmp($type,'T',1) === 0) $arr2[] = $arr[$i][2];
+			} else if (strncmp($type,'S',1) !== 0) $arr2[] = $arr[$i][2];
+		}
+		return $arr2;
+	}
+
+	function &MetaIndexes ($table, $primary = FALSE, $owner=false)
+	{
+        // save old fetch mode
+        global $ADODB_FETCH_MODE;
+        $save = $ADODB_FETCH_MODE;
+        $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
+        if ($this->fetchMode !== FALSE) {
+               $savem = $this->SetFetchMode(FALSE);
+        }
+		$false = false;
+		// get index details
+		$table = strtoupper($table);
+		$SQL="SELECT NAME, UNIQUERULE, COLNAMES FROM SYSIBM.SYSINDEXES WHERE TBNAME='$table'";
+        if ($primary) 
+			$SQL.= " AND UNIQUERULE='P'";
+		$rs = $this->Execute($SQL);
+        if (!is_object($rs)) {
+			if (isset($savem)) 
+				$this->SetFetchMode($savem);
+			$ADODB_FETCH_MODE = $save;
+            return $false;
+        }
+		$indexes = array ();
+        // parse index data into array
+        while ($row = $rs->FetchRow()) {
+			$indexes[$row[0]] = array(
+			   'unique' => ($row[1] == 'U' || $row[1] == 'P'),
+			   'columns' => array()
+			);
+			$cols = ltrim($row[2],'+');
+			$indexes[$row[0]]['columns'] = explode('+', $cols);
+        }
+		if (isset($savem)) { 
+            $this->SetFetchMode($savem);
+			$ADODB_FETCH_MODE = $save;
+		}
+        return $indexes;
+	}
+	
+	// Format date column in sql string given an input format that understands Y M D
+	function SQLDate($fmt, $col=false)
+	{	
+	// use right() and replace() ?
+		if (!$col) $col = $this->sysDate;
+		$s = '';
+		
+		$len = strlen($fmt);
+		for ($i=0; $i < $len; $i++) {
+			if ($s) $s .= '||';
+			$ch = $fmt[$i];
+			switch($ch) {
+			case 'Y':
+			case 'y':
+				$s .= "char(year($col))";
+				break;
+			case 'M':
+				$s .= "substr(monthname($col),1,3)";
+				break;
+			case 'm':
+				$s .= "right(digits(month($col)),2)";
+				break;
+			case 'D':
+			case 'd':
+				$s .= "right(digits(day($col)),2)";
+				break;
+			case 'H':
+			case 'h':
+				if ($col != $this->sysDate) $s .= "right(digits(hour($col)),2)";	
+				else $s .= "''";
+				break;
+			case 'i':
+			case 'I':
+				if ($col != $this->sysDate)
+					$s .= "right(digits(minute($col)),2)";
+					else $s .= "''";
+				break;
+			case 'S':
+			case 's':
+				if ($col != $this->sysDate)
+					$s .= "right(digits(second($col)),2)";
+				else $s .= "''";
+				break;
+			default:
+				if ($ch == '\\') {
+					$i++;
+					$ch = substr($fmt,$i,1);
+				}
+				$s .= $this->qstr($ch);
+			}
+		}
+		return $s;
+	} 
+ 
+	
+	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputArr=false)
+	{
+		$nrows = (integer) $nrows;
+		if ($offset <= 0) {
+		// could also use " OPTIMIZE FOR $nrows ROWS "
+			if ($nrows >= 0) $sql .=  " FETCH FIRST $nrows ROWS ONLY ";
+			$rs =& $this->Execute($sql,$inputArr);
+		} else {
+			if ($offset > 0 && $nrows < 0);
+			else {
+				$nrows += $offset;
+				$sql .=  " FETCH FIRST $nrows ROWS ONLY ";
+			}
+			$rs =& ADOConnection::SelectLimit($sql,-1,$offset,$inputArr);
+		}
+		
+		return $rs;
+	}
+	
+};
+ 
+
+class  ADORecordSet_odbc_db2 extends ADORecordSet_odbc {	
+	
+	var $databaseType = "db2";		
+	
+	function ADORecordSet_db2($id,$mode=false)
+	{
+		$this->ADORecordSet_odbc($id,$mode);
+	}
+
+	function MetaType($t,$len=-1,$fieldobj=false)
+	{
+		if (is_object($t)) {
+			$fieldobj = $t;
+			$t = $fieldobj->type;
+			$len = $fieldobj->max_length;
+		}
+		
+		switch (strtoupper($t)) {
+		case 'VARCHAR':
+		case 'CHAR':
+		case 'CHARACTER':
+		case 'C':
+			if ($len <= $this->blobSize) return 'C';
+		
+		case 'LONGCHAR':
+		case 'TEXT':
+		case 'CLOB':
+		case 'DBCLOB': // double-byte
+		case 'X':
+			return 'X';
+		
+		case 'BLOB':
+		case 'GRAPHIC':
+		case 'VARGRAPHIC':
+			return 'B';
+			
+		case 'DATE':
+		case 'D':
+			return 'D';
+		
+		case 'TIME':
+		case 'TIMESTAMP':
+		case 'T':
+			return 'T';
+		
+		//case 'BOOLEAN': 
+		//case 'BIT':
+		//	return 'L';
+			
+		//case 'COUNTER':
+		//	return 'R';
+			
+		case 'INT':
+		case 'INTEGER':
+		case 'BIGINT':
+		case 'SMALLINT':
+		case 'I':
+			return 'I';
+			
+		default: return 'N';
+		}
+	}
+}
+
+} //define
+?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-odbc_mssql.inc.php 0.763/includes/classes/adodb/drivers/adodb-odbc_mssql.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-odbc_mssql.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-odbc_mssql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -142,6 +142,17 @@
 		return ADODB_odbc::_query($sql,$inputarr);
 	}
 	
+	function SetTransactionMode( $transaction_mode ) 
+	{
+		$this->_transmode  = $transaction_mode;
+		if (empty($transaction_mode)) {
+			$this->Execute('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');
+			return;
+		}
+		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
+		$this->Execute("SET TRANSACTION ".$transaction_mode);
+	}
+	
 	// "Stein-Aksel Basma" <basma@accelero.no>
 	// tested with MSSQL 2000
 	function &MetaPrimaryKeys($table)
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-odbc_oracle.inc.php 0.763/includes/classes/adodb/drivers/adodb-odbc_oracle.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-odbc_oracle.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-odbc_oracle.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -52,7 +52,8 @@
 	
 	function &MetaColumns($table) 
 	{
-		
+	global $ADODB_FETCH_MODE;
+	
 		$rs = $this->Execute(sprintf($this->metaColumnsSQL,strtoupper($table)));
 		if ($rs === false) {	
 			$false = false;
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-odbtp.inc.php 0.763/includes/classes/adodb/drivers/adodb-odbtp.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-odbtp.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-odbtp.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
   the BSD license will take precedence. See License.txt.
@@ -312,6 +312,7 @@
 			$false = false;
 			return $false;
 		}
+		$retarr = array();
 		while (!$rs->EOF) {
 			//print_r($rs->fields);
 			if (strtoupper($rs->fields[2]) == $table) {
@@ -326,7 +327,7 @@
  					$fld->default_value = $rs->fields[12];
 				}
 				$retarr[strtoupper($fld->name)] = $fld;
-			} else if (sizeof($retarr)>0)
+			} else if (!empty($retarr))
 				break;
 			$rs->MoveNext();
 		}
@@ -518,6 +519,8 @@
 
 	function _query($sql,$inputarr=false)
 	{
+	global $php_errormsg;
+	
  		if ($inputarr) {
 			if (is_array($sql)) {
 				$stmtid = $sql[1];
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-odbtp_unicode.inc.php 0.763/includes/classes/adodb/drivers/adodb-odbtp_unicode.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-odbtp_unicode.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-odbtp_unicode.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-	V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+	V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
   the BSD license will take precedence. See License.txt.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-oracle.inc.php 0.763/includes/classes/adodb/drivers/adodb-oracle.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-oracle.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-oracle.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -45,6 +45,24 @@
 		if (is_string($ts)) $d = ADORecordSet::UnixTimeStamp($ts);
 		return 'TO_DATE('.adodb_date($this->fmtTimeStamp,$ts).",'RRRR-MM-DD, HH:MI:SS AM')";
 	}
+	
+	
+	function BindDate($d)
+	{
+		$d = ADOConnection::DBDate($d);
+		if (strncmp($d,"'",1)) return $d;
+		
+		return substr($d,1,strlen($d)-2);
+	}
+	
+	function BindTimeStamp($d)
+	{
+		$d = ADOConnection::DBTimeStamp($d);
+		if (strncmp($d,"'",1)) return $d;
+		
+		return substr($d,1,strlen($d)-2);
+	}
+	
 
 	
 	function BeginTrans()
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-pdo.inc.php 0.763/includes/classes/adodb/drivers/adodb-pdo.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-pdo.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-pdo.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim#natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -66,9 +66,13 @@
 
 class ADODB_pdo_base extends ADODB_pdo {
 
+	var $sysDate = "'?'";
+	var $sysTimeStamp = "'?'";
+	
+
 	function _init($parentDriver)
 	{
-		$parentDriver->_bindInputArray = false;
+		$parentDriver->_bindInputArray = true;
 		#$parentDriver->_connectionID->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,true);
 	}
 	
@@ -77,7 +81,7 @@
 		return ADOConnection::ServerInfo();
 	}
 	
-	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
+	function SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
 	{
 		$ret = ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
 		return $ret;
@@ -135,6 +139,12 @@
 	
 	function Time()
 	{
+		if (!empty($this->_driver->_hasdual)) $sql = "select $this->sysTimeStamp from dual";
+		else $sql = "select $this->sysTimeStamp";
+		
+		$rs =& $this->_Execute($sql);
+		if ($rs && !$rs->EOF) return $this->UnixTimeStamp(reset($rs->fields));
+		
 		return false;
 	}
 	
@@ -144,6 +154,9 @@
 		$at = strpos($argDSN,':');
 		$this->dsnType = substr($argDSN,0,$at);
 
+		if ($argDatabasename) {
+			$argDSN .= ';dbname='.$argDatabasename;
+		}
 		try {
 			$this->_connectionID = new PDO($argDSN, $argUsername, $argPassword);
 		} catch (Exception $e) {
@@ -171,6 +184,7 @@
 			case 'oci':
 			case 'mysql':
 			case 'pgsql':
+			case 'mssql':
 				include_once(ADODB_DIR.'/drivers/adodb-pdo_'.$this->dsnType.'.inc.php');
 				break;
 			}
@@ -196,10 +210,11 @@
 	/*------------------------------------------------------------------------------*/
 	
 	
-	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0) 
+	function SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0) 
 	{	
 		$save = $this->_driver->fetchMode;
 		$this->_driver->fetchMode = $this->fetchMode;
+	 	$this->_driver->debug = $this->debug;
 		$ret = $this->_driver->SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
 		$this->_driver->fetchMode = $save;
 		return $ret;
@@ -310,7 +325,8 @@
 		$obj = new ADOPDOStatement($stmt,$this);
 		return $obj;
 	}
-
+	
+	
 	/* returns queryID or false */
 	function _query($sql,$inputarr=false) 
 	{
@@ -319,8 +335,10 @@
 		} else {
 			$stmt = $this->_connectionID->prepare($sql);
 		}
-		
+		#adodb_backtrace();
+		#var_dump($this->_bindInputArray);
 		if ($stmt) {
+			$this->_driver->debug = $this->debug;
 			if ($inputarr) $ok = $stmt->execute($inputarr);
 			else $ok = $stmt->execute();
 		} 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-pdo_mssql.inc.php 0.763/includes/classes/adodb/drivers/adodb-pdo_mssql.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-pdo_mssql.inc.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/includes/classes/adodb/drivers/adodb-pdo_mssql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -0,0 +1,61 @@
+<?php
+
+
+/*
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+  Released under both BSD license and Lesser GPL library license. 
+  Whenever there is any discrepancy between the two licenses, 
+  the BSD license will take precedence.
+  Set tabs to 8.
+ 
+*/ 
+
+class ADODB_pdo_mssql extends ADODB_pdo {
+	
+	var $hasTop = 'top';
+	var $sysDate = 'convert(datetime,convert(char,GetDate(),102),102)';
+	var $sysTimeStamp = 'GetDate()';
+	
+	
+	function _init($parentDriver)
+	{
+	
+		$parentDriver->hasTransactions = false; ## <<< BUG IN PDO mssql driver
+		$parentDriver->_bindInputArray = false;
+		$parentDriver->hasInsertID = true;
+	}
+	
+	function ServerInfo()
+	{
+		return ADOConnection::ServerInfo();
+	}
+	
+	function SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
+	{
+		$ret = ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
+		return $ret;
+	}
+	
+	function SetTransactionMode( $transaction_mode ) 
+	{
+		$this->_transmode  = $transaction_mode;
+		if (empty($transaction_mode)) {
+			$this->Execute('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');
+			return;
+		}
+		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
+		$this->Execute("SET TRANSACTION ".$transaction_mode);
+	}
+	
+	function MetaTables()
+	{
+		return false;
+	}
+	
+	function MetaColumns()
+	{
+		return false;
+	}
+
+}
+?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-pdo_mysql.inc.php 0.763/includes/classes/adodb/drivers/adodb-pdo_mysql.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-pdo_mysql.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-pdo_mysql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -2,7 +2,7 @@
 
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -12,11 +12,11 @@
 
 class ADODB_pdo_mysql extends ADODB_pdo {
 	var $metaTablesSQL = "SHOW TABLES";	
-	var $metaColumnsSQL = "SHOW COLUMNS FROM %s";
-	var $_bindInputArray = false;
+	var $metaColumnsSQL = "SHOW COLUMNS FROM `%s`";
 	var $sysDate = 'CURDATE()';
 	var $sysTimeStamp = 'NOW()';
-	
+	var $nameQuote = '`';
+
 	function _init($parentDriver)
 	{
 	
@@ -26,6 +26,17 @@
 		$parentDriver->_connectionID->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,true);
 	}
 	
+		// dayFraction is a day in floating point
+	function OffsetDate($dayFraction,$date=false)
+	{		
+		if (!$date) $date = $this->sysDate;
+		
+		$fraction = $dayFraction * 24 * 3600;
+		return $date . ' + INTERVAL ' .	 $fraction.' SECOND';
+		
+//		return "from_unixtime(unix_timestamp($date)+$fraction)";
+	}
+	
 	function ServerInfo()
 	{
 		$arr['description'] = ADOConnection::GetOne("select version()");
@@ -50,6 +61,17 @@
 		return $ret;
 	}
 	
+	function SetTransactionMode( $transaction_mode ) 
+	{
+		$this->_transmode  = $transaction_mode;
+		if (empty($transaction_mode)) {
+			$this->Execute('SET TRANSACTION ISOLATION LEVEL REPEATABLE READ');
+			return;
+		}
+		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
+		$this->Execute("SET SESSION TRANSACTION ".$transaction_mode);
+	}
+	
  	function &MetaColumns($table) 
 	{
 		$this->_findschema($table,$schema);
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-pdo_oci.inc.php 0.763/includes/classes/adodb/drivers/adodb-pdo_oci.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-pdo_oci.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-pdo_oci.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -2,7 +2,7 @@
 
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -21,10 +21,11 @@
 	var $metaColumnsSQL = "select cname,coltype,width, SCALE, PRECISION, NULLS, DEFAULTVAL from col where tname='%s' order by colno"; 
 		
  	var $_initdate = true;
+	var $_hasdual = true;
 	
 	function _init($parentDriver)
 	{
-		$parentDriver->_bindInputArray = false;
+		$parentDriver->_bindInputArray = true;
 		
 		if ($this->_initdate) {
 			$parentDriver->Execute("ALTER SESSION SET NLS_DATE_FORMAT='".$this->NLS_DATE_FORMAT."'");
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-pdo_pgsql.inc.php 0.763/includes/classes/adodb/drivers/adodb-pdo_pgsql.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-pdo_pgsql.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-pdo_pgsql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -10,7 +10,7 @@
 */ 
 
 class ADODB_pdo_pgsql extends ADODB_pdo {
-var $metaDatabasesSQL = "select datname from pg_database where datname not in ('template0','template1') order by 1";
+	var $metaDatabasesSQL = "select datname from pg_database where datname not in ('template0','template1') order by 1";
     var $metaTablesSQL = "select tablename,'T' from pg_tables where tablename not like 'pg\_%'
 	and tablename not in ('sql_features', 'sql_implementation_info', 'sql_languages',
 	 'sql_packages', 'sql_sizing', 'sql_sizing_profiles') 
@@ -57,7 +57,7 @@
 	function _init($parentDriver)
 	{
 	
-		$parentDriver->hasTransactions = false;
+		$parentDriver->hasTransactions = false; ## <<< BUG IN PDO pgsql driver
 		$parentDriver->hasInsertID = true;
 	}
 	
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-postgres.inc.php 0.763/includes/classes/adodb/drivers/adodb-postgres.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-postgres.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-postgres.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
- V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-postgres64.inc.php 0.763/includes/classes/adodb/drivers/adodb-postgres64.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-postgres64.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-postgres64.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
- V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -49,7 +49,7 @@
 {
 	$len = strlen($s);
 	if ($len == 0) return "''";
-	if (strncmp($s,"'",1) === 0 && substr(s,$len-1) == "'") return $s; // already quoted
+	if (strncmp($s,"'",1) === 0 && substr($s,$len-1) == "'") return $s; // already quoted
 	
 	return "'".addslashes($s)."'";
 }
@@ -161,7 +161,7 @@
 	}
 
 // I get this error with PHP before 4.0.6 - jlim
-// Warning: This compilation does not support pg_cmdtuples() in d:/inetpub/wwwroot/php/adodb/adodb-postgres.inc.php on line 44
+// Warning: This compilation does not support pg_cmdtuples() in adodb-postgres.inc.php on line 44
    function _affectedrows()
    {
    		if (!is_resource($this->_resultid) || get_resource_type($this->_resultid) !== 'pgsql result') return false;
@@ -174,7 +174,7 @@
 	{
 		if ($this->transOff) return true;
 		$this->transCnt += 1;
-		return @pg_Exec($this->_connectionID, "begin");
+		return @pg_Exec($this->_connectionID, "begin ".$this->_transmode);
 	}
 	
 	function RowLock($tables,$where,$flds='1 as ignore') 
@@ -232,7 +232,7 @@
 		return $ret;
 	}
 	
-	/*
+	
 	// if magic quotes disabled, use pg_escape_string()
 	function qstr($s,$magic_quotes=false)
 	{
@@ -241,7 +241,7 @@
 				return  "'".pg_escape_string($s)."'";
 			}
 			if ($this->replaceQuote[0] == '\\'){
-				$s = adodb_str_replace(array('\\',"\0"),array('\\\\',"\\\0"),$s);
+				$s = adodb_str_replace(array('\\',"\0"),array('\\\\',"\\\\000"),$s);
 			}
 			return  "'".str_replace("'",$this->replaceQuote,$s)."'"; 
 		}
@@ -250,7 +250,7 @@
 		$s = str_replace('\\"','"',$s);
 		return "'$s'";
 	}
-	*/
+	
 	
 	
 	// Format date column in sql string given an input format that understands Y M D
@@ -312,7 +312,11 @@
 			case 'l':
 				$s .= 'DAY';
 				break;
-				
+			
+			 case 'W':
+				$s .= 'WW';
+				break;
+
 			default:
 			// handle escape characters...
 				if ($ch == '\\') {
@@ -358,6 +362,22 @@
 	} 
 	
 	/*
+	* Deletes/Unlinks a Blob from the database, otherwise it 
+	* will be left behind
+	*
+	* Returns TRUE on success or FALSE on failure.
+	*
+	* contributed by Todd Rogers todd#windfox.net
+	*/
+	function BlobDelete( $blob )
+	{
+		pg_exec ($this->_connectionID, "begin");
+		$result = @pg_lo_unlink($blob);
+		pg_exec ($this->_connectionID, "commit");
+		return( $result );
+	}
+
+	/*
 		Hueristic - not guaranteed to work.
 	*/
 	function GuessOID($oid)
@@ -393,7 +413,7 @@
 		@pg_loclose($fd); 
 		if ($hastrans) @pg_exec($this->_connectionID,"commit"); 
 		return $realblob;
-	} 
+	}
 	
 	/* 
 		See http://www.postgresql.org/idocs/index.php?datatype-binary.html
@@ -439,6 +459,7 @@
 
 	// for schema support, pass in the $table param "$schema.$tabname".
 	// converts field names to lowercase, $upper is ignored
+	// see http://phplens.com/lens/lensforum/msgs.php?id=14018 for more info
 	function &MetaColumns($table,$normalize=true) 
 	{
 	global $ADODB_FETCH_MODE;
@@ -511,6 +532,8 @@
 			$fld->name = $rs->fields[0];
 			$fld->type = $rs->fields[1];
 			$fld->max_length = $rs->fields[2];
+			$fld->attnum = $rs->fields[6];
+			
 			if ($fld->max_length <= 0) $fld->max_length = $rs->fields[3]-4;
 			if ($fld->max_length <= 0) $fld->max_length = -1;
 			if ($fld->type == 'numeric') {
@@ -525,9 +548,8 @@
 			}
 
 			//Freek
-			if ($rs->fields[4] == 't') {
-				$fld->not_null = true;
-			}
+			$fld->not_null = $rs->fields[4] == 't';
+			
 			
 			// Freek
 			if (is_array($keys)) {
@@ -597,12 +619,14 @@
 					return $false;
                 }
 				
-                $col_names = $this->MetaColumnNames($table,true);
+                $col_names = $this->MetaColumnNames($table,true,true); 
+				//3rd param is use attnum, 
+				// see http://sourceforge.net/tracker/index.php?func=detail&aid=1451245&group_id=42718&atid=433976
                 $indexes = array();
                 while ($row = $rs->FetchRow()) {
                         $columns = array();
                         foreach (explode(' ', $row[2]) as $col) {
-                                $columns[] = $col_names[$col - 1];
+                                $columns[] = $col_names[$col];
                         }
                         
                         $indexes[$row[0]] = array(
@@ -621,7 +645,7 @@
 	function _connect($str,$user='',$pwd='',$db='',$ctype=0)
 	{
 		
-		if (!function_exists('pg_pconnect')) return null;
+		if (!function_exists('pg_connect')) return null;
 		
 		$this->_errorMsg = false;
 		
@@ -681,7 +705,7 @@
 	// returns queryID or false
 	function _query($sql,$inputarr)
 	{
-		
+		$this->_errorMsg = false;
 		if ($inputarr) {
 		/*
 			It appears that PREPARE/EXECUTE is slower for many queries.
@@ -711,6 +735,7 @@
 			if ($execp) $exsql = "EXECUTE $plan ($execp)";
 			else $exsql = "EXECUTE $plan";
 			
+			
 			$rez = @pg_exec($this->_connectionID,$exsql);
 			if (!$rez) {
 			# Perhaps plan does not exist? Prepare/compile plan.
@@ -736,12 +761,11 @@
 				$s = "PREPARE $plan ($params) AS ".substr($sql,0,strlen($sql)-2);		
 				//adodb_pr($s);
 				pg_exec($this->_connectionID,$s);
-				echo $this->ErrorMsg();
+				//echo $this->ErrorMsg();
 			}
 			
 			$rez = pg_exec($this->_connectionID,$exsql);
 		} else {
-			$this->_errorMsg = false;
 			//adodb_backtrace();
 			$rez = pg_exec($this->_connectionID,$sql);
 		}
@@ -980,6 +1004,7 @@
 		   		case 'BPCHAR':
 				case '_VARCHAR':
 				case 'INET':
+				case 'MACADDR':
 					if ($len <= $this->blobSize) return 'C';
 				
 				case 'TEXT':
@@ -999,6 +1024,8 @@
 				case 'DATE':
 					return 'D';
 				
+				
+				case 'TIMESTAMP WITHOUT TIME ZONE':
 				case 'TIME':
 				case 'DATETIME':
 				case 'TIMESTAMP':
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-postgres7.inc.php 0.763/includes/classes/adodb/drivers/adodb-postgres7.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-postgres7.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-postgres7.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
- V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim#natsoft.com.my). All rights reserved.
+ V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -56,6 +56,7 @@
 	}
  	*/
 
+
 	// from  Edward Jaramilla, improved version - works on pg 7.4
 	function MetaForeignKeys($table, $owner=false, $upper=false)
 	{
@@ -73,21 +74,21 @@
 		
 		$rs =& $this->Execute($sql);
 		
-		if ($rs && !$rs->EOF) {
-			$arr =& $rs->GetArray();
-			$a = array();
-			foreach($arr as $v)
-			{
-				$data = explode(chr(0), $v['args']);
-				if ($upper) {
-					$a[strtoupper($data[2])][] = strtoupper($data[4].'='.$data[5]);
-				} else {
-				$a[$data[2]][] = $data[4].'='.$data[5];
-				}
+		if (!$rs || $rs->EOF) return false;
+		
+		$arr =& $rs->GetArray();
+		$a = array();
+		foreach($arr as $v) {
+			$data = explode(chr(0), $v['args']);
+			$size = count($data)-1; //-1 because the last node is empty
+			for($i = 4; $i < $size; $i++) {
+				if ($upper) 
+					$a[strtoupper($data[2])][] = strtoupper($data[$i].'='.$data[++$i]);
+				else 
+					$a[$data[2]][] = $data[$i].'='.$data[++$i];
 			}
-			return $a;
 		}
-		return false;
+		return $a;
 	}
 
 	function _query($sql,$inputarr)
@@ -96,16 +97,20 @@
 			// We don't have native support for parameterized queries, so let's emulate it at the parent
 			return ADODB_postgres64::_query($sql, $inputarr);
 		}
+		$this->_errorMsg = false;
 		// -- added Cristiano da Cunha Duarte
 		if ($inputarr) {
 			$sqlarr = explode('?',trim($sql));
 			$sql = '';
 			$i = 1;
+			$last = sizeof($sqlarr)-1;
 			foreach($sqlarr as $v) {
-				$sql .= $v.' $'.$i;
+				if ($last < $i) $sql .= $v;
+				else $sql .= $v.' $'.$i;
 				$i++;
 			}
-			$rez = pg_query_params($this->_connectionID,substr($sql, 0, strlen($sql)-2), $inputarr);
+			
+			$rez = pg_query_params($this->_connectionID,$sql, $inputarr);
 		} else {
 			$rez = pg_query($this->_connectionID,$sql);
 		}
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-postgres8.inc.php 0.763/includes/classes/adodb/drivers/adodb-postgres8.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-postgres8.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-postgres8.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
- V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-proxy.inc.php 0.763/includes/classes/adodb/drivers/adodb-proxy.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-proxy.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-proxy.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-sapdb.inc.php 0.763/includes/classes/adodb/drivers/adodb-sapdb.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-sapdb.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-sapdb.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-sqlanywhere.inc.php 0.763/includes/classes/adodb/drivers/adodb-sqlanywhere.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-sqlanywhere.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-sqlanywhere.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-version V4.66 28 Sept 2005 (c) 2000-2005  John Lim (jlim@natsoft.com.my).  All rights
+version V4.91 2 Aug 2006 (c) 2000-2006  John Lim (jlim#natsoft.com.my).  All rights
 reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-sqlite.inc.php 0.763/includes/classes/adodb/drivers/adodb-sqlite.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-sqlite.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-sqlite.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -147,24 +147,6 @@
 		return ($col) ? "adodb_date2($fmt,$col)" : "adodb_date($fmt)";
 	}
 	
-	function &MetaColumns($tab)
-	{
-	global $ADODB_FETCH_MODE;
-	
-		$rs = $this->Execute("select * from $tab limit 1");
-		if (!$rs) {
-			$false = false;
-			return $false;
-		}
-		$arr = array();
-		for ($i=0,$max=$rs->_numOfFields; $i < $max; $i++) {
-			$fld =& $rs->FetchField($i);
-			if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] =& $fld;	
-			else $arr[strtoupper($fld->name)] =& $fld;
-		}
-		$rs->Close();
-		return $arr;
-	}
 	
 	function _createFunctions()
 	{
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-sqlitepo.inc.php 0.763/includes/classes/adodb/drivers/adodb-sqlitepo.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-sqlitepo.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-sqlitepo.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
   the BSD license will take precedence.
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-sybase.inc.php 0.763/includes/classes/adodb/drivers/adodb-sybase.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-sybase.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-sybase.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim. All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim. All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-sybase_ase.inc.php 0.763/includes/classes/adodb/drivers/adodb-sybase_ase.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-sybase_ase.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-sybase_ase.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -9,6 +9,10 @@
   
   Contributed by Interakt Online. Thx Cristian MARIN cristic#interaktonline.com
 */
+
+
+require_once ADODB_DIR."/drivers/adodb-sybase.inc.php";
+
 class ADODB_sybase_ase extends ADODB_sybase {
  	var $databaseType = "sybase_ase";
 	
diff -ruN 0.762/includes/classes/adodb/drivers/adodb-vfp.inc.php 0.763/includes/classes/adodb/drivers/adodb-vfp.inc.php
--- 0.762/includes/classes/adodb/drivers/adodb-vfp.inc.php	2005-10-10 09:04:07.000000000 -0500
+++ 0.763/includes/classes/adodb/drivers/adodb-vfp.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/perf/perf-db2.inc.php 0.763/includes/classes/adodb/perf/perf-db2.inc.php
--- 0.762/includes/classes/adodb/perf/perf-db2.inc.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/perf/perf-db2.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/perf/perf-informix.inc.php 0.763/includes/classes/adodb/perf/perf-informix.inc.php
--- 0.762/includes/classes/adodb/perf/perf-informix.inc.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/perf/perf-informix.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/perf/perf-mssql.inc.php 0.763/includes/classes/adodb/perf/perf-mssql.inc.php
--- 0.762/includes/classes/adodb/perf/perf-mssql.inc.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/perf/perf-mssql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/perf/perf-mysql.inc.php 0.763/includes/classes/adodb/perf/perf-mysql.inc.php
--- 0.762/includes/classes/adodb/perf/perf-mysql.inc.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/perf/perf-mysql.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/perf/perf-oci8.inc.php 0.763/includes/classes/adodb/perf/perf-oci8.inc.php
--- 0.762/includes/classes/adodb/perf/perf-oci8.inc.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/perf/perf-oci8.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/perf/perf-postgres.inc.php 0.763/includes/classes/adodb/perf/perf-postgres.inc.php
--- 0.762/includes/classes/adodb/perf/perf-postgres.inc.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/perf/perf-postgres.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /* 
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
diff -ruN 0.762/includes/classes/adodb/pivottable.inc.php 0.763/includes/classes/adodb/pivottable.inc.php
--- 0.762/includes/classes/adodb/pivottable.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/pivottable.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,15 +1,12 @@
 <?php
 /** 
- * @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
  *
  * Set tabs to 4 for best viewing.
  * 
- * Latest version is available at http://php.weblogs.com
- *
- * Requires PHP4.01pl2 or later because it uses include_once
 */
 
 /*
@@ -23,7 +20,7 @@
  * @where			Where clause. Optional.
  * @aggfield		This is the field to sum. Optional. 
  *						Since 2.3.1, if you can use your own aggregate function 
- *						instead of SUM, eg. $sumfield = 'AVG(fieldname)';
+ *						instead of SUM, eg. $aggfield = 'fieldname'; $aggfn = 'AVG';
  * @sumlabel		Prefix to display in sum columns. Optional.
  * @aggfn			Aggregate function to use (could be AVG, SUM, COUNT)
  * @showcount		Show count of records
@@ -31,14 +28,14 @@
  * @returns			Sql generated
  */
  
- function PivotTableSQL($db,$tables,$rowfields,$colfield, $where=false,
+ function PivotTableSQL(&$db,$tables,$rowfields,$colfield, $where=false,
  	$aggfield = false,$sumlabel='Sum ',$aggfn ='SUM', $showcount = true)
  {
 	if ($aggfield) $hidecnt = true;
 	else $hidecnt = false;
 	
 	$iif = strpos($db->databaseType,'access') !== false; 
-		// note - vfp still doesn' work even with IIF enabled || $db->databaseType == 'vfp';
+		// note - vfp 6 still doesn' work even with IIF enabled || $db->databaseType == 'vfp';
 	
 	//$hidecnt = false;
 	
@@ -95,7 +92,12 @@
 	else
 		$sel = substr($sel,0,strlen($sel)-2);
 	
+	
+	// Strip aliases
+	$rowfields = preg_replace('/ AS (\w+)/i', '', $rowfields);
+	
 	$sql = "SELECT $sel \nFROM $tables $where \nGROUP BY $rowfields";
+	
 	return $sql;
  }
 
diff -ruN 0.762/includes/classes/adodb/rsfilter.inc.php 0.763/includes/classes/adodb/rsfilter.inc.php
--- 0.762/includes/classes/adodb/rsfilter.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/rsfilter.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/session/adodb-compress-bzip2.php 0.763/includes/classes/adodb/session/adodb-compress-bzip2.php
--- 0.762/includes/classes/adodb/session/adodb-compress-bzip2.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/session/adodb-compress-bzip2.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
diff -ruN 0.762/includes/classes/adodb/session/adodb-compress-gzip.php 0.763/includes/classes/adodb/session/adodb-compress-gzip.php
--- 0.762/includes/classes/adodb/session/adodb-compress-gzip.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/session/adodb-compress-gzip.php	2006-10-17 16:24:09.000000000 -0500
@@ -2,7 +2,7 @@
 
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
diff -ruN 0.762/includes/classes/adodb/session/adodb-cryptsession.php 0.763/includes/classes/adodb/session/adodb-cryptsession.php
--- 0.762/includes/classes/adodb/session/adodb-cryptsession.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/session/adodb-cryptsession.php	2006-10-17 16:24:09.000000000 -0500
@@ -2,7 +2,7 @@
 
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
@@ -16,7 +16,10 @@
 
 */
 
-require_once dirname(__FILE__) . '/adodb-session.php';
+if (!defined('ADODB_SESSION')) {
+	require_once dirname(__FILE__) . '/adodb-session.php';
+}
+
 require_once  ADODB_SESSION . '/adodb-encrypt-md5.php';
 
 ADODB_Session::filter(new ADODB_Encrypt_MD5());
diff -ruN 0.762/includes/classes/adodb/session/adodb-encrypt-mcrypt.php 0.763/includes/classes/adodb/session/adodb-encrypt-mcrypt.php
--- 0.762/includes/classes/adodb/session/adodb-encrypt-mcrypt.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/session/adodb-encrypt-mcrypt.php	2006-10-17 16:24:09.000000000 -0500
@@ -2,7 +2,7 @@
 
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
diff -ruN 0.762/includes/classes/adodb/session/adodb-encrypt-md5.php 0.763/includes/classes/adodb/session/adodb-encrypt-md5.php
--- 0.762/includes/classes/adodb/session/adodb-encrypt-md5.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/session/adodb-encrypt-md5.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
diff -ruN 0.762/includes/classes/adodb/session/adodb-encrypt-secret.php 0.763/includes/classes/adodb/session/adodb-encrypt-secret.php
--- 0.762/includes/classes/adodb/session/adodb-encrypt-secret.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/session/adodb-encrypt-secret.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
diff -ruN 0.762/includes/classes/adodb/session/adodb-encrypt-sha1.php 0.763/includes/classes/adodb/session/adodb-encrypt-sha1.php
--- 0.762/includes/classes/adodb/session/adodb-encrypt-sha1.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/includes/classes/adodb/session/adodb-encrypt-sha1.php	2006-10-17 16:24:09.000000000 -0500
@@ -0,0 +1,32 @@
+<?php
+if (!defined('ADODB_SESSION')) die();
+
+include_once ADODB_SESSION . '/crypt.inc.php';
+
+
+/**
+
+ */
+
+class ADODB_Encrypt_SHA1 {
+
+	function write($data, $key) 
+	{
+		$sha1crypt =& new SHA1Crypt();
+		return $sha1crypt->encrypt($data, $key);
+
+	}
+
+
+	function read($data, $key) 
+	{
+		$sha1crypt =& new SHA1Crypt();
+		return $sha1crypt->decrypt($data, $key);
+
+	}
+}
+
+
+
+return 1;
+?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/session/adodb-session-clob.php 0.763/includes/classes/adodb/session/adodb-session-clob.php
--- 0.762/includes/classes/adodb/session/adodb-session-clob.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/session/adodb-session-clob.php	2006-10-17 16:24:09.000000000 -0500
@@ -2,7 +2,7 @@
 
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
@@ -16,8 +16,9 @@
 
 */
 
-require_once dirname(__FILE__) . '/adodb-session.php';
-
+if (!defined('ADODB_SESSION')) {
+	require_once dirname(__FILE__) . '/adodb-session.php';
+}
 ADODB_Session::clob('CLOB');
 
 ?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/session/adodb-session.php 0.763/includes/classes/adodb/session/adodb-session.php
--- 0.762/includes/classes/adodb/session/adodb-session.php	2005-10-10 09:04:11.000000000 -0500
+++ 0.763/includes/classes/adodb/session/adodb-session.php	2006-10-17 16:24:09.000000000 -0500
@@ -2,7 +2,7 @@
 
 
 /*
-V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
@@ -26,7 +26,7 @@
 */
 
 if (!defined('_ADODB_LAYER')) {
-	require_once realpath(dirname(__FILE__) . '/../adodb.inc.php');
+	require realpath(dirname(__FILE__) . '/../adodb.inc.php');
 }
 
 if (defined('ADODB_SESSION')) return 1;
@@ -492,13 +492,29 @@
 	/////////////////////
 	// public methods
 	/////////////////////
+	
+	function config($driver, $host, $user, $password, $database=false,$options=false)
+	{
+		ADODB_Session::driver($driver);
+		ADODB_Session::host($host);
+		ADODB_Session::user($user);
+		ADODB_Session::password($password);
+		ADODB_Session::database($database);
+		
+		if ($driver == 'oci8' || $driver == 'oci8po') $options['lob'] = 'CLOB';
+		
+		if (isset($options['table'])) ADODB_Session::table($options['table']);
+		if (isset($options['lob'])) ADODB_Session::clob($options['lob']);
+		if (isset($options['debug'])) ADODB_Session::debug($options['debug']);
+	}
 
 	/*!
 		Create the connection to the database.
 
 		If $conn already exists, reuse that connection
 	*/
-	function open($save_path, $session_name, $persist = null) {
+	function open($save_path, $session_name, $persist = null) 
+	{
 		$conn =& ADODB_Session::_conn();
 
 		if ($conn) {
@@ -523,7 +539,6 @@
 #		assert('$driver');
 #		assert('$host');
 
-		// cannot use =& below - do not know why...
 		$conn =& ADONewConnection($driver);
 
 		if ($debug) {
@@ -553,7 +568,8 @@
 	/*!
 		Close the connection
 	*/
-	function close() {
+	function close() 
+	{
 /*
 		$conn =& ADODB_Session::_conn();
 		if ($conn) $conn->Close();
@@ -564,7 +580,8 @@
 	/*
 		Slurp in the session variables and return the serialized string
 	*/
-	function read($key) {
+	function read($key) 
+	{
 		$conn	=& ADODB_Session::_conn();
 		$data	= ADODB_Session::dataFieldName();
 		$filter	= ADODB_Session::filter();
@@ -574,12 +591,12 @@
 			return '';
 		}
 
-		assert('$table');
+		//assert('$table');
 
 		$qkey = $conn->quote($key);
 		$binary = $conn->dataProvider === 'mysql' ? '/*! BINARY */' : '';
 	
-		$sql = "SELECT $data FROM $table WHERE $binary sesskey = $qkey AND expiry >= " . time();
+		$sql = "SELECT $data FROM $table WHERE sesskey = $binary $qkey AND expiry >= " . time();
 		/* Lock code does not work as it needs to hold transaction within whole page, and we don't know if 
 		  developer has commited elsewhere... :(
 		 */
@@ -617,7 +634,12 @@
 
 		If the data has not been modified since the last read(), we do not write.
 	*/
-	function write($key, $val) {
+	function write($key, $val) 
+	{
+	global $ADODB_SESSION_READONLY;
+	
+		if (!empty($ADODB_SESSION_READONLY)) return;
+		
 		$clob			= ADODB_Session::clob();
 		$conn			=& ADODB_Session::_conn();
 		$crc			= ADODB_Session::_crc();
@@ -634,7 +656,7 @@
 		}
 		$qkey = $conn->qstr($key);
 	
-		assert('$table');
+		//assert('$table');
 
 		$expiry = time() + $lifetime;
 
@@ -646,12 +668,19 @@
 			if ($debug) {
 				echo '<p>Session: Only updating date - crc32 not changed</p>';
 			}
-			$sql = "UPDATE $table SET expiry = ".$conn->Param('0')." WHERE $binary sesskey = ".$conn->Param('1')." AND expiry >= ".$conn->Param('2');
-			$rs =& $conn->Execute($sql,array($expiry,$key,time()));
-			ADODB_Session::_dumprs($rs);
-			if ($rs) {
-				$rs->Close();
+			
+			$expirevar = '';
+			if ($expire_notify) {
+				$var = reset($expire_notify);
+				global $$var;
+				if (isset($$var)) {
+					$expirevar = $$var;
+				}
 			}
+			
+			
+			$sql = "UPDATE $table SET expiry = ".$conn->Param('0').",expireref=".$conn->Param('1')." WHERE $binary sesskey = ".$conn->Param('2')." AND expiry >= ".$conn->Param('3');
+			$rs =& $conn->Execute($sql,array($expiry,$expirevar,$key,time()));
 			return true;
 		}
 		$val = rawurlencode($val);
@@ -673,7 +702,7 @@
 		if (!$clob) {	// no lobs, simply use replace()
 			$arr[$data] = $conn->qstr($val);
 			$rs = $conn->Replace($table, $arr, 'sesskey', $autoQuote = true);
-			ADODB_Session::_dumprs($rs);
+			
 		} else {
 			// what value shall we insert/update for lob row?
 			switch ($driver) {
@@ -691,36 +720,27 @@
 					break;
 			}
 			
+			$conn->StartTrans();
+			$expiryref = $conn->qstr($arr['expireref']);
 			// do we insert or update? => as for sesskey
 			$rs =& $conn->Execute("SELECT COUNT(*) AS cnt FROM $table WHERE $binary sesskey = $qkey");
-			ADODB_Session::_dumprs($rs);
 			if ($rs && reset($rs->fields) > 0) {
-				$sql = "UPDATE $table SET expiry = $expiry, $data = $lob_value WHERE  sesskey = $qkey";
+				$sql = "UPDATE $table SET expiry = $expiry, $data = $lob_value, expireref=$expiryref WHERE  sesskey = $qkey";
 			} else {
-				$sql = "INSERT INTO $table (expiry, $data, sesskey) VALUES ($expiry, $lob_value, $qkey)";
-			}
-			if ($rs) {
-				$rs->Close();
+				$sql = "INSERT INTO $table (expiry, $data, sesskey,expireref) VALUES ($expiry, $lob_value, $qkey,$expiryref)";
 			}
+			if ($rs)$rs->Close();
+			
 
 			$err = '';
 			$rs1 =& $conn->Execute($sql);
-			ADODB_Session::_dumprs($rs1);
-			if (!$rs1) {
-				$err = $conn->ErrorMsg()."\n";
-			}
+			if (!$rs1) $err = $conn->ErrorMsg()."\n";
+			
 			$rs2 =& $conn->UpdateBlob($table, $data, $val, " sesskey=$qkey", strtoupper($clob));
-			ADODB_Session::_dumprs($rs2);
-			if (!$rs2) {
-				$err .= $conn->ErrorMsg()."\n";
-			}
+			if (!$rs2) $err .= $conn->ErrorMsg()."\n";
+			
 			$rs = ($rs && $rs2) ? true : false;
-			if ($rs1) {
-				$rs1->Close();
-			}
-			if (is_object($rs2)) {
-				$rs2->Close();
-			}
+			$conn->CompleteTrans();
 		}
 
 		if (!$rs) {
@@ -755,7 +775,7 @@
 			return false;
 		}
 
-		assert('$table');
+		//assert('$table');
 
 		$qkey = $conn->quote($key);
 		$binary = $conn->dataProvider === 'mysql' ? '/*! BINARY */' : '';
@@ -784,16 +804,14 @@
 		$sql = "DELETE FROM $table WHERE $binary sesskey = $qkey";
 		$rs =& $conn->Execute($sql);
 		ADODB_Session::_dumprs($rs);
-		if ($rs) {
-			$rs->Close();
-		}
 
 		return $rs ? true : false;
 	}
 
 	/*!
 	*/
-	function gc($maxlifetime) {
+	function gc($maxlifetime) 
+	{
 		$conn			=& ADODB_Session::_conn();
 		$debug			= ADODB_Session::debug();
 		$expire_notify	= ADODB_Session::expireNotify();
@@ -805,10 +823,8 @@
 			return false;
 		}
 
-		assert('$table');
 
 		$time			= time();
-
 		$binary = $conn->dataProvider === 'mysql' ? '/*! BINARY */' : '';
 
 		if ($expire_notify) {
@@ -820,18 +836,18 @@
 			ADODB_Session::_dumprs($rs);
 			$conn->SetFetchMode($savem);
 			if ($rs) {
-				$conn->BeginTrans();
+				$conn->StartTrans();
 				$keys = array();
 				while (!$rs->EOF) {
 					$ref = $rs->fields[0];
 					$key = $rs->fields[1];
 					$fn($ref, $key);
-					$del = $conn->Execute("DELETE FROM $table WHERE sesskey='$key'");
+					$del = $conn->Execute("DELETE FROM $table WHERE sesskey=".$conn->Param('0'),array($key));
 					$rs->MoveNext();
 				}
 				$rs->Close();
 				
-				$conn->CommitTrans();
+				$conn->CompleteTrans();
 			}
 		} else {
 		
@@ -839,8 +855,8 @@
 				$sql = "SELECT sesskey FROM $table WHERE expiry < $time";
 				$arr =& $conn->GetAll($sql);
 				foreach ($arr as $row) {
-					$sql2 = "DELETE FROM $table WHERE sesskey='$row[0]'";
-					$conn->Execute($sql2);
+					$sql2 = "DELETE FROM $table WHERE sesskey=".$conn->Param('0');
+					$conn->Execute($sql2,array($row[0]));
 				}
 			} else {
 				$sql = "DELETE FROM $table WHERE expiry < $time";
@@ -901,7 +917,8 @@
 }
 
 ADODB_Session::_init();
-
+if (empty($ADODB_SESSION_READONLY))
+	register_shutdown_function('session_write_close');
 
 // for backwards compatability only
 function adodb_sess_open($save_path, $session_name, $persist = true) {
@@ -914,4 +931,4 @@
 	return ADODB_Session::gc($t);
 }
 
-?>
+?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/session/crypt.inc.php 0.763/includes/classes/adodb/session/crypt.inc.php
--- 0.762/includes/classes/adodb/session/crypt.inc.php	2005-03-22 11:12:59.000000000 -0600
+++ 0.763/includes/classes/adodb/session/crypt.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -61,4 +61,101 @@
 		}
 
 }
+
+
+class SHA1Crypt{
+
+		function keyED($txt,$encrypt_key)
+		{
+
+				$encrypt_key = sha1($encrypt_key);
+				$ctr=0;
+				$tmp = "";
+
+				for ($i=0;$i<strlen($txt);$i++){
+						if ($ctr==strlen($encrypt_key)) $ctr=0;
+						$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
+						$ctr++;
+				}
+				return $tmp;
+
+		}
+
+
+
+		function Encrypt($txt,$key)
+		{
+
+				srand((double)microtime()*1000000);
+				$encrypt_key = sha1(rand(0,32000));
+				$ctr=0;
+				$tmp = "";
+
+				for ($i=0;$i<strlen($txt);$i++)
+
+				{
+
+				if ($ctr==strlen($encrypt_key)) $ctr=0;
+
+				$tmp.= substr($encrypt_key,$ctr,1) .
+
+				(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
+
+				$ctr++;
+
+				}
+
+				return base64_encode($this->keyED($tmp,$key));
+
+		}
+
+
+
+		function Decrypt($txt,$key)
+		{
+
+				$txt = $this->keyED(base64_decode($txt),$key);
+
+				$tmp = "";
+
+				for ($i=0;$i<strlen($txt);$i++){
+
+						$sha1 = substr($txt,$i,1);
+
+						$i++;
+
+						$tmp.= (substr($txt,$i,1) ^ $sha1);
+
+				}
+
+				return $tmp;
+		}
+
+
+
+		function RandPass()
+		{
+				$randomPassword = "";
+				srand((double)microtime()*1000000);
+
+				for($i=0;$i<8;$i++)
+				{
+
+						$randnumber = rand(48,120);
+
+						while (($randnumber >= 58 && $randnumber <= 64) || ($randnumber >= 91 && $randnumber <= 96))
+						{
+								$randnumber = rand(48,120);
+						}
+
+						$randomPassword .= chr($randnumber);
+				}
+
+				return $randomPassword;
+
+		}
+
+
+
+}
 ?>
\ No newline at end of file
diff -ruN 0.762/includes/classes/adodb/toexport.inc.php 0.763/includes/classes/adodb/toexport.inc.php
--- 0.762/includes/classes/adodb/toexport.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/toexport.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
 
 /** 
- * @version V4.66 28 Sept 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.91 2 Aug 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
diff -ruN 0.762/includes/classes/adodb/tohtml.inc.php 0.763/includes/classes/adodb/tohtml.inc.php
--- 0.762/includes/classes/adodb/tohtml.inc.php	2005-10-10 09:04:05.000000000 -0500
+++ 0.763/includes/classes/adodb/tohtml.inc.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php 
 /*
-  V4.66 28 Sept 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.91 2 Aug 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -95,7 +95,7 @@
 			break;
 			
 			case 'N':
-				if (abs($v) - round($v,0) < 0.00000001)
+				if (abs(abs($v) - round($v,0)) < 0.00000001)
 					$v = round($v);
 				else
 					$v = round($v,$ADODB_ROUND);
diff -ruN 0.762/includes/classes/adodb/xsl/convert-0.1-0.2.xsl 0.763/includes/classes/adodb/xsl/convert-0.1-0.2.xsl
--- 0.762/includes/classes/adodb/xsl/convert-0.1-0.2.xsl	2004-11-15 15:05:00.000000000 -0600
+++ 0.763/includes/classes/adodb/xsl/convert-0.1-0.2.xsl	2006-10-17 16:24:09.000000000 -0500
@@ -97,7 +97,7 @@
 					</xsl:element>
 				</xsl:when>
 				<xsl:when test="count(DEFTIMESTAMP) > 0">
-					<xsl:element name="DEFDTIMESTAMP">
+					<xsl:element name="DEFTIMESTAMP">
 						<xsl:attribute name="value">
 							<xsl:value-of select="DEFTIMESTAMP[1]/@value"/>
 						</xsl:attribute>
diff -ruN 0.762/includes/classes/http_get.class 0.763/includes/classes/http_get.class
--- 0.762/includes/classes/http_get.class	2005-02-04 00:30:18.000000000 -0600
+++ 0.763/includes/classes/http_get.class	2006-10-17 16:24:09.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: http_get.class,v 1.2 2005/02/04 06:30:18 jorg Exp $
+<?php // $Id: http_get.class 15630 2005-02-04 06:35:42Z jorg $
 /************************************************************************/
 /* Post-Nuke: Content Management System                                 */
 /* ====================================                                 */
diff -ruN 0.762/includes/classes/lensdebug/lensdebug.class.php 0.763/includes/classes/lensdebug/lensdebug.class.php
--- 0.762/includes/classes/lensdebug/lensdebug.class.php	2005-02-04 00:30:18.000000000 -0600
+++ 0.763/includes/classes/lensdebug/lensdebug.class.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: lensdebug.class.php,v 1.2 2005/02/04 06:30:18 jorg Exp $
+// File: $Id: lensdebug.class.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/includes/classes/safehtml/HTMLSax3/Decorators.php 0.763/includes/classes/safehtml/HTMLSax3/Decorators.php
--- 0.762/includes/classes/safehtml/HTMLSax3/Decorators.php	2006-01-21 15:02:11.000000000 -0600
+++ 0.763/includes/classes/safehtml/HTMLSax3/Decorators.php	2006-10-17 16:24:08.000000000 -0500
@@ -19,12 +19,12 @@
 // | Authors: Many @ Sitepointforums Advanced PHP Forums                  |
 // +----------------------------------------------------------------------+
 //
-// $Id: Decorators.php,v 1.1 2006/01/21 21:02:11 larsneo Exp $
+// $Id: Decorators.php 17665 2006-01-21 21:02:11Z larsneo $
 //
 /**
 * Decorators for dealing with parser options
 * @package XML_HTMLSax3
-* @version $Id: Decorators.php,v 1.1 2006/01/21 21:02:11 larsneo Exp $
+* @version $Id: Decorators.php 17665 2006-01-21 21:02:11Z larsneo $
 * @see XML_HTMLSax3::set_option
 */
 /**
diff -ruN 0.762/includes/classes/safehtml/HTMLSax3/States.php 0.763/includes/classes/safehtml/HTMLSax3/States.php
--- 0.762/includes/classes/safehtml/HTMLSax3/States.php	2006-01-21 15:02:11.000000000 -0600
+++ 0.763/includes/classes/safehtml/HTMLSax3/States.php	2006-10-17 16:24:08.000000000 -0500
@@ -19,12 +19,12 @@
 // | Authors: Many @ Sitepointforums Advanced PHP Forums                  |
 // +----------------------------------------------------------------------+
 //
-// $Id: States.php,v 1.1 2006/01/21 21:02:11 larsneo Exp $
+// $Id: States.php 17665 2006-01-21 21:02:11Z larsneo $
 //
 /**
 * Parsing states.
 * @package XML_HTMLSax3
-* @version $Id: States.php,v 1.1 2006/01/21 21:02:11 larsneo Exp $
+* @version $Id: States.php 17665 2006-01-21 21:02:11Z larsneo $
 */
 /**
 * Define parser states
diff -ruN 0.762/includes/classes/safehtml/HTMLSax3.php 0.763/includes/classes/safehtml/HTMLSax3.php
--- 0.762/includes/classes/safehtml/HTMLSax3.php	2006-01-21 15:02:10.000000000 -0600
+++ 0.763/includes/classes/safehtml/HTMLSax3.php	2006-10-17 16:24:08.000000000 -0500
@@ -19,12 +19,12 @@
 // | Authors: Many @ Sitepointforums Advanced PHP Forums                  |
 // +----------------------------------------------------------------------+
 //
-// $Id: HTMLSax3.php,v 1.1 2006/01/21 21:02:10 larsneo Exp $
+// $Id: HTMLSax3.php 17665 2006-01-21 21:02:11Z larsneo $
 //
 /**
 * Main parser components
 * @package XML_HTMLSax3
-* @version $Id: HTMLSax3.php,v 1.1 2006/01/21 21:02:10 larsneo Exp $
+* @version $Id: HTMLSax3.php 17665 2006-01-21 21:02:11Z larsneo $
 */
 /**
 * Required classes
diff -ruN 0.762/includes/language/blocks/eng/banners.php 0.763/includes/language/blocks/eng/banners.php
--- 0.762/includes/language/blocks/eng/banners.php	2005-07-31 11:05:48.000000000 -0500
+++ 0.763/includes/language/blocks/eng/banners.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: banners.php,v 1.6 2005/07/31 16:05:48 larsneo Exp $
+// File: $Id: banners.php 16576 2005-07-31 16:05:48Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
diff -ruN 0.762/includes/language/blocks/eng/linklist.php 0.763/includes/language/blocks/eng/linklist.php
--- 0.762/includes/language/blocks/eng/linklist.php	2004-06-07 07:38:01.000000000 -0500
+++ 0.763/includes/language/blocks/eng/linklist.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: linklist.php,v 1.3 2004/06/07 12:38:01 markwest Exp $
+// File: $Id: linklist.php 13774 2004-06-07 12:38:01Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
diff -ruN 0.762/includes/legacy/counter.php 0.763/includes/legacy/counter.php
--- 0.762/includes/legacy/counter.php	2005-02-04 00:30:20.000000000 -0600
+++ 0.763/includes/legacy/counter.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: counter.php,v 1.4 2005/02/04 06:30:20 jorg Exp $
+// File: $Id: counter.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/legacy/legacy.php 0.763/includes/legacy/legacy.php
--- 0.762/includes/legacy/legacy.php	2005-02-07 07:11:33.000000000 -0600
+++ 0.763/includes/legacy/legacy.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: legacy.php,v 1.5 2005/02/07 13:11:33 markwest Exp $
+// File: $Id: legacy.php 15668 2005-02-07 13:11:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/legacy/oldfuncs.php 0.763/includes/legacy/oldfuncs.php
--- 0.762/includes/legacy/oldfuncs.php	2005-08-11 02:59:33.000000000 -0500
+++ 0.763/includes/legacy/oldfuncs.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: oldfuncs.php,v 1.4 2005/08/11 07:59:33 larsneo Exp $
+// File: $Id: oldfuncs.php 16633 2005-08-11 07:59:33Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/legacy/queryutil.php 0.763/includes/legacy/queryutil.php
--- 0.762/includes/legacy/queryutil.php	2005-02-04 00:30:20.000000000 -0600
+++ 0.763/includes/legacy/queryutil.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: queryutil.php,v 1.3 2005/02/04 06:30:20 jorg Exp $
+// File: $Id: queryutil.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/legacy/referer.php 0.763/includes/legacy/referer.php
--- 0.762/includes/legacy/referer.php	2005-07-19 16:28:20.000000000 -0500
+++ 0.763/includes/legacy/referer.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?PHP
-// File: $Id: referer.php,v 1.4 2005/07/19 21:28:20 chestnut Exp $
+// File: $Id: referer.php 19273 2006-06-22 19:05:48Z markwest $
 /*******************************************************************************
  * This is a new referer function for PostNuke Instead of logging each URL
  * as its coming in, it logs the frequency of that URL. This function was written
@@ -34,7 +34,7 @@
     $pntable =& pnDBGetTables();
 
     if($DEBUG == 1) {
-        echo "HTTP_HOST = ".$httphost."<br /> HTTP_REFERER = ".$httpreferer."<br />";
+        echo 'HTTP_HOST = '.pnVarPrepForDisplay($httphost).'<br /> HTTP_REFERER = '.pnVarPrepForDisplay($httpreferer).'<br />';
     }
 
     /***
diff -ruN 0.762/includes/legacy/textsanitizer.php 0.763/includes/legacy/textsanitizer.php
--- 0.762/includes/legacy/textsanitizer.php	2004-05-24 03:10:18.000000000 -0500
+++ 0.763/includes/legacy/textsanitizer.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: textsanitizer.php,v 1.1 2004/05/24 08:10:18 markwest Exp $
+<?php // $Id: textsanitizer.php 13606 2004-05-24 08:10:18Z markwest $
 # TextSanitizer adapted to PostNuke from MyPHPNuke Project
 # By ACM3 michael@acm3.com
 # Original Credits to the MyPHPNuke Team
diff -ruN 0.762/includes/legacy/xhtml.php 0.763/includes/legacy/xhtml.php
--- 0.762/includes/legacy/xhtml.php	2004-05-24 03:10:18.000000000 -0500
+++ 0.763/includes/legacy/xhtml.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: xhtml.php,v 1.1 2004/05/24 08:10:18 markwest Exp $
+// File: $Id: xhtml.php 13606 2004-05-24 08:10:18Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/pnAPI.php 0.763/includes/pnAPI.php
--- 0.762/includes/pnAPI.php	2006-01-27 02:56:48.000000000 -0600
+++ 0.763/includes/pnAPI.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnAPI.php,v 1.145 2006/01/27 08:56:48 larsneo Exp $
+// $Id: pnAPI.php 19995 2006-09-06 18:07:05Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -56,7 +56,7 @@
 * Core version informations - should be upgraded on each release for
 * better control on config settings
 */
-define('_PN_VERSION_NUM', '0.7.6.2');
+define('_PN_VERSION_NUM', '0.7.6.3');
 define('_PN_VERSION_ID', 'PostNuke');
 define('_PN_VERSION_SUB', 'Phoenix');
 
@@ -161,6 +161,20 @@
 */
 function pnInit()
 {
+    // force register_globals=off 
+    if (ini_get('register_globals'))
+    {
+        foreach($GLOBALS as $s_variable_name => $m_variable_value)
+        {
+            if (!in_array($s_variable_name, array('GLOBALS', 'argv', 'argc', '_FILES', '_COOKIE', '_POST', '_GET', '_SERVER', '_ENV', '_SESSION', '_REQUEST', 's_variable_name', 'm_variable_value')))
+            {
+                unset($GLOBALS[$s_variable_name]);
+            }
+        }
+        unset($GLOBALS['s_variable_name']);
+        unset($GLOBALS['m_variable_value']);
+    }
+    
     // proper error_repoting
     // E_ALL for development
     // error_reporting(E_ALL);
@@ -321,6 +335,7 @@
         include('includes/templates/dbconnectionerror.htm');
         die;
     }
+    $GLOBALS['pndbconn']->debug = (($GLOBALS['pndebug']['debug_sql'] == 1) ? true:false);// sql debugging
     global $ADODB_FETCH_MODE;
     $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 
@@ -378,7 +393,7 @@
     // Additional database specific settings can be defined here
     // See ADODB's data dictionary docs for full details
     // Since we'll use the same options for all tables we'll define this once
-    $tableoptions = array('mysql' => 'type = ' . pnConfigGetVar('dbtabletype'));
+    $tableoptions = array('mysql' => 'engine = ' . pnConfigGetVar('dbtabletype'));
     return $tableoptions;
 }
 
@@ -644,27 +659,35 @@
         }
     }
 
-    if (pnConfigGetVar('safehtml') == '1') {
+    $usesh = pnConfigGetVar('safehtml');
+    if ($usesh == '1') {
         // prepare safehtml class
         static $safehtml;
         if(!isset($safehtml)) {
-            $safehtml =& new SafeHTML();
+            $safehtml = new SafeHTML();
+            $safehtml->attributes = array('dynsrc'); // removes id and name from the attributes
         }
-     }
+    }
+
     $resarray = array();
     foreach (func_get_args() as $var) {
-        if (pnConfigGetVar('safehtml') == '1') {
-            $safehtml->clear();       
-            $var = $safehtml->parse($var);
+        if ($usesh == '1') {
+            static $parsed = array();
+            $shakey = sha1($var);
+            if (isset($parsed[$shakey])) {
+                $var = $parsed[$shakey];
+            } else {
+                $safehtml->clear();
+                $var = $safehtml->parse($var);
+                $parsed[$shakey] = $var;
+            }
         }
         // Preparse var to mark the HTML that we want
         if (!empty($allowedtags))
             $var = preg_replace($allowedtags, "\022\\1\024", $var);
 
-        if (pnConfigGetVar('safehtml') != '1') {
-            // Prepare var
-            $var = htmlspecialchars($var);
-        }
+        // Prepare var
+        $var = htmlspecialchars($var);
         
         // scramble mailadress
         $var = preg_replace($search, $replace, $var);
@@ -908,6 +931,9 @@
     }
 
     if ($type == 'email' || $type == 'url') {
+        // CSRF protection for email and url
+        $var = str_replace(array('\r', '\n', '%0d', '%0a'), '', $var);
+
         if (pnConfigGetVar('idnnames') == 1) {
             // transfer between the encoded (Punycode) notation and the decoded (8bit) notation.
             include_once 'includes/classes/idna/idna_convert.class.php';
@@ -932,13 +958,13 @@
             return false;
         }
     }
-    
+
     if ($type == 'uname') {
         // check for invalid characters
         if ( strstr($var, chr(160)) || strstr($var, chr(173)) ) {
             return false;
         }
-    }	
+    }
 
     // variable passed special checks. We now to generic checkings.
 
@@ -1394,4 +1420,4 @@
     return $baseurl . $request;
 }
 
-?>
\ No newline at end of file
+?>
diff -ruN 0.762/includes/pnAntiCracker.php 0.763/includes/pnAntiCracker.php
--- 0.762/includes/pnAntiCracker.php	2005-08-11 02:32:04.000000000 -0500
+++ 0.763/includes/pnAntiCracker.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnAntiCracker.php,v 1.4 2005/08/11 07:32:04 larsneo Exp $
+// File: $Id: pnAntiCracker.php 16632 2005-08-11 07:32:04Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/pnBanners.php 0.763/includes/pnBanners.php
--- 0.762/includes/pnBanners.php	2005-05-11 07:04:39.000000000 -0500
+++ 0.763/includes/pnBanners.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnBanners.php,v 1.14 2005/05/11 12:04:39 landseer Exp $
+// File: $Id: pnBanners.php 20193 2006-10-04 07:19:59Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -26,6 +26,10 @@
 // Original Author of file: Francisco Burzi
 // Purpose of file: Display banners
 // ----------------------------------------------------------------------
+/**
+ * @package PostNuke_Core
+ * @subpackage PostNuke_Banners
+ */
 
 /**
  * Function to display banners in all pages
@@ -74,7 +78,7 @@
 
     $myhost = pnServerGetVar("REMOTE_ADDR");
 
-    if (substr($myhost, 0, strlen($myIP)) == $myIP) {
+    if (!empty($myIP) && substr($myhost, 0, strlen($myIP)) == $myIP) {
         // itevo, MNA:  added temporary variable to check when inserting a finished banner (insert only when variable is not set)
 		$ignore_bannerfinish = 1;
     } else {
diff -ruN 0.762/includes/pnBlocks.php 0.763/includes/pnBlocks.php
--- 0.762/includes/pnBlocks.php	2005-09-28 07:37:08.000000000 -0500
+++ 0.763/includes/pnBlocks.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnBlocks.php,v 1.23 2005/09/28 12:37:08 markwest Exp $
+// File: $Id: pnBlocks.php 16829 2005-09-28 12:37:08Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/pnHTML.php 0.763/includes/pnHTML.php
--- 0.762/includes/pnHTML.php	2005-08-21 05:20:22.000000000 -0500
+++ 0.763/includes/pnHTML.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnHTML.php,v 1.26 2005/08/21 10:20:22 landseer Exp $
+// File: $Id: pnHTML.php 16657 2005-08-21 10:20:22Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -117,7 +117,7 @@
  * @author Patrick Kellum
  * @link http://www.postnuke.com/ The Official PostNuke website
  * @copyright (C) 2001, 2002 by the PostNuke Development Team
- * @version $Revision: 1.26 $
+ * @version $Revision: 16657 $
  * @todo need to add text sanitizer
  */
 class pnHTML {
diff -ruN 0.762/includes/pnLang.php 0.763/includes/pnLang.php
--- 0.762/includes/pnLang.php	2005-10-05 01:49:17.000000000 -0500
+++ 0.763/includes/pnLang.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnLang.php,v 1.20 2005/10/05 06:49:17 davidnelson Exp $
+// $Id: pnLang.php 16849 2005-10-05 06:49:17Z davidnelson $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/pnMod.php 0.763/includes/pnMod.php
--- 0.762/includes/pnMod.php	2006-01-22 08:33:56.000000000 -0600
+++ 0.763/includes/pnMod.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnMod.php,v 1.64 2006/01/22 14:33:56 drak Exp $
+// $Id: pnMod.php 17670 2006-01-22 14:33:56Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/pnRender.class.php 0.763/includes/pnRender.class.php
--- 0.762/includes/pnRender.class.php	2005-09-30 10:02:16.000000000 -0500
+++ 0.763/includes/pnRender.class.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 /**
- * $Id: pnRender.class.php,v 1.9 2005/09/30 15:02:16 landseer Exp $
+ * $Id: pnRender.class.php 19261 2006-06-12 14:09:17Z markwest $
  *
  * * pnRender *
  *
@@ -23,8 +23,8 @@
  * @link        http://www.post-nuke.net              PostNuke home page
  * @link        http://smarty.php.net                 Smarty home page
  * @license     http://www.gnu.org/copyleft/gpl.html  GNU General Public License
- * @package     Xanthia_Templating_Environment
- * @subpackage  pnRender
+ * @package     PostNuke_Core
+ * @subpackage  PostNuke_pnAPI
  */
 
 // keeping track if Smarty is loaded somewhere else!
@@ -39,8 +39,8 @@
 /**
  * Our class
  *
- * @package     Xanthia_Templating_Environment
- * @subpackage  pnRender
+ * @package     PostNuke_Core
+ * @subpackage  PostNuke_pnAPI
  */
 class pnRender extends Smarty {
     /**
diff -ruN 0.762/includes/pnSecurity.php 0.763/includes/pnSecurity.php
--- 0.762/includes/pnSecurity.php	2005-08-21 10:59:03.000000000 -0500
+++ 0.763/includes/pnSecurity.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: pnSecurity.php,v 1.13 2005/08/21 15:59:03 markwest Exp $
+// File: $Id: pnSecurity.php 16668 2005-08-21 15:59:03Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/pnSession.php 0.763/includes/pnSession.php
--- 0.762/includes/pnSession.php	2005-09-20 09:57:46.000000000 -0500
+++ 0.763/includes/pnSession.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
-<?php 
-// $Id: pnSession.php,v 1.21 2005/09/20 14:57:46 drak Exp $
+<?php
+// $Id: pnSession.php 19007 2006-04-25 14:29:11Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
 */
 /**
  * Set up session handling
- * 
+ *
  * Set all PHP options for PostNuke session handling
  */
 function pnSessionSetup()
@@ -39,7 +39,7 @@
     if (empty($path)) {
         $path = '/';
     }
-    
+
     $host = pnServerGetVar('HTTP_HOST');
 	// itevo
 	if (strpos($host, ':') !== false) {
@@ -102,7 +102,7 @@
                              'pnSessionDestroy',
                              'pnSessionGC');
     return true;
-} 
+}
 
 /**
  * Session variables here are a bit 'different'.  Because they sit in the
@@ -114,7 +114,7 @@
 
 /**
  * Get a session variable
- * 
+ *
  * @param name $ name of the session variable to get
  */
 function pnSessionGetVar($name)
@@ -123,11 +123,11 @@
         return $_SESSION['PNSV' . $name];
     }
     return false;
-} 
+}
 
 /**
  * Set a session variable
- * 
+ *
  * @param name $ name of the session variable to set
  * @param value $ value to set the named session variable
  */
@@ -136,25 +136,25 @@
 	if (!isset($name)) {
 		return false;
 	}
-	
+
     $_SESSION['PNSV' . $name] = $value;
-    
+
     return true;
-} 
+}
 
 /**
  * Delete a session variable
- * 
+ *
  * @param name $ name of the session variable to delete
  * @return success or error
  */
 function pnSessionDelVar($name)
 {
-	// if empty or not set in both globals, return 
+	// if empty or not set in both globals, return
 	if (empty($name) || !(isset($_SESSION['PNSV' . $name]) || !isset($GLOBALS['PNSV' . $name]))){
 		return false;
 	}
-	
+
     // Unset the session var
     unset($_SESSION['PNSV' . $name]);
 
@@ -162,7 +162,7 @@
     unset($GLOBALS['PNSV' . $name]);
 
     return true;
-} 
+}
 
 /**
  * Initialise session
@@ -202,12 +202,12 @@
 
 	// itevo
 	if (!empty($fwdipaddr) AND strpos($fwdipaddr, ',') !== false) {
-		$fwdipaddr = substr($fwdipaddr,0, strpos($fwdipaddr, ','));    
+		$fwdipaddr = substr($fwdipaddr,0, strpos($fwdipaddr, ','));
 	}
     $tmpipaddr = $fwdipaddr;
     // itevo
 	if (!empty($tmpipaddr) AND strpos($tmpipaddr, ',') !== false) {
-		$ipaddr = substr($tmpipaddr,0, strpos($tmpipaddr, ','));    
+		$ipaddr = substr($tmpipaddr,0, strpos($tmpipaddr, ','));
 	}
 
     $sessioninfocolumn = &$pntable['session_info_column'];
@@ -221,7 +221,7 @@
 
     if ($dbconn->ErrorNo() != 0) {
         return false;
-    } 
+    }
 
     if (!$result->EOF) {
 // jgm - this has been commented out so that the nice AOL people
@@ -246,23 +246,23 @@
     }
 
     return true;
-} 
+}
 
 /**
  * Continue a current session
- * 
- * @private 
+ *
+ * @private
  * @param sessid $ the session ID
  */
 function pnSessionCurrent($sessid)
 {
     return true;
-} 
+}
 
 /**
  * Create a new session
- * 
- * @private 
+ *
+ * @private
  * @param sessid $ the session ID
  * @param ipaddr $ the IP address of the host with this session
  */
@@ -294,40 +294,40 @@
     }
 
     return true;
-} 
+}
 
 /**
  * PHP function to open the session
- * 
- * @private 
+ *
+ * @private
  */
 function pnSessionOpen($path, $name)
-{ 
+{
     // Nothing to do - database opened elsewhere
     return true;
-} 
+}
 
 /**
  * PHP function to close the session
- * 
- * @private 
+ *
+ * @private
  */
 function pnSessionClose()
-{ 
+{
     // Nothing to do - database closed elsewhere
     return true;
-} 
+}
 
 /**
  * PHP function to read a set of session variables
- * 
- * @private 
+ *
+ * @private
  */
 function pnSessionRead($sessid)
 {
-	if (empty($sessid)) 
+	if (empty($sessid))
 		return null;
-	
+
     $dbconn =& pnDBGetConn(true);
     $pntable =& pnDBGetTables();
 
@@ -351,18 +351,18 @@
     $result->Close();
 
     return($value);
-} 
+}
 
 /**
  * PHP function to write a set of session variables
- * 
- * @private 
+ *
+ * @private
  */
 function pnSessionWrite($sessid, $vars)
 {
-	
+
 	if (!isset($sessid) || !isset($vars)) {
-		return false;	
+		return false;
 	}
 
     $dbconn =& pnDBGetConn(true);
@@ -382,18 +382,18 @@
     }
 
     return true;
-} 
+}
 
 /**
  * PHP function to destroy a session
- * 
- * @private 
+ *
+ * @private
  */
 function pnSessionDestroy($sessid)
 {
 	if (empty($sessid))
 		return false;
-	
+
     $dbconn =& pnDBGetConn(true);
     $pntable =& pnDBGetTables();
 
@@ -409,19 +409,23 @@
     }
 
 	if (!pnConfigGetVar('anonymoussessions')) {
-		setcookie(session_name() ,'',0,ini_get('session.cookie_path'));	
+		setcookie(session_name() ,'',0,ini_get('session.cookie_path'));
 	}
 
     return true;
-} 
+}
 
 /**
  * PHP function to garbage collect session information
- * 
- * @private 
+ *
+ * @private
  */
 function pnSessionGC($maxlifetime=3000)
 {
+    $now = time();
+    $inactive = ($now - (int)(pnConfigGetVar('secinactivemins') * 60));
+    $daysold  = ($now - (int)(pnConfigGetVar('secmeddays') * 86400));
+
     $dbconn =& pnDBGetConn(true);
     $pntable =& pnDBGetTables();
 
@@ -429,25 +433,26 @@
     $sessioninfotable = $pntable['session_info'];
 
     switch (pnConfigGetVar('seclevel')) {
-        case 'Low':
-            // Low security - delete session info if user decided not to
-            //                remember themself
-            $where = "WHERE $sessioninfocolumn[vars] NOT LIKE '%PNSVrememberme|%'
-                      AND $sessioninfocolumn[lastused] < " . (time() - (pnConfigGetVar('secinactivemins') * 60));
-            break;
-        case 'Medium':
-            // Medium security - delete session info if session cookie has
-            //                   expired or user decided not to remember
-            //                   themself
-            $where = "WHERE ($sessioninfocolumn[vars] NOT LIKE '%PNSVrememberme|%'
-                      AND $sessioninfocolumn[lastused] < " . (time() - (pnConfigGetVar('secinactivemins') * 60)) . ")
-                      AND $sessioninfocolumn[firstused] < " . (time() - (pnConfigGetVar('secmeddays') * 86400));
-            break;
-        case 'High':
-        default:
-            // High security - delete session info if user is inactive
-            $where = "WHERE $sessioninfocolumn[lastused] < " . (time() - (pnConfigGetVar('secinactivemins') * 60));
-            break;
+            case 'Low':
+                // Low security - delete session info if user decided not to
+                //                remember themself and inactivity timeout
+                $where = "WHERE $sessioninfocolumn[vars] NOT LIKE '%PNSVrememberme|%'
+                          AND $sessioninfocolumn[lastused] < $inactive";
+                break;
+            case 'Medium':
+                // Medium security - delete session info if session cookie has
+                // expired or user decided not to remember themself and inactivity timeout
+                // OR max number of days have elapsed without logging back in
+                $where = "WHERE ($sessioninfocolumn[vars] NOT LIKE '%PNSVrememberme|%'
+                          AND $sessioninfocolumn[lastused] < $inactive)
+                          OR ($sessioninfocolumn[lastused] < $daysold)
+                          OR ($sessioninfocolumn[uid] = 0 AND $sessioninfocolumn[lastused] < $inactive)";
+                break;
+            case 'High':
+            default:
+                // High security - delete session info if user is inactive
+                $where = "WHERE $sessioninfocolumn[lastused] < $inactive";
+                break;
     }
     $query = "DELETE FROM $sessioninfotable $where";
     $dbconn->Execute($query);
@@ -455,8 +460,7 @@
     if ($dbconn->ErrorNo() != 0) {
         return false;
     }
-
     return true;
-} 
+}
 
 ?>
\ No newline at end of file
diff -ruN 0.762/includes/pnTheme.php 0.763/includes/pnTheme.php
--- 0.762/includes/pnTheme.php	2005-08-21 11:56:03.000000000 -0500
+++ 0.763/includes/pnTheme.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnTheme.php,v 1.10 2005/08/21 16:56:03 markwest Exp $
+// $Id: pnTheme.php 16672 2005-08-21 16:56:03Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/pnUser.php 0.763/includes/pnUser.php
--- 0.762/includes/pnUser.php	2006-02-07 09:04:15.000000000 -0600
+++ 0.763/includes/pnUser.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnUser.php,v 1.33 2006/02/07 15:04:15 markwest Exp $
+// File: $Id: pnUser.php 17851 2006-02-07 15:04:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/search/comments.php 0.763/includes/search/comments.php
--- 0.762/includes/search/comments.php	2005-04-19 10:42:53.000000000 -0500
+++ 0.763/includes/search/comments.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: comments.php,v 1.26 2005/04/19 15:42:53 larsneo Exp $
+// $Id: comments.php 16113 2005-04-19 15:42:53Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/search/downloads.php 0.763/includes/search/downloads.php
--- 0.762/includes/search/downloads.php	2005-04-19 10:42:53.000000000 -0500
+++ 0.763/includes/search/downloads.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: downloads.php,v 1.24 2005/04/19 15:42:53 larsneo Exp $
+<?php // $Id: downloads.php 16113 2005-04-19 15:42:53Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke: Content Management System
 // ====================================
diff -ruN 0.762/includes/search/faq.php 0.763/includes/search/faq.php
--- 0.762/includes/search/faq.php	2005-04-19 10:42:53.000000000 -0500
+++ 0.763/includes/search/faq.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: faq.php,v 1.23 2005/04/19 15:42:53 larsneo Exp $
+// $Id: faq.php 16113 2005-04-19 15:42:53Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/search/links.php 0.763/includes/search/links.php
--- 0.762/includes/search/links.php	2005-04-19 10:51:21.000000000 -0500
+++ 0.763/includes/search/links.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: links.php,v 1.26 2005/04/19 15:51:21 larsneo Exp $
+// $Id: links.php 16114 2005-04-19 15:51:21Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke: Content Management System
 // ====================================
diff -ruN 0.762/includes/search/reviews.php 0.763/includes/search/reviews.php
--- 0.762/includes/search/reviews.php	2005-04-19 10:42:53.000000000 -0500
+++ 0.763/includes/search/reviews.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: reviews.php,v 1.23 2005/04/19 15:42:53 larsneo Exp $
+// $Id: reviews.php 16113 2005-04-19 15:42:53Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/search/sections.php 0.763/includes/search/sections.php
--- 0.762/includes/search/sections.php	2005-04-19 10:42:53.000000000 -0500
+++ 0.763/includes/search/sections.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: sections.php,v 1.25 2005/04/19 15:42:53 larsneo Exp $
+// $Id: sections.php 16113 2005-04-19 15:42:53Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/includes/search/stories.php 0.763/includes/search/stories.php
--- 0.762/includes/search/stories.php	2005-06-08 03:26:15.000000000 -0500
+++ 0.763/includes/search/stories.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: stories.php,v 1.33 2005/06/08 08:26:15 chestnut Exp $
+// $Id: stories.php 19277 2006-06-24 14:34:17Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke: Content Management System
 // ====================================
@@ -31,85 +31,84 @@
     'func_search' => 'search_stories',
     'func_opt' => 'search_stories_opt'
 );
-function search_stories_opt() {
-    global
-        $bgcolor2,
-        $textcolor1,
-        $info;
+
+function search_stories_opt()
+{
+    global $bgcolor2, $textcolor1, $info;
 
     $dbconn =& pnDBGetConn(true);
     $pntable =& pnDBGetTables();
 
-  if (!pnModAvailable('News')) {
-    return;
-  }
+    if (!pnModAvailable('News')) {
+        return;
+    }
 
     $output =& new pnHTML();
     $output->SetInputMode(_PNH_VERBATIMINPUT);
 
     if (pnSecAuthAction(0, 'Stories::', "::", ACCESS_READ)) {
         $output->Text("<table border=\"0\" width=\"100%\"><tr style=\"background-color:$bgcolor2\"><td>
-    <span style=\"text-color:$textcolor1\">
-    <input type=\"checkbox\" name=\"active_stories\" id=\"active_stories\" value=\"1\" checked=\"checked\" tabindex=\"0\" />&nbsp;
-    <label for=\"active_stories\">"._SEARCH_STORIES_TOPICS."</label>
-    </span></td></tr></table>");
+        <span style=\"text-color:$textcolor1\">
+        <input type=\"checkbox\" name=\"active_stories\" id=\"active_stories\" value=\"1\" checked=\"checked\" tabindex=\"0\" />&nbsp;
+        <label for=\"active_stories\">"._SEARCH_STORIES_TOPICS."</label>
+        </span></td></tr></table>");
         $output->Text("<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\">
-    <tr><td align=\"right\" valign=\"top\">
-    <label for=\"stories_topics\">"._TOPIC."</label>:</td>
-    <td><select name=\"stories_topics\" id=\"stories_topics\" multiple=\"multiple\">
-    <option value=\"\" selected=\"selected\">". _SRCHALLTOPICS."</option>");
-    $column = &$pntable['topics_column'];
-    $result =& $dbconn->Execute("SELECT $column[tid] as topicid, $column[topictext] as topictext, $column[topicname] as topicname
-                              FROM $pntable[topics]
-                              ORDER BY $column[topictext]");
-
-    while(!$result->EOF) {
-        $row = $result->GetRowAssoc(false);
-        if (pnSecAuthAction(0, 'Topics::Topic', "$row[topicname]::$row[topicid]", ACCESS_READ)){
-          if(strlen($row['topictext']) > 23) {
-              $row['topictext'] = substr($row['topictext'],0,20) . '...';
-          }
-          $output->Text("<option value=\"$row[topicid]\">$row[topictext]</option>");
-    }
-        $result->MoveNext();
-    }
-    $output->Text("</select></td></tr>");
-// categories
-    $output->Text("<tr><td align=\"right\" valign=\"top\">
-  <label for=\"stories_cat\">"._CATEGORY."</label>:</td>
-  <td><select name=\"stories_cat[]\" id=\"stories_cat\" multiple=\"multiple\">
-  <option value=\"\" selected=\"selected\">"._SRCHALLCATEGORIES."</option>");
-    $column = &$pntable['stories_cat_column'];
-    $result =& $dbconn->Execute("SELECT $column[catid] as catid, $column[title] as title
-                              FROM $pntable[stories_cat]
-                              ORDER BY $column[title]");
-
-    while(!$result->EOF) {
-        $row = $result->GetRowAssoc(false);
-    if ($row['title'] != "") {
-          if (pnSecAuthAction(0, 'Stories::Story', ":$row[title]:", ACCESS_READ)) {
-            if(strlen($row['title']) > 23) {
-                $row['title'] = substr($row['title'],0,20) . '...';
+        <tr><td align=\"right\" valign=\"top\">
+        <label for=\"stories_topics\">"._TOPIC."</label>:</td>
+        <td><select name=\"stories_topics[]\" id=\"stories_topics\" multiple=\"multiple\">
+        <option value=\"\" selected=\"selected\">". _SRCHALLTOPICS."</option>");
+        $column = &$pntable['topics_column'];
+        $result =& $dbconn->Execute("SELECT $column[tid] as topicid, $column[topictext] as topictext, $column[topicname] as topicname
+                                     FROM $pntable[topics]
+                                     ORDER BY $column[topictext]");
+
+        while (!$result->EOF) {
+            $row = $result->GetRowAssoc(false);
+            if (pnSecAuthAction(0, 'Topics::Topic', "$row[topicname]::$row[topicid]", ACCESS_READ)){
+                if (strlen($row['topictext']) > 23) {
+                    $row['topictext'] = substr($row['topictext'],0,20) . '...';
+                }
+                $output->Text("<option value=\"$row[topicid]\">$row[topictext]</option>");
             }
-            $output->Text("<option value=\"$row[catid]\">$row[title]</option>");
-      }
-    }
-        $result->MoveNext();
-    }
-    $output->Text("</select></td></tr>");
+            $result->MoveNext();
+        }
+        $output->Text("</select></td></tr>");
+        // categories
+        $output->Text("<tr><td align=\"right\" valign=\"top\">
+        <label for=\"stories_cat\">"._CATEGORY."</label>:</td>
+        <td><select name=\"stories_cat[]\" id=\"stories_cat\" multiple=\"multiple\">
+        <option value=\"\" selected=\"selected\">"._SRCHALLCATEGORIES."</option>");
+        $column = &$pntable['stories_cat_column'];
+        $result =& $dbconn->Execute("SELECT $column[catid] as catid, $column[title] as title
+                                     FROM $pntable[stories_cat]
+                                     ORDER BY $column[title]");
 
-// author
-    $output->Text("<tr><td align=\"right\" valign=\"top\">
-  <label for=\"stories_author\">"._AUTHOR."</label>:</td>
-  <td colspan=\"3\">
-  <input type=\"text\" name=\"stories_author\" id=\"stories_author\" size=\"20\" maxlength=\"255\" tabindex=\"0\" />
-  </td></tr></table>");
-    }
+        while(!$result->EOF) {
+            $row = $result->GetRowAssoc(false);
+            if ($row['title'] != '') {
+                if (pnSecAuthAction(0, 'Stories::Story', ":$row[title]:", ACCESS_READ)) {
+                    if(strlen($row['title']) > 23) {
+                        $row['title'] = substr($row['title'],0,20) . '...';
+                    }
+                    $output->Text("<option value=\"$row[catid]\">$row[title]</option>");
+                }
+            }
+            $result->MoveNext();
+        }
+        $output->Text("</select></td></tr>");
 
+        // author
+        $output->Text("<tr><td align=\"right\" valign=\"top\">
+        <label for=\"stories_author\">"._AUTHOR."</label>:</td>
+        <td colspan=\"3\">
+        <input type=\"text\" name=\"stories_author\" id=\"stories_author\" size=\"20\" maxlength=\"255\" tabindex=\"0\" />
+        </td></tr></table>");
+    }
     return $output->GetOutput();
 }
-function search_stories() {
 
+function search_stories()
+{
     list($startnum,
          $active_stories,
          $total,
@@ -130,9 +129,9 @@
         return;
     }
 
-  if (!pnModAvailable('News')) {
-    return;
-  }
+    if (!pnModAvailable('News')) {
+        return;
+    }
 
     $output =& new pnHTML();
 
@@ -140,7 +139,7 @@
         $startnum = 1;
     }
     if (isset($total) && !is_numeric($total)) {
-      unset ($total);
+        unset ($total);
     }
 
     $dbconn =& pnDBGetConn(true);
@@ -155,7 +154,7 @@
     $storcol = &$pntable['stories_column'];
     $stcatcol = &$pntable['stories_cat_column'];
     $topcol = &$pntable['topics_column'];
-    $query = "";
+    $query = '';
     $query1 = "SELECT $storcol[sid] as sid,
                      $topcol[tid] as topicid,
                      $topcol[topicname] as topicname,
@@ -172,7 +171,7 @@
 
     // hack to get this to work, but much better than what we had before
     //$query .= " 1 = 1 ";
-// words
+    // words
     $w = search_split_query($q);
     if (isset($w)) {
         foreach($w as $word) {
@@ -199,106 +198,104 @@
             $no_flag = false;
         }
     } else {
-     $no_flag = true;
+        $no_flag = true;
     }
-// topics
-    if(isset($stories_topics) && (!empty($stories_topics))) {
+    // topics
+    if (isset($stories_topics) && !empty($stories_topics)) {
         $flag = false;
         $start_flag = false;
-            // dont set AND/OR if nothing is in front
-            foreach($stories_topics as $v) {
-              if (empty($v)) continue;
-                if ( (!$no_flag) and (!$start_flag) ) {
-                  $query .= " AND (";
-                  $start_flag = true;
-                }
-              if ($flag) $query .= " OR ";
-              $query .= "$storcol[topic]='".pnVarPrepForStore($v)."'";
-              $flag = true;
+        // dont set AND/OR if nothing is in front
+        foreach ($stories_topics as $v) {
+            if (empty($v)) continue;
+            if ( (!$no_flag) and (!$start_flag) ) {
+                $query .= ' AND (';
+                $start_flag = true;
             }
-          if ( (!$no_flag) and ($start_flag) ) {
-              $query .= ") ";
-              $no_flag = false;
-          }
-    }
-// categories
-if (!is_array($stories_cat)) $stories_cat[0] = '';
-    if(isset($stories_cat[0]) &&(!empty($stories_cat[0]))) {
-          if (!$no_flag) {
-            $query .= " AND (";
-          }
-        $flag = false;
-        foreach($stories_cat as $v) {
-              if($flag) {
-                  $query .= " OR ";
-              }
-            $query .= "$stcatcol[catid]='".pnVarPrepForStore($v)."'";
+            if ($flag) $query .= ' OR ';
+            $query .= "$storcol[topic]='".pnVarPrepForStore($v)."'";
             $flag = true;
         }
-          if (!$no_flag) {
-              $query .= ") ";
-              $no_flag = false;
-          }
+        if ( (!$no_flag) and ($start_flag) ) {
+            $query .= ') ';
+            $no_flag = false;
+        }
     }
-// authors
-    if(isset($stories_author) && $stories_author != "") {
-          if (!$no_flag) {
-            $query .= " AND (";
-          }
+    // categories
+    if (!is_array($stories_cat)) $stories_cat[0] = '';
+    if (isset($stories_cat[0]) &&(!empty($stories_cat[0]))) {
+         if (!$no_flag) {
+             $query .= ' AND (';
+         }
+         $flag = false;
+         foreach($stories_cat as $v) {
+             if($flag) {
+                 $query .= ' OR ';
+             }
+             $query .= "$stcatcol[catid]='".pnVarPrepForStore($v)."'";
+             $flag = true;
+         }
+         if (!$no_flag) {
+             $query .= ') ';
+             $no_flag = false;
+         }
+    }
+    // authors
+    if (isset($stories_author) && $stories_author != '') {
+        if (!$no_flag) {
+            $query .= ' AND (';
+        }
         $query .= "$storcol[informant]='".pnVarPrepForStore($stories_author)."'";
 
         $result =& $dbconn->Execute("SELECT {$pntable['users_column']['uid']} as pn_uid FROM $pntable[users] WHERE {$pntable['users_column']['uname']} LIKE '%".pnVarPrepForStore($stories_author)."%' OR {$pntable['users_column']['name']} LIKE '%".pnVarPrepForStore($stories_author)."%'");
-         while(!$result->EOF) {
-             $row = $result->GetRowAssoc(false);
-             $query .= " OR $storcol[aid]=$row[pn_uid]";
-             $result->MoveNext();
-         }
+        while(!$result->EOF) {
+            $row = $result->GetRowAssoc(false);
+            $query .= " OR $storcol[aid]=$row[pn_uid]";
+            $result->MoveNext();
+        }
           if (!$no_flag) {
-              $query .= ") ";
+              $query .= ') ';
               $no_flag = false;
           }
-    }
-    else
-    {
+    } else {
         $stories_author = '';
     }
 
     if (pnConfigGetVar('multilingual') == 1) {
-           if (!empty($query)) $query .= " AND";
-           $query .= " ($storcol[alanguage]='" . pnVarPrepForStore(pnUserGetLang()) . "' OR $storcol[alanguage]='')";
+        if (!empty($query)) $query .= ' AND';
+        $query .= " ($storcol[alanguage]='" . pnVarPrepForStore(pnUserGetLang()) . "' OR $storcol[alanguage]='')";
     }
-    if (empty($query)) $query = "1";
+    if (empty($query)) $query = '1';
     $query .= " ORDER BY $storcol[time] DESC";
     $query = $query1.$query;
 
-  // get the total count with permissions!
+    // get the total count with permissions!
     if (empty($total)) {
-      $total = 0;
+        $total = 0;
         $countres =& $dbconn->Execute($query);
-    // check for a db error
-    if ($dbconn->ErrorNo() != 0) {
-      return;
-    }
+        // check for a db error
+        if ($dbconn->ErrorNo() != 0) {
+            return;
+        }
         while(!$countres->EOF) {
-          $row = $countres->GetRowAssoc(false);
-          if (pnSecAuthAction(0, 'Stories::Story', "$row[aid]:$row[cat_title]:$row[sid]", ACCESS_READ) && pnSecAuthAction(0, 'Topics::Topic', "$row[topicname]::$row[topicid]", ACCESS_READ)) {
-            $total++;
-          }
-          $countres->MoveNext();
+            $row = $countres->GetRowAssoc(false);
+            if (pnSecAuthAction(0, 'Stories::Story', "$row[aid]:$row[cat_title]:$row[sid]", ACCESS_READ) && pnSecAuthAction(0, 'Topics::Topic', "$row[topicname]::$row[topicid]", ACCESS_READ)) {
+                $total++;
+            }
+            $countres->MoveNext();
         }
     }
 
     $result = $dbconn->SelectLimit($query, 10, $startnum-1);
-  // check for a db error
-  if ($dbconn->ErrorNo() != 0) {
-    return;
-  }
+    // check for a db error
+    if ($dbconn->ErrorNo() != 0) {
+        return;
+    }
 
-    if(!$result->EOF) {
+    if (!$result->EOF) {
         $output->Text(_STORIES_TOPICS . ': ' . $total . ' ' . _SEARCHRESULTS);
         $output->SetInputMode(_PNH_VERBATIMINPUT);
         // Rebuild the search string from previous information
-        $url = "index.php?name=Search&amp;action=search&amp;active_stories=1&amp;stories_author=".$stories_author;
+        $url = 'index.php?name=Search&amp;action=search&amp;active_stories=1&amp;stories_author='.pnVarPrepForDisplay($stories_author);
         if (isset($stories_cat) && $stories_cat) {
             foreach($stories_cat as $v) {
                 $url .= "&amp;stories_cat%5B%5D=$v";
@@ -309,29 +306,29 @@
                 $url .= ("&amp;stories_topics%5B%5D=$v");
             }
         }
-        $url .= "&amp;bool=".$bool;
+        $url .= '&amp;bool='.pnVarPrepForDisplay($bool);
         if (isset($q)) {
-            $url .= "&amp;q=".$q;
+            $url .= '&amp;q='.pnVarPrepForDisplay($q);
         }
-        $output->Text("<dl>");
-        while(!$result->EOF) {
-      $row = $result->GetRowAssoc(false);
-      if (pnSecAuthAction(0, 'Stories::Story', "$row[aid]:$row[cat_title]:$row[sid]", ACCESS_READ) && pnSecAuthAction(0, 'Topics::Topic', "$row[topicname]::$row[topicid]", ACCESS_READ)) {
-              $row['fdate'] = ml_ftime(_DATELONG,$result->UnixTimeStamp($row['fdate']));
-              $output->Text("<dt><a href=\"index.php?name=News&amp;file=article&amp;sid=".$row['sid']."\">". pnVarPrepHTMLDisplay($row['story_title']) ."</a></dt>");
-              $output->Text('<dd>');
-              $output->Text(pnVarPrepForDisplay($row['fdate']).' (');
-              if (!empty($row['topicid'])) {
-                  $output->Text($row['topictext']);
-              }
-              if (!empty($row['catid'])) {
-                  $output->Text(' - '.$row['cat_title']);
-              }
-              $output->Text(')</dd>');
-      }
-      $result->MoveNext();
+        $output->Text('<dl>');
+        while (!$result->EOF) {
+            $row = $result->GetRowAssoc(false);
+            if (pnSecAuthAction(0, 'Stories::Story', "$row[aid]:$row[cat_title]:$row[sid]", ACCESS_READ) && pnSecAuthAction(0, 'Topics::Topic', "$row[topicname]::$row[topicid]", ACCESS_READ)) {
+                $row['fdate'] = ml_ftime(_DATELONG,$result->UnixTimeStamp($row['fdate']));
+                $output->Text('<dt><a href="index.php?name=News&amp;file=article&amp;sid='.pnVarPrepForDisplay($row['sid']).'">'. pnVarPrepHTMLDisplay($row['story_title']) .'</a></dt>');
+                $output->Text('<dd>');
+                $output->Text(pnVarPrepForDisplay($row['fdate']).' (');
+                if (!empty($row['topicid'])) {
+                    $output->Text($row['topictext']);
+                }
+                if (!empty($row['catid'])) {
+                    $output->Text(' - '.pnVarPrepHTMLDisplay($row['cat_title']));
+                }
+                $output->Text(')</dd>');
+            }
+            $result->MoveNext();
         }
-        $output->Text("</dl>");
+        $output->Text('</dl>');
 
         // Munge URL for template
         $urltemplate = $url . "&amp;startnum=%%&amp;total=$total";
diff -ruN 0.762/includes/search/users.php 0.763/includes/search/users.php
--- 0.762/includes/search/users.php	2005-07-24 07:37:25.000000000 -0500
+++ 0.763/includes/search/users.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: users.php,v 1.21 2005/07/24 12:37:25 dabase Exp $
+// $Id: users.php 16488 2005-07-24 12:37:25Z dabase $
 // ----------------------------------------------------------------------
 // PostNuke: Content Management System
 // ====================================
diff -ruN 0.762/index.php 0.763/index.php
--- 0.762/index.php	2006-01-17 13:41:14.000000000 -0600
+++ 0.763/index.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: index.php,v 1.45 2006/01/17 19:41:14 hammerhead Exp $
+// File: $Id: index.php 17645 2006-01-17 19:41:14Z hammerhead $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/language/eng/global.php 0.763/language/eng/global.php
--- 0.762/language/eng/global.php	2005-06-08 03:26:26.000000000 -0500
+++ 0.763/language/eng/global.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: global.php,v 1.39 2005/06/08 08:26:26 chestnut Exp $
+// File: $Id: global.php 16319 2005-06-08 08:26:26Z chestnut $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
diff -ruN 0.762/language/languages.php 0.763/language/languages.php
--- 0.762/language/languages.php	2005-10-05 00:00:36.000000000 -0500
+++ 0.763/language/languages.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,32 +1,12 @@
 <?php
-// Generated: $d$ by $id$
-// ----------------------------------------------------------------------
-// PostNuke Content Management System
-// Copyright (C) 2001 by the PostNuke Development Team.
-// http://www.postnuke.com/
-// ----------------------------------------------------------------------
-// Based on:
-// PHP-NUKE Web Portal System - http://phpnuke.org/
-// Thatware - http://thatware.org/
-// ----------------------------------------------------------------------
-// LICENSE
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License (GPL)
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// To read the license please visit http://www.gnu.org/copyleft/gpl.html
-// ----------------------------------------------------------------------
-// Original Author of file: Everyone
-// Purpose of file: Translation files
-// Translation team: Read credits in /docs/CREDITS.txt
-// ----------------------------------------------------------------------
+/**
+ * PostNuke Application Framework
+ *
+ * @copyright (c) 2001, PostNuke Development Team
+ * @link http://www.postnuke.com
+ * @version $Id: languages.php 19225 2006-06-07 11:04:26Z markwest $
+ * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html
+ */
 
 define('_LANGUAGE_AAR', 'Afar');
 define('_LANGUAGE_ABK', 'Abkhazian');
@@ -87,12 +67,12 @@
 define('_LANGUAGE_BTK', 'Batak (Indonesia)');
 define('_LANGUAGE_BUA', 'Buriat');
 define('_LANGUAGE_BUG', 'Buginese');
-define('_LANGUAGE_BUL', 'balgarski');
+define('_LANGUAGE_BUL', 'Bulgarian');
 define('_LANGUAGE_BYN', 'Blin; Bilin');
 define('_LANGUAGE_CAD', 'Caddo');
 define('_LANGUAGE_CAI', 'Central American Indian (Other)');
 define('_LANGUAGE_CAR', 'Carib');
-define('_LANGUAGE_CAT', 'Catal');
+define('_LANGUAGE_CAT', 'cataln');
 define('_LANGUAGE_CAU', 'Caucasian (Other)');
 define('_LANGUAGE_CEB', 'Cebuano');
 define('_LANGUAGE_CEL', 'Celtic (Other)');
@@ -147,8 +127,8 @@
 define('_LANGUAGE_ELX', 'Elamite');
 define('_LANGUAGE_ENG', 'English');
 define('_LANGUAGE_ENM', 'English, Middle');
-define('_LANGUAGE_EPO', 'esperanto');
-define('_LANGUAGE_EST', 'eesti');
+define('_LANGUAGE_EPO', 'Esperanto');
+define('_LANGUAGE_EST', 'Eesti');
 define('_LANGUAGE_EUS', 'Basque');
 define('_LANGUAGE_EWE', 'Ewe');
 define('_LANGUAGE_EWO', 'Ewondo');
@@ -160,7 +140,7 @@
 define('_LANGUAGE_FIN', 'suomi');
 define('_LANGUAGE_FIU', 'Finno-Ugrian (Other)');
 define('_LANGUAGE_FON', 'Fon');
-define('_LANGUAGE_FRA', 'franais');
+define('_LANGUAGE_FRA', 'Franais');
 define('_LANGUAGE_FRM', 'French, Middle');
 define('_LANGUAGE_FRO', 'French, Old');
 define('_LANGUAGE_FRY', 'Frisian');
@@ -190,7 +170,7 @@
 define('_LANGUAGE_HAT', 'Haitian; Haitian Creole');
 define('_LANGUAGE_HAU', 'Hausa');
 define('_LANGUAGE_HAW', 'Hawaiian');
-define('_LANGUAGE_HEB', 'ivrit');
+define('_LANGUAGE_HEB', 'Ivrit');
 define('_LANGUAGE_HER', 'Herero');
 define('_LANGUAGE_HIL', 'Hiligaynon');
 define('_LANGUAGE_HIM', 'Himachali');
@@ -198,7 +178,7 @@
 define('_LANGUAGE_HIT', 'Hittite');
 define('_LANGUAGE_HMN', 'Hmong');
 define('_LANGUAGE_HMO', 'Hiri Motu');
-define('_LANGUAGE_HRV', 'hrvatski');
+define('_LANGUAGE_HRV', 'Hrvatski');
 define('_LANGUAGE_HSB', 'Upper Sorbian');
 define('_LANGUAGE_HUN', 'magyar');
 define('_LANGUAGE_HUP', 'Hupa');
@@ -219,11 +199,11 @@
 define('_LANGUAGE_IPK', 'Inupiaq');
 define('_LANGUAGE_IRA', 'Iranian (Other)');
 define('_LANGUAGE_IRO', 'Iroquoian languages');
-define('_LANGUAGE_ISL', 'islenska');
-define('_LANGUAGE_ITA', 'italiano');
+define('_LANGUAGE_ISL', 'Islenska');
+define('_LANGUAGE_ITA', 'Italiano');
 define('_LANGUAGE_JAV', 'Javanese');
 define('_LANGUAGE_JBO', 'Lojban');
-define('_LANGUAGE_JPN', 'nihongo');
+define('_LANGUAGE_JPN', 'Nihongo');
 define('_LANGUAGE_JPR', 'Judeo-Persian');
 define('_LANGUAGE_JRB', 'Judeo-Arabic');
 define('_LANGUAGE_KAA', 'Kara-Kalpak');
@@ -250,7 +230,7 @@
 define('_LANGUAGE_KOK', 'Konkani');
 define('_LANGUAGE_KOM', 'Komi');
 define('_LANGUAGE_KON', 'Kongo');
-define('_LANGUAGE_KOR', 'hankuko');
+define('_LANGUAGE_KOR', 'Hankuko');
 define('_LANGUAGE_KOS', 'Kosraean');
 define('_LANGUAGE_KPE', 'Kpelle');
 define('_LANGUAGE_KRC', 'Karachay-Balkar');
@@ -265,11 +245,11 @@
 define('_LANGUAGE_LAM', 'Lamba');
 define('_LANGUAGE_LAO', 'Lao');
 define('_LANGUAGE_LAT', 'Latin');
-define('_LANGUAGE_LAV', 'latvieu');
+define('_LANGUAGE_LAV', 'Latvieu');
 define('_LANGUAGE_LEZ', 'Lezghian');
 define('_LANGUAGE_LIM', 'Limburgan; Limburger; Limburgish');
 define('_LANGUAGE_LIN', 'Lingala');
-define('_LANGUAGE_LIT', 'lietuvos');
+define('_LANGUAGE_LIT', 'Lietuvos');
 define('_LANGUAGE_LOL', 'Mongo');
 define('_LANGUAGE_LOZ', 'Lozi');
 define('_LANGUAGE_LTZ', 'Luxembourgish; Letzeburgesch');
@@ -279,7 +259,7 @@
 define('_LANGUAGE_LUI', 'Luiseno');
 define('_LANGUAGE_LUN', 'Lunda');
 define('_LANGUAGE_LUO', 'Luo (Kenya and Tanzania)');
-define('_LANGUAGE_LUS', 'lushai');
+define('_LANGUAGE_LUS', 'Lushai');
 define('_LANGUAGE_MAD', 'Madurese');
 define('_LANGUAGE_MAG', 'Magahi');
 define('_LANGUAGE_MAH', 'Marshallese');
@@ -297,7 +277,7 @@
 define('_LANGUAGE_MIC', 'Micmac');
 define('_LANGUAGE_MIN', 'Minangkabau');
 define('_LANGUAGE_MIS', 'Miscellaneous languages');
-define('_LANGUAGE_MKD', 'makedonski');
+define('_LANGUAGE_MKD', 'Makedonski');
 define('_LANGUAGE_MKH', 'Mon-Khmer (Other)');
 define('_LANGUAGE_MLG', 'Malagasy');
 define('_LANGUAGE_MLT', 'Maltese');
@@ -336,7 +316,7 @@
 define('_LANGUAGE_NOB', 'Norwegian Bokml; Bokml, Norwegian');
 define('_LANGUAGE_NOG', 'Nogai');
 define('_LANGUAGE_NON', 'Norse, Old');
-define('_LANGUAGE_NOR', 'norsk');
+define('_LANGUAGE_NOR', 'Norsk');
 define('_LANGUAGE_NSO', 'Sotho, Northern');
 define('_LANGUAGE_NUB', 'Nubian languages');
 define('_LANGUAGE_NWC', 'Classical Newari; Old Newari; Classical Nepal Bhasa');
@@ -364,9 +344,9 @@
 define('_LANGUAGE_PHI', 'Philippine (Other)');
 define('_LANGUAGE_PHN', 'Phoenician');
 define('_LANGUAGE_PLI', 'Pali');
-define('_LANGUAGE_POL', 'polski');
+define('_LANGUAGE_POL', 'Polski');
 define('_LANGUAGE_PON', 'Pohnpeian');
-define('_LANGUAGE_POR', 'portugus');
+define('_LANGUAGE_POR', 'Portugus');
 define('_LANGUAGE_PRA', 'Prakrit languages');
 define('_LANGUAGE_PRO', 'Provenal, Old');
 define('_LANGUAGE_PUS', 'Pushto');
@@ -378,9 +358,9 @@
 define('_LANGUAGE_ROA', 'Romance (Other)');
 define('_LANGUAGE_ROH', 'Raeto-Romance');
 define('_LANGUAGE_ROM', 'Romany');
-define('_LANGUAGE_RON', 'romn');
+define('_LANGUAGE_RON', 'Romn');
 define('_LANGUAGE_RUN', 'Rundi');
-define('_LANGUAGE_RUS', 'na russkom');
+define('_LANGUAGE_RUS', 'Na Russkom');
 define('_LANGUAGE_SAD', 'Sandawe');
 define('_LANGUAGE_SAG', 'Sango');
 define('_LANGUAGE_SAH', 'Yakut');
@@ -418,7 +398,7 @@
 define('_LANGUAGE_SOM', 'Somali');
 define('_LANGUAGE_SON', 'Songhai');
 define('_LANGUAGE_SOT', 'Sotho, Southern');
-define('_LANGUAGE_SPA', 'espaol');
+define('_LANGUAGE_SPA', 'Espaol');
 define('_LANGUAGE_SQI', 'Albanian');
 define('_LANGUAGE_SRD', 'Sardinian');
 define('_LANGUAGE_SRP', 'Serbian');
@@ -442,6 +422,7 @@
 define('_LANGUAGE_TET', 'Tetum');
 define('_LANGUAGE_TGK', 'Tajik');
 define('_LANGUAGE_TGL', 'Tagalog');
+define('_LANGUAGE_TIB', 'Tibetan');
 define('_LANGUAGE_THA', 'Thai');
 define('_LANGUAGE_TIG', 'Tigre');
 define('_LANGUAGE_TIR', 'Tigrinya');
@@ -467,7 +448,7 @@
 define('_LANGUAGE_UDM', 'Udmurt');
 define('_LANGUAGE_UGA', 'Ugaritic');
 define('_LANGUAGE_UIG', 'Uighur');
-define('_LANGUAGE_UKR', 'na ukrain\'skom');
+define('_LANGUAGE_UKR', 'Na Ukrain\'skom');
 define('_LANGUAGE_UMB', 'Umbundu');
 define('_LANGUAGE_UND', 'Undetermined');
 define('_LANGUAGE_URD', 'Urdu');
diff -ruN 0.762/mainfile.php 0.763/mainfile.php
--- 0.762/mainfile.php	2005-02-04 00:30:16.000000000 -0600
+++ 0.763/mainfile.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: mainfile.php,v 1.4 2005/02/04 06:30:16 jorg Exp $
+// File: $Id: mainfile.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/AddStory/Version.php 0.763/modules/AddStory/Version.php
--- 0.762/modules/AddStory/Version.php	2005-02-04 00:30:23.000000000 -0600
+++ 0.763/modules/AddStory/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: Version.php,v 1.2 2005/02/04 06:30:23 jorg Exp $
+// $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 $modversion['name'] = 'AddStory';
 $modversion['version'] = '1.0';
 $modversion['description'] = 'Post new articles on your site.';
diff -ruN 0.762/modules/AddStory/addstory_categories.php 0.763/modules/AddStory/addstory_categories.php
--- 0.762/modules/AddStory/addstory_categories.php	2005-04-03 14:21:54.000000000 -0500
+++ 0.763/modules/AddStory/addstory_categories.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: addstory_categories.php,v 1.8 2005/04/03 19:21:54 larsneo Exp $
+// File: $Id: addstory_categories.php 16060 2005-04-03 19:21:54Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/AddStory/addstory_functions.php 0.763/modules/AddStory/addstory_functions.php
--- 0.762/modules/AddStory/addstory_functions.php	2005-10-10 09:08:16.000000000 -0500
+++ 0.763/modules/AddStory/addstory_functions.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: addstory_functions.php,v 1.7 2005/10/10 14:08:16 landseer Exp $
+// File: $Id: addstory_functions.php 16853 2005-10-10 14:08:16Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/AddStory/admin.php 0.763/modules/AddStory/admin.php
--- 0.762/modules/AddStory/admin.php	2006-01-03 05:54:12.000000000 -0600
+++ 0.763/modules/AddStory/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.14 2006/01/03 11:54:12 markwest Exp $
+// File: $Id: admin.php 19804 2006-08-23 13:34:19Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -753,7 +753,7 @@
 		return;
 	}
 
-    pnRedirect('admin.php'.'?module='.$module.'&op=submissions');
+    pnRedirect('admin.php'.'?module=AddStory&op=submissions');
 }
 
 function changeStory()
@@ -863,7 +863,7 @@
 			return;
 		}
 		pnModCallHooks('item', 'update', $sid, array('module' => 'News'));
-        pnRedirect('admin.php?module=Admin&op=main');
+        pnRedirect('admin.php?module=AddStory&op=main');
     }
 }
 
@@ -1499,7 +1499,7 @@
 			include 'footer.php';
 			return;
 		}
-        pnRedirect('admin.php?module=Admin&op=main');
+        pnRedirect('admin.php?module=AddStory&op=main');
     } else {
         include ('header.php');
         GraphicAdmin();
diff -ruN 0.762/modules/Admin/pnadmin.php 0.763/modules/Admin/pnadmin.php
--- 0.762/modules/Admin/pnadmin.php	2006-01-12 06:12:57.000000000 -0600
+++ 0.763/modules/Admin/pnadmin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.70.2.1 2006/01/12 12:12:57 markwest Exp $
+// $Id: pnadmin.php 17507 2006-01-12 12:12:57Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin/pnadminapi.php 0.763/modules/Admin/pnadminapi.php
--- 0.762/modules/Admin/pnadminapi.php	2006-01-03 03:46:49.000000000 -0600
+++ 0.763/modules/Admin/pnadminapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.26.2.1 2006/01/03 09:46:49 markwest Exp $
+// $Id: pnadminapi.php 17446 2006-01-03 09:46:50Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin/pnblocks/adminnav.php 0.763/modules/Admin/pnblocks/adminnav.php
--- 0.762/modules/Admin/pnblocks/adminnav.php	2005-03-04 07:00:28.000000000 -0600
+++ 0.763/modules/Admin/pnblocks/adminnav.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: adminnav.php,v 1.13 2005/03/04 13:00:28 markwest Exp $
+// $Id: adminnav.php 15905 2005-03-04 13:00:28Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
 // ----------------------------------------------------------------------
 /**
  * @author       Mark West
- * @version      $Revision: 1.13 $
+ * @version      $Revision: 15905 $
  * @package      PostNuke_System_Modules
  * @subpackage   Admin
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Admin/pninit.php 0.763/modules/Admin/pninit.php
--- 0.762/modules/Admin/pninit.php	2005-02-19 13:55:05.000000000 -0600
+++ 0.763/modules/Admin/pninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.21 2005/02/19 19:55:05 markwest Exp $
+// $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin/pnlang/eng/admin.php 0.763/modules/Admin/pnlang/eng/admin.php
--- 0.762/modules/Admin/pnlang/eng/admin.php	2006-02-02 04:16:15.000000000 -0600
+++ 0.763/modules/Admin/pnlang/eng/admin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.20.2.1 2006/02/02 10:16:15 markwest Exp $
+// $Id: admin.php 17825 2006-02-02 10:16:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin/pnlang/eng/init.php 0.763/modules/Admin/pnlang/eng/init.php
--- 0.762/modules/Admin/pnlang/eng/init.php	2004-12-16 08:55:55.000000000 -0600
+++ 0.763/modules/Admin/pnlang/eng/init.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.6 2004/12/16 14:55:55 markwest Exp $
+// $Id: init.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin/pnlegacy/tools.php 0.763/modules/Admin/pnlegacy/tools.php
--- 0.762/modules/Admin/pnlegacy/tools.php	2005-01-24 15:00:04.000000000 -0600
+++ 0.763/modules/Admin/pnlegacy/tools.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: tools.php,v 1.3 2005/01/24 21:00:04 markwest Exp $
+// $Id: tools.php 15465 2005-01-24 21:00:05Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin/pntables.php 0.763/modules/Admin/pntables.php
--- 0.762/modules/Admin/pntables.php	2005-01-10 07:21:33.000000000 -0600
+++ 0.763/modules/Admin/pntables.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.10 2005/01/10 13:21:33 markwest Exp $
+// $Id: pntables.php 15318 2005-01-10 13:21:34Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_adminpanel.htm 0.763/modules/Admin/pntemplates/admin_admin_adminpanel.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_adminpanel.htm	2005-03-02 15:06:37.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_admin_adminpanel.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_adminpanel.htm,v 1.7 2005/03/02 21:06:37 larsneo Exp $  *]-->
+<!--[*  $Id: admin_admin_adminpanel.htm 15893 2005-03-02 21:06:37Z larsneo $  *]-->
 <!--[$menu]-->
 <div class="container" style="border-color:<!--[pnthemegetvar name="sepcolor"]-->;padding:5px;">
 <h2><!--[$category.catname|pnvarprepfordisplay]--></h2>
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_categorymenu.htm 0.763/modules/Admin/pntemplates/admin_admin_categorymenu.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_categorymenu.htm	2005-07-29 03:45:06.000000000 -0500
+++ 0.763/modules/Admin/pntemplates/admin_admin_categorymenu.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_categorymenu.htm,v 1.5 2005/07/29 08:45:06 larsneo Exp $  *]-->
+<!--[*  $Id: admin_admin_categorymenu.htm 16554 2005-07-29 08:45:06Z larsneo $  *]-->
 <!--[pngetstatusmsg]-->
 <div class="container" style="border-color:<!--[pnthemegetvar name="sepcolor"]-->">
 <h1><!--[pnml name=_ADMIN]--> (<!--[pnml name=_PN_VERSION_NUM]-->)</h1>
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_delete.htm 0.763/modules/Admin/pntemplates/admin_admin_delete.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_delete.htm	2005-01-19 05:20:07.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_admin_delete.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_delete.htm,v 1.3 2005/01/19 11:20:07 markwest Exp $  *]-->
+<!--[*  $Id: admin_admin_delete.htm 15405 2005-01-19 11:20:07Z markwest $  *]-->
 <!--[include file="admin_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINDELETECATEGORY"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Admin" type="admin" func="delete"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_main.htm 0.763/modules/Admin/pntemplates/admin_admin_main.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_main.htm	2004-12-14 03:52:17.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_admin_main.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: admin_admin_main.htm,v 1.3 2004/12/14 09:52:17 jorg Exp $  *]-->
+<!--[*  $Id: admin_admin_main.htm 15149 2004-12-14 09:52:17Z jorg $  *]-->
 <!--[pnmodfunc modname="Admin" type="admin" func="view"]-->
\ No newline at end of file
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_menu.htm 0.763/modules/Admin/pntemplates/admin_admin_menu.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_menu.htm	2005-01-21 06:37:06.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_admin_menu.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_menu.htm,v 1.3 2005/01/21 12:37:06 landseer Exp $  *]-->
+<!--[*  $Id: admin_admin_menu.htm 15435 2005-01-21 12:37:06Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_ADMIN"]--></h1>
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_modify.htm 0.763/modules/Admin/pntemplates/admin_admin_modify.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_modify.htm	2005-01-26 15:34:42.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_admin_modify.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_modify.htm,v 1.4 2005/01/26 21:34:42 larsneo Exp $  *]-->
+<!--[*  $Id: admin_admin_modify.htm 15514 2005-01-26 21:34:42Z larsneo $  *]-->
 <!--[include file="admin_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINUPDATECATEGORY"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Admin" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_modifyconfig.htm 0.763/modules/Admin/pntemplates/admin_admin_modifyconfig.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_modifyconfig.htm	2005-07-24 17:59:28.000000000 -0500
+++ 0.763/modules/Admin/pntemplates/admin_admin_modifyconfig.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_modifyconfig.htm,v 1.6 2005/07/24 22:59:28 markwest Exp $  *]-->
+<!--[*  $Id: admin_admin_modifyconfig.htm 16500 2005-07-24 22:59:28Z markwest $  *]-->
 <!--[include file="admin_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Admin" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_new.htm 0.763/modules/Admin/pntemplates/admin_admin_new.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_new.htm	2005-01-19 05:20:07.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_admin_new.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_new.htm,v 1.3 2005/01/19 11:20:07 markwest Exp $  *]-->
+<!--[*  $Id: admin_admin_new.htm 15405 2005-01-19 11:20:07Z markwest $  *]-->
 <!--[include file="admin_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINADDCATEGORY"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Admin" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_view.htm 0.763/modules/Admin/pntemplates/admin_admin_view.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_view.htm	2004-12-14 04:09:28.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_admin_view.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_view.htm,v 1.3 2004/12/14 10:09:28 markwest Exp $  *]-->
+<!--[*  $Id: admin_admin_view.htm 15151 2004-12-14 10:09:28Z markwest $  *]-->
 <!--[include file="admin_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINVIEW"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/Admin/pntemplates/admin_admin_warning.htm 0.763/modules/Admin/pntemplates/admin_admin_warning.htm
--- 0.762/modules/Admin/pntemplates/admin_admin_warning.htm	2004-11-27 16:08:41.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_admin_warning.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_admin_warning.htm,v 1.1 2004/11/27 22:08:41 markwest Exp $  *]-->
+<!--[*  $Id: admin_admin_warning.htm 14983 2004-11-27 22:08:41Z markwest $  *]-->
 <div class="warning-container">
 	<!--[pnimg src=warning.gif]-->
 	<!--[if $installexists]-->
diff -ruN 0.762/modules/Admin/pntemplates/admin_block_adminnav.htm 0.763/modules/Admin/pntemplates/admin_block_adminnav.htm
--- 0.762/modules/Admin/pntemplates/admin_block_adminnav.htm	2004-12-04 13:01:41.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/admin_block_adminnav.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_block_adminnav.htm,v 1.2 2004/12/04 19:01:41 markwest Exp $  *]-->
+<!--[*  $Id: admin_block_adminnav.htm 15023 2004-12-04 19:01:41Z markwest $  *]-->
 <div>
 <ul>
 	<!--[section name="admincategories" loop=$admincategories]-->
diff -ruN 0.762/modules/Admin/pntemplates/plugins/function.adminadminlinks.php 0.763/modules/Admin/pntemplates/plugins/function.adminadminlinks.php
--- 0.762/modules/Admin/pntemplates/plugins/function.adminadminlinks.php	2004-12-14 09:03:29.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/plugins/function.adminadminlinks.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.adminadminlinks.php,v 1.9 2004/12/14 15:03:29 markwest Exp $
+// $Id: function.adminadminlinks.php 15163 2004-12-14 15:03:29Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Admin
- * @version      $Id: function.adminadminlinks.php,v 1.9 2004/12/14 15:03:29 markwest Exp $
+ * @version      $Id: function.adminadminlinks.php 15163 2004-12-14 15:03:29Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Admin/pntemplates/plugins/function.admincategorymenu.php 0.763/modules/Admin/pntemplates/plugins/function.admincategorymenu.php
--- 0.762/modules/Admin/pntemplates/plugins/function.admincategorymenu.php	2005-12-25 04:55:50.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/plugins/function.admincategorymenu.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.admincategorymenu.php,v 1.4.2.2 2005/12/25 10:55:50 landseer Exp $
+// $Id: function.admincategorymenu.php 17382 2005-12-25 10:55:50Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  *
  * @package      PostNuke_System_Modules
  * @subpackage   Admin
- * @version      $Id: function.admincategorymenu.php,v 1.4.2.2 2005/12/25 10:55:50 landseer Exp $
+ * @version      $Id: function.admincategorymenu.php 17382 2005-12-25 10:55:50Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Admin/pntemplates/plugins/function.adminonlinemanual.php 0.763/modules/Admin/pntemplates/plugins/function.adminonlinemanual.php
--- 0.762/modules/Admin/pntemplates/plugins/function.adminonlinemanual.php	2005-01-17 10:31:02.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/plugins/function.adminonlinemanual.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.adminonlinemanual.php,v 1.1 2005/01/17 16:31:02 landseer Exp $
+// $Id: function.adminonlinemanual.php 15397 2005-01-17 16:31:02Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Admin
- * @version      $Id: function.adminonlinemanual.php,v 1.1 2005/01/17 16:31:02 landseer Exp $
+ * @version      $Id: function.adminonlinemanual.php 15397 2005-01-17 16:31:02Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Admin/pntemplates/plugins/function.articles.php 0.763/modules/Admin/pntemplates/plugins/function.articles.php
--- 0.762/modules/Admin/pntemplates/plugins/function.articles.php	2006-01-04 16:30:25.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/plugins/function.articles.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.articles.php,v 1.2.2.1 2006/01/04 22:30:25 landseer Exp $
+// $Id: function.articles.php 17464 2006-01-04 22:30:25Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Admin
- * @version      $Id: function.articles.php,v 1.2.2.1 2006/01/04 22:30:25 landseer Exp $
+ * @version      $Id: function.articles.php 17464 2006-01-04 22:30:25Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Admin/pntemplates/plugins/function.automatednews.php 0.763/modules/Admin/pntemplates/plugins/function.automatednews.php
--- 0.762/modules/Admin/pntemplates/plugins/function.automatednews.php	2006-01-03 03:46:50.000000000 -0600
+++ 0.763/modules/Admin/pntemplates/plugins/function.automatednews.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.automatednews.php,v 1.1.2.1 2006/01/03 09:46:50 markwest Exp $
+// $Id: function.automatednews.php 17446 2006-01-03 09:46:50Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Admin
- * @version      $Id: function.automatednews.php,v 1.1.2.1 2006/01/03 09:46:50 markwest Exp $
+ * @version      $Id: function.automatednews.php 17446 2006-01-03 09:46:50Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Admin/pntemplates/plugins/function.currentpoll.php 0.763/modules/Admin/pntemplates/plugins/function.currentpoll.php
--- 0.762/modules/Admin/pntemplates/plugins/function.currentpoll.php	2005-08-13 17:12:44.000000000 -0500
+++ 0.763/modules/Admin/pntemplates/plugins/function.currentpoll.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.currentpoll.php,v 1.6 2005/08/13 22:12:44 chestnut Exp $
+// $Id: function.currentpoll.php 16636 2005-08-13 22:12:47Z chestnut $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  *
  * @package      PostNuke_System_Modules
  * @subpackage   Admin
- * @version      $Id: function.currentpoll.php,v 1.6 2005/08/13 22:12:44 chestnut Exp $
+ * @version      $Id: function.currentpoll.php 16636 2005-08-13 22:12:47Z chestnut $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Admin/pnversion.php 0.763/modules/Admin/pnversion.php
--- 0.762/modules/Admin/pnversion.php	2005-02-04 00:35:07.000000000 -0600
+++ 0.763/modules/Admin/pnversion.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnversion.php,v 1.9 2005/02/04 06:35:07 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin_Messages/pnadmin.php 0.763/modules/Admin_Messages/pnadmin.php
--- 0.762/modules/Admin_Messages/pnadmin.php	2006-01-12 06:20:17.000000000 -0600
+++ 0.763/modules/Admin_Messages/pnadmin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.33.2.1 2006/01/12 12:20:17 markwest Exp $
+// $Id: pnadmin.php 17509 2006-01-12 12:20:17Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin_Messages/pnadminapi.php 0.763/modules/Admin_Messages/pnadminapi.php
--- 0.762/modules/Admin_Messages/pnadminapi.php	2005-03-27 09:44:19.000000000 -0600
+++ 0.763/modules/Admin_Messages/pnadminapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.19 2005/03/27 15:44:19 markwest Exp $
+// $Id: pnadminapi.php 19345 2006-07-03 09:13:38Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -324,6 +324,11 @@
 	    $time = $oldtime;
 	}
 
+    // check for an invalid expiry
+    if ($expire < 0) {
+        $expire = 0;
+    }
+
     // Update the item - the formatting here is not mandatory, but it does
     // make the SQL statement relatively easy to read.  Also, separating
     // out the sql statement from the Execute() command allows for simpler
diff -ruN 0.762/modules/Admin_Messages/pninit.php 0.763/modules/Admin_Messages/pninit.php
--- 0.762/modules/Admin_Messages/pninit.php	2005-02-19 13:55:06.000000000 -0600
+++ 0.763/modules/Admin_Messages/pninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.13 2005/02/19 19:55:06 markwest Exp $
+// $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin_Messages/pnlang/eng/admin.php 0.763/modules/Admin_Messages/pnlang/eng/admin.php
--- 0.762/modules/Admin_Messages/pnlang/eng/admin.php	2004-12-16 08:57:31.000000000 -0600
+++ 0.763/modules/Admin_Messages/pnlang/eng/admin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.11 2004/12/16 14:57:31 markwest Exp $
+// $Id: admin.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin_Messages/pnlang/eng/init.php 0.763/modules/Admin_Messages/pnlang/eng/init.php
--- 0.762/modules/Admin_Messages/pnlang/eng/init.php	2005-11-30 16:01:17.000000000 -0600
+++ 0.763/modules/Admin_Messages/pnlang/eng/init.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.7.2.1 2005/11/30 22:01:17 markwest Exp $
+// $Id: init.php 20288 2006-10-13 15:13:49Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -35,7 +35,7 @@
 */
 
 // Messages
-define('_MESSAGE_00_a','Welcome to PostNuke, the =-Phoenix-= release (0.762)');
+define('_MESSAGE_00_a','Welcome to PostNuke, the =-Phoenix-= release (0.763)');
 define('_MESSAGE_00_b','<p><a href="http://www.postnuke.com">PostNuke</a> is a weblog/content management system (CMS). It is far more secure and stable than competing products, and is able to work in high-volume environments with ease.<br /><br />
 Some of the key features of PostNuke are:</p>
 <ul>
diff -ruN 0.762/modules/Admin_Messages/pntables.php 0.763/modules/Admin_Messages/pntables.php
--- 0.762/modules/Admin_Messages/pntables.php	2004-04-22 07:20:06.000000000 -0500
+++ 0.763/modules/Admin_Messages/pntables.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.4 2004/04/22 12:20:06 drak Exp $
+// $Id: pntables.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_delete.htm 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_delete.htm
--- 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_delete.htm	2005-01-19 05:43:27.000000000 -0600
+++ 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_delete.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_messages_admin_delete.htm,v 1.3 2005/01/19 11:43:27 markwest Exp $  *]-->
+<!--[*  $Id: admin_messages_admin_delete.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="admin_messages_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINMESSAGESDELETE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname=Admin_Messages type=admin func=delete]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_main.htm 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_main.htm
--- 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_main.htm	2004-12-14 04:00:03.000000000 -0600
+++ 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_main.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: admin_messages_admin_main.htm,v 1.3 2004/12/14 10:00:03 markwest Exp $  *]-->
+<!--[*  $Id: admin_messages_admin_main.htm 15150 2004-12-14 10:02:34Z markwest $  *]-->
 <!--[pnmodfunc modname=Admin_Messages type=admin func=view]-->
\ No newline at end of file
diff -ruN 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_menu.htm 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_menu.htm
--- 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_menu.htm	2005-01-26 11:53:53.000000000 -0600
+++ 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_menu.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_messages_admin_menu.htm,v 1.3 2005/01/26 17:53:53 landseer Exp $  *]-->
+<!--[*  $Id: admin_messages_admin_menu.htm 15511 2005-01-26 17:53:53Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_ADMINMESSAGES"]--></h1>
diff -ruN 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_modify.htm 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_modify.htm
--- 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_modify.htm	2005-01-19 05:43:27.000000000 -0600
+++ 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_modify.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_messages_admin_modify.htm,v 1.3 2005/01/19 11:43:27 markwest Exp $  *]-->
+<!--[*  $Id: admin_messages_admin_modify.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="admin_messages_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINMESSAGESEDIT"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Admin_Messages" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_modifyconfig.htm 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_modifyconfig.htm
--- 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_modifyconfig.htm	2005-01-19 05:43:27.000000000 -0600
+++ 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_modifyconfig.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_messages_admin_modifyconfig.htm,v 1.3 2005/01/19 11:43:27 markwest Exp $  *]-->
+<!--[*  $Id: admin_messages_admin_modifyconfig.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="admin_messages_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINMESSAGESMODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Admin_Messages" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_new.htm 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_new.htm
--- 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_new.htm	2005-01-29 15:26:15.000000000 -0600
+++ 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_new.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_messages_admin_new.htm,v 1.4 2005/01/29 21:26:15 larsneo Exp $  *]-->
+<!--[*  $Id: admin_messages_admin_new.htm 15540 2005-01-29 21:26:15Z larsneo $  *]-->
 <!--[include file="admin_messages_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINMESSAGESADD"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Admin_Messages" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_view.htm 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_view.htm
--- 0.762/modules/Admin_Messages/pntemplates/admin_messages_admin_view.htm	2004-12-14 04:10:13.000000000 -0600
+++ 0.763/modules/Admin_Messages/pntemplates/admin_messages_admin_view.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_messages_admin_view.htm,v 1.3 2004/12/14 10:10:13 markwest Exp $  *]-->
+<!--[*  $Id: admin_messages_admin_view.htm 15152 2004-12-14 10:15:49Z markwest $  *]-->
 <!--[include file="admin_messages_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADMINMESSAGESVIEW"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/Admin_Messages/pntemplates/admin_messages_block_messages.htm 0.763/modules/Admin_Messages/pntemplates/admin_messages_block_messages.htm
--- 0.762/modules/Admin_Messages/pntemplates/admin_messages_block_messages.htm	2005-09-13 05:57:21.000000000 -0500
+++ 0.763/modules/Admin_Messages/pntemplates/admin_messages_block_messages.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: admin_messages_block_messages.htm,v 1.2.2.1 2005/09/13 10:57:21 markwest Exp $  *]-->
+<!--[*  $Id: admin_messages_block_messages.htm 16756 2005-09-13 10:57:21Z markwest $  *]-->
 <div style="padding:5px;">
 <!--[section name=messages loop=$messages]-->
 <h1><!--[$messages[messages].title|pnvarprephtmldisplay|pnmodcallhooks:"Admin_Messages"|pnvarcensor]--></h1>
diff -ruN 0.762/modules/Admin_Messages/pntemplates/plugins/function.adminmessagesadminlinks.php 0.763/modules/Admin_Messages/pntemplates/plugins/function.adminmessagesadminlinks.php
--- 0.762/modules/Admin_Messages/pntemplates/plugins/function.adminmessagesadminlinks.php	2004-07-16 10:09:15.000000000 -0500
+++ 0.763/modules/Admin_Messages/pntemplates/plugins/function.adminmessagesadminlinks.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.adminmessagesadminlinks.php,v 1.5 2004/07/16 15:09:15 markwest Exp $
+// $Id: function.adminmessagesadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Admin_Messages
- * @version      $Id: function.adminmessagesadminlinks.php,v 1.5 2004/07/16 15:09:15 markwest Exp $
+ * @version      $Id: function.adminmessagesadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Admin_Messages/pnversion.php 0.763/modules/Admin_Messages/pnversion.php
--- 0.762/modules/Admin_Messages/pnversion.php	2005-02-04 00:35:07.000000000 -0600
+++ 0.763/modules/Admin_Messages/pnversion.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnversion.php,v 1.9 2005/02/04 06:35:07 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Autolinks/pnadmin.php 0.763/modules/Autolinks/pnadmin.php
--- 0.762/modules/Autolinks/pnadmin.php	2006-01-12 07:22:36.000000000 -0600
+++ 0.763/modules/Autolinks/pnadmin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.29.2.1 2006/01/12 13:22:36 markwest Exp $
+// $Id: pnadmin.php 17524 2006-01-12 13:26:43Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Autolinks/pnadminapi.php 0.763/modules/Autolinks/pnadminapi.php
--- 0.762/modules/Autolinks/pnadminapi.php	2005-01-10 08:10:14.000000000 -0600
+++ 0.763/modules/Autolinks/pnadminapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.15 2005/01/10 14:10:14 markwest Exp $
+// $Id: pnadminapi.php 15320 2005-01-10 14:10:14Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Autolinks/pninit.php 0.763/modules/Autolinks/pninit.php
--- 0.762/modules/Autolinks/pninit.php	2005-02-19 13:53:58.000000000 -0600
+++ 0.763/modules/Autolinks/pninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.16 2005/02/19 19:53:58 markwest Exp $
+// $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Autolinks/pntables.php 0.763/modules/Autolinks/pntables.php
--- 0.762/modules/Autolinks/pntables.php	2005-01-10 08:10:14.000000000 -0600
+++ 0.763/modules/Autolinks/pntables.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.8 2005/01/10 14:10:14 markwest Exp $
+// $Id: pntables.php 15320 2005-01-10 14:10:14Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Autolinks/pntemplates/autolinks_admin_delete.htm 0.763/modules/Autolinks/pntemplates/autolinks_admin_delete.htm
--- 0.762/modules/Autolinks/pntemplates/autolinks_admin_delete.htm	2005-01-19 05:51:27.000000000 -0600
+++ 0.763/modules/Autolinks/pntemplates/autolinks_admin_delete.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: autolinks_admin_delete.htm,v 1.2 2005/01/19 11:51:27 markwest Exp $  *]-->
+<!--[*  $Id: autolinks_admin_delete.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="autolinks_admin_menu.htm"]-->
 <h2><!--[pnml name="_AUTOLINKSDELETE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Autolinks" type="admin" func="delete"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Autolinks/pntemplates/autolinks_admin_main.htm 0.763/modules/Autolinks/pntemplates/autolinks_admin_main.htm
--- 0.762/modules/Autolinks/pntemplates/autolinks_admin_main.htm	2004-12-14 04:50:28.000000000 -0600
+++ 0.763/modules/Autolinks/pntemplates/autolinks_admin_main.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: autolinks_admin_main.htm,v 1.2 2004/12/14 10:50:28 markwest Exp $  *]-->
+<!--[*  $Id: autolinks_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=Autolinks type=admin func=view]-->
diff -ruN 0.762/modules/Autolinks/pntemplates/autolinks_admin_menu.htm 0.763/modules/Autolinks/pntemplates/autolinks_admin_menu.htm
--- 0.762/modules/Autolinks/pntemplates/autolinks_admin_menu.htm	2005-01-19 07:03:28.000000000 -0600
+++ 0.763/modules/Autolinks/pntemplates/autolinks_admin_menu.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: autolinks_admin_menu.htm,v 1.3 2005/01/19 13:03:28 landseer Exp $  *]-->
+<!--[*  $Id: autolinks_admin_menu.htm 15415 2005-01-19 13:14:01Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_AUTOLINKS"]--></h1>
diff -ruN 0.762/modules/Autolinks/pntemplates/autolinks_admin_modify.htm 0.763/modules/Autolinks/pntemplates/autolinks_admin_modify.htm
--- 0.762/modules/Autolinks/pntemplates/autolinks_admin_modify.htm	2005-01-19 05:51:27.000000000 -0600
+++ 0.763/modules/Autolinks/pntemplates/autolinks_admin_modify.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: autolinks_admin_modify.htm,v 1.2 2005/01/19 11:51:27 markwest Exp $  *]-->
+<!--[*  $Id: autolinks_admin_modify.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="autolinks_admin_menu.htm"]-->
 <h2><!--[$item.title|pnvarprepfordisplay]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Autolinks" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Autolinks/pntemplates/autolinks_admin_modifyconfig.htm 0.763/modules/Autolinks/pntemplates/autolinks_admin_modifyconfig.htm
--- 0.762/modules/Autolinks/pntemplates/autolinks_admin_modifyconfig.htm	2005-01-19 05:51:27.000000000 -0600
+++ 0.763/modules/Autolinks/pntemplates/autolinks_admin_modifyconfig.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: autolinks_admin_modifyconfig.htm,v 1.2 2005/01/19 11:51:27 markwest Exp $  *]-->
+<!--[*  $Id: autolinks_admin_modifyconfig.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="autolinks_admin_menu.htm"]-->
 <h2><!--[pnml name="_AUTOLINKSMODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Autolinks" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Autolinks/pntemplates/autolinks_admin_new.htm 0.763/modules/Autolinks/pntemplates/autolinks_admin_new.htm
--- 0.762/modules/Autolinks/pntemplates/autolinks_admin_new.htm	2005-01-19 05:51:27.000000000 -0600
+++ 0.763/modules/Autolinks/pntemplates/autolinks_admin_new.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: autolinks_admin_new.htm,v 1.2 2005/01/19 11:51:27 markwest Exp $  *]-->
+<!--[*  $Id: autolinks_admin_new.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="autolinks_admin_menu.htm"]-->
 <h2><!--[pnml name="_AUTOLINKSADD"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Autolinks" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Autolinks/pntemplates/autolinks_admin_view.htm 0.763/modules/Autolinks/pntemplates/autolinks_admin_view.htm
--- 0.762/modules/Autolinks/pntemplates/autolinks_admin_view.htm	2004-12-14 04:51:53.000000000 -0600
+++ 0.763/modules/Autolinks/pntemplates/autolinks_admin_view.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: autolinks_admin_view.htm,v 1.2 2004/12/14 10:51:53 markwest Exp $  *]-->
+<!--[*  $Id: autolinks_admin_view.htm 15154 2004-12-14 10:56:42Z markwest $  *]-->
 <!--[include file="autolinks_admin_menu.htm"]-->
 <h2><!--[pnml name="_AUTOLINKSVIEW"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/Autolinks/pntemplates/plugins/function.autolinksadminlinks.php 0.763/modules/Autolinks/pntemplates/plugins/function.autolinksadminlinks.php
--- 0.762/modules/Autolinks/pntemplates/plugins/function.autolinksadminlinks.php	2004-07-16 14:06:56.000000000 -0500
+++ 0.763/modules/Autolinks/pntemplates/plugins/function.autolinksadminlinks.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.autolinksadminlinks.php,v 1.5 2004/07/16 19:06:56 markwest Exp $
+// $Id: function.autolinksadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_Utility_Modules
  * @subpackage   Autolinks
- * @version      $Id: function.autolinksadminlinks.php,v 1.5 2004/07/16 19:06:56 markwest Exp $
+ * @version      $Id: function.autolinksadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Autolinks/pnuserapi.php 0.763/modules/Autolinks/pnuserapi.php
--- 0.762/modules/Autolinks/pnuserapi.php	2005-05-31 05:31:18.000000000 -0500
+++ 0.763/modules/Autolinks/pnuserapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.17 2005/05/31 10:31:18 markwest Exp $
+// $Id: pnuserapi.php 16275 2005-05-31 10:31:18Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Autolinks/pnversion.php 0.763/modules/Autolinks/pnversion.php
--- 0.762/modules/Autolinks/pnversion.php	2004-06-03 07:25:58.000000000 -0500
+++ 0.763/modules/Autolinks/pnversion.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.3 2004/06/03 12:25:58 markwest Exp $
+// $Id: pnversion.php 13734 2004-06-03 12:25:58Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/AvantGo/pnadmin.php 0.763/modules/AvantGo/pnadmin.php
--- 0.762/modules/AvantGo/pnadmin.php	2006-01-12 07:24:14.000000000 -0600
+++ 0.763/modules/AvantGo/pnadmin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.11.2.1 2006/01/12 13:24:14 markwest Exp $
+// $Id: pnadmin.php 17528 2006-01-12 13:37:48Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/AvantGo/pninit.php 0.763/modules/AvantGo/pninit.php
--- 0.762/modules/AvantGo/pninit.php	2005-01-10 08:25:32.000000000 -0600
+++ 0.763/modules/AvantGo/pninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.7 2005/01/10 14:25:32 markwest Exp $
+// $Id: pninit.php 15321 2005-01-10 14:28:40Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/AvantGo/pntemplates/avantgo_admin_main.htm 0.763/modules/AvantGo/pntemplates/avantgo_admin_main.htm
--- 0.762/modules/AvantGo/pntemplates/avantgo_admin_main.htm	2004-12-14 04:52:55.000000000 -0600
+++ 0.763/modules/AvantGo/pntemplates/avantgo_admin_main.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: avantgo_admin_main.htm,v 1.2 2004/12/14 10:52:55 markwest Exp $  *]-->
+<!--[*  $Id: avantgo_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=AvantGo type=admin func=modifyconfig]-->
diff -ruN 0.762/modules/AvantGo/pntemplates/avantgo_admin_menu.htm 0.763/modules/AvantGo/pntemplates/avantgo_admin_menu.htm
--- 0.762/modules/AvantGo/pntemplates/avantgo_admin_menu.htm	2005-06-01 16:46:08.000000000 -0500
+++ 0.763/modules/AvantGo/pntemplates/avantgo_admin_menu.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: avantgo_admin_menu.htm,v 1.5 2005/06/01 21:46:08 markwest Exp $  *]-->
+<!--[*  $Id: avantgo_admin_menu.htm 16288 2005-06-01 21:55:58Z markwest $  *]-->
 <!--[admincategorymenu]-->
 <h1><!--[pnml name="_AVANTGO"]--></h1>
 <div class="pn-menu">
diff -ruN 0.762/modules/AvantGo/pntemplates/avantgo_admin_modifyconfig.htm 0.763/modules/AvantGo/pntemplates/avantgo_admin_modifyconfig.htm
--- 0.762/modules/AvantGo/pntemplates/avantgo_admin_modifyconfig.htm	2005-01-19 05:51:23.000000000 -0600
+++ 0.763/modules/AvantGo/pntemplates/avantgo_admin_modifyconfig.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: avantgo_admin_modifyconfig.htm,v 1.4 2005/01/19 11:51:23 markwest Exp $  *]-->
+<!--[*  $Id: avantgo_admin_modifyconfig.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="avantgo_admin_menu.htm"]-->
 <h2><!--[pnml name="_AVANTGOMODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="AvantGo" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/AvantGo/pntemplates/avantgo_admin_view.htm 0.763/modules/AvantGo/pntemplates/avantgo_admin_view.htm
--- 0.762/modules/AvantGo/pntemplates/avantgo_admin_view.htm	2005-01-30 09:48:31.000000000 -0600
+++ 0.763/modules/AvantGo/pntemplates/avantgo_admin_view.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: avantgo_admin_view.htm,v 1.4 2005/01/30 15:48:31 larsneo Exp $  *]-->
+<!--[*  $Id: avantgo_admin_view.htm 15553 2005-01-30 15:48:31Z larsneo $  *]-->
 <!--[include file="avantgo_admin_menu.htm"]-->
 <h2><!--[pnml name="_AVANTGOVIEW"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/AvantGo/pntemplates/plugins/function.avantgoadminlinks.php 0.763/modules/AvantGo/pntemplates/plugins/function.avantgoadminlinks.php
--- 0.762/modules/AvantGo/pntemplates/plugins/function.avantgoadminlinks.php	2004-07-16 14:06:56.000000000 -0500
+++ 0.763/modules/AvantGo/pntemplates/plugins/function.avantgoadminlinks.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.avantgoadminlinks.php,v 1.3 2004/07/16 19:06:56 markwest Exp $
+// $Id: function.avantgoadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      PostNuke_Content_Modules
  * @subpackage   AvantGo
- * @version      $Id: function.avantgoadminlinks.php,v 1.3 2004/07/16 19:06:56 markwest Exp $
+ * @version      $Id: function.avantgoadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/AvantGo/pnuser.php 0.763/modules/AvantGo/pnuser.php
--- 0.762/modules/AvantGo/pnuser.php	2005-02-02 16:53:18.000000000 -0600
+++ 0.763/modules/AvantGo/pnuser.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.14 2005/02/02 22:53:18 markwest Exp $
+// $Id: pnuser.php 15601 2005-02-02 22:53:18Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/AvantGo/pnuserapi.php 0.763/modules/AvantGo/pnuserapi.php
--- 0.762/modules/AvantGo/pnuserapi.php	2005-08-09 02:57:45.000000000 -0500
+++ 0.763/modules/AvantGo/pnuserapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.12 2005/08/09 07:57:45 markwest Exp $
+// $Id: pnuserapi.php 16618 2005-08-09 07:57:45Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/AvantGo/pnversion.php 0.763/modules/AvantGo/pnversion.php
--- 0.762/modules/AvantGo/pnversion.php	2004-06-09 10:17:27.000000000 -0500
+++ 0.763/modules/AvantGo/pnversion.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.3 2004/06/09 15:17:27 markwest Exp $
+// $Id: pnversion.php 13795 2004-06-09 15:17:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Banners/Version.php 0.763/modules/Banners/Version.php
--- 0.762/modules/Banners/Version.php	2005-02-04 00:30:24.000000000 -0600
+++ 0.763/modules/Banners/Version.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: Version.php,v 1.2 2005/02/04 06:30:24 jorg Exp $
+// $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 $modversion['name'] = 'Banners Admin';
 $modversion['version'] = '1.0';
 $modversion['description'] = 'Administer Banners on your site';
diff -ruN 0.762/modules/Banners/admin.php 0.763/modules/Banners/admin.php
--- 0.762/modules/Banners/admin.php	2006-01-12 08:50:50.000000000 -0600
+++ 0.763/modules/Banners/admin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.6 2006/01/12 14:50:50 larsneo Exp $
+// File: $Id: admin.php 19379 2006-07-07 10:39:05Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -870,7 +870,7 @@
         ._CONTACTNAME.": <input type=\"text\" name=\"contact\" value=\"$contact\" size=\"30\" maxlength=\"60\" /><br />"
         ._CONTACTEMAIL.": <input type=\"text\" name=\"email\" size=\"30\" maxlength=\"60\" value=\"$email\" /><br />"
         ._CLIENTLOGIN.": <input type=\"text\" name=\"login\" size=\"12\" maxlength=\"10\" value=\"$login\" /><br />"
-        ._CLIENTPASSWD.": <input type=\"text\" name=\"passwd\" size=\"1\"2 maxlength=\"10\" value=\"$passwd\" /><br />"
+        ._CLIENTPASSWD.": <input type=\"text\" name=\"passwd\" size=\"12\" maxlength=\"10\" value=\"$passwd\" /><br />"
         ._EXTRAINFO."<br /><textarea name=\"extrainfo\" cols=\"80\" rows=\"10\">$extrainfo</textarea><br />"
         ."<input type=\"hidden\" name=\"cid\" value=\"$cid\" />"
         ."<input type=\"hidden\" name=\"module\" value=\"".$GLOBALS['module']."\" />"
diff -ruN 0.762/modules/Banners/pninit.php 0.763/modules/Banners/pninit.php
--- 0.762/modules/Banners/pninit.php	2005-02-19 12:16:21.000000000 -0600
+++ 0.763/modules/Banners/pninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.1 2005/02/19 18:16:21 markwest Exp $
+// $Id: pninit.php 15755 2005-02-19 18:16:21Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -37,7 +37,7 @@
  * This function is only ever called once during the lifetime of a particular
  * module instance
  * @author Devin Hayes
- * @version $Revision: 1.1 $
+ * @version $Revision: 15755 $
  * @return bool true if successful, false otherwise
  */
 function Banners_init()
@@ -174,7 +174,7 @@
  * upgrade the Banners module from an old version
  * This function can be called multiple times
  * @author Devin Hayes
- * @version $Revision: 1.1 $
+ * @version $Revision: 15755 $
  * @return bool true if successful, false otherwise
  */
 function Banners_upgrade($oldversion)
@@ -188,7 +188,7 @@
  * This function is only ever called once during the lifetime of a particular
  * module instance
  * @author Devin Hayes
- * @version $Revision: 1.1 $
+ * @version $Revision: 15755 $
  * @return bool true if successful, false otherwise
  */
 function Banners_delete()
diff -ruN 0.762/modules/Blocks/pnadmin.php 0.763/modules/Blocks/pnadmin.php
--- 0.762/modules/Blocks/pnadmin.php	2006-01-12 06:42:53.000000000 -0600
+++ 0.763/modules/Blocks/pnadmin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: pnadmin.php,v 1.42.2.2 2006/01/12 12:42:53 markwest Exp $
+// $Id: pnadmin.php 20250 2006-10-09 12:00:13Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -47,7 +47,7 @@
 {
     // Security check - important to do this as early as possible to avoid
     // potential security holes or just too much wasted processing
-    if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
+    if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_EDIT)) {
         return pnVarPrepHTMLDisplay(_MODULENOAUTH);
     } 
 
@@ -64,7 +64,7 @@
 {
     // Security check - important to do this as early as possible to avoid
     // potential security holes or just too much wasted processing
-    if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
+    if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_EDIT)) {
         return pnVarPrepHTMLDisplay(_MODULENOAUTH);
     } 
 
@@ -358,18 +358,18 @@
  */
 function blocks_admin_modify()
 {
-    // Security check - important to do this as early as possible to avoid
-    // potential security holes or just too much wasted processing
-    if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
-        return pnVarPrepHTMLDisplay(_MODULENOAUTH);
-    }
-
     // Get parameters
     $bid = pnVarCleanFromInput('bid');
 
     // Get details on current block
     $blockinfo = pnBlockGetInfo($bid);
 
+    // Security check - important to do this as early as possible to avoid
+    // potential security holes or just too much wasted processing
+    if (!pnSecAuthAction(0, 'Blocks::', "$blockinfo[bkey]:$blockinfo[title]:$bid", ACCESS_EDIT)) {
+        return pnVarPrepHTMLDisplay(_MODULENOAUTH);
+    }
+
 	// check the blockinfo array
     if (empty($blockinfo)) {
         pnSessionSetVar('errormsg', _NOSUCHBLOCK);
@@ -683,18 +683,18 @@
  */
 function blocks_admin_delete()
 { 
-	// Security check - important to do this as early as possible to avoid
-	// potential security holes or just too much wasted processing
-	if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
-		return pnVarPrepHTMLDisplay(_MODULENOAUTH);
-	}
-
     // Get parameters
     list($bid, $confirmation) = pnVarCleanFromInput('bid', 'confirmation'); 
 
 	// Get details on current block
 	$blockinfo = pnBlockGetInfo($bid);
 
+	// Security check - important to do this as early as possible to avoid
+	// potential security holes or just too much wasted processing
+	if (!pnSecAuthAction(0, 'Blocks::', "$blockinfo[bkey]:$blockinfo[title]:$bid", ACCESS_DELETE)) {
+		return pnVarPrepHTMLDisplay(_MODULENOAUTH);
+	}
+
     if ($blockinfo == false) {
         return pnVarPrepHTMLDisplay(_NOSUCHBLOCK);
     }
diff -ruN 0.762/modules/Blocks/pnadminapi.php 0.763/modules/Blocks/pnadminapi.php
--- 0.762/modules/Blocks/pnadminapi.php	2005-07-12 09:32:03.000000000 -0500
+++ 0.763/modules/Blocks/pnadminapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: pnadminapi.php,v 1.19 2005/07/12 14:32:03 markwest Exp $
+// $Id: pnadminapi.php 20250 2006-10-09 12:00:13Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -203,9 +203,17 @@
             (!isset($position))) {
         pnSessionSetVar('errormsg', _MODARGSERROR);
         return false;
-    } 
+    }
+
+    // Get details on current block
+    $blockinfo = pnBlockGetInfo($bid);
+
     // Security check
-    if (!pnSecAuthAction(0, 'Blocks::', "$title::$bid", ACCESS_EDIT)) {
+    if (!pnSecAuthAction(0, 'Blocks::', "$blockinfo[bkey]:$blockinfo[title]:$bid", ACCESS_EDIT)) {
+        pnSessionSetVar('errormsg', _MODULENOAUTH);
+        return false;
+    } 
+    if (!pnSecAuthAction(0, 'Blocks::', "$blockinfo[bkey]:$title:$bid", ACCESS_EDIT)) {
         pnSessionSetVar('errormsg', _MODULENOAUTH);
         return false;
     } 
@@ -264,7 +272,7 @@
         return false;
     } 
     // Security check
-    if (!pnSecAuthAction(0, 'Blocks::', "$title::", ACCESS_ADD)) {
+    if (!pnSecAuthAction(0, 'Blocks::', "$bkey:$title:", ACCESS_ADD)) {
         pnSessionSetVar('errormsg', _MODULENOAUTH);
         return false;
     } 
diff -ruN 0.762/modules/Blocks/pninit.php 0.763/modules/Blocks/pninit.php
--- 0.762/modules/Blocks/pninit.php	2005-07-30 12:31:10.000000000 -0500
+++ 0.763/modules/Blocks/pninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.19 2005/07/30 17:31:10 markwest Exp $
+// $Id: pninit.php 16573 2005-07-30 17:31:10Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Blocks/pnlang/eng/admin.php 0.763/modules/Blocks/pnlang/eng/admin.php
--- 0.762/modules/Blocks/pnlang/eng/admin.php	2005-07-23 09:12:15.000000000 -0500
+++ 0.763/modules/Blocks/pnlang/eng/admin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.16 2005/07/23 14:12:15 markwest Exp $
+// $Id: admin.php 16462 2005-07-23 14:12:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Blocks/pnlang/eng/adminapi.php 0.763/modules/Blocks/pnlang/eng/adminapi.php
--- 0.762/modules/Blocks/pnlang/eng/adminapi.php	2004-12-16 09:03:28.000000000 -0600
+++ 0.763/modules/Blocks/pnlang/eng/adminapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: adminapi.php,v 1.4 2004/12/16 15:03:28 markwest Exp $
+// $Id: adminapi.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Blocks/pnlang/eng/init.php 0.763/modules/Blocks/pnlang/eng/init.php
--- 0.762/modules/Blocks/pnlang/eng/init.php	2005-03-04 08:38:03.000000000 -0600
+++ 0.763/modules/Blocks/pnlang/eng/init.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.10 2005/03/04 14:38:03 markwest Exp $
+// $Id: init.php 15910 2005-03-04 14:38:03Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Blocks/pnlang/eng/linklist.php 0.763/modules/Blocks/pnlang/eng/linklist.php
--- 0.762/modules/Blocks/pnlang/eng/linklist.php	2004-12-16 09:03:28.000000000 -0600
+++ 0.763/modules/Blocks/pnlang/eng/linklist.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: linklist.php,v 1.3 2004/12/16 15:03:28 markwest Exp $
+// File: $Id: linklist.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Blocks/pntables.php 0.763/modules/Blocks/pntables.php
--- 0.762/modules/Blocks/pntables.php	2005-01-10 08:20:44.000000000 -0600
+++ 0.763/modules/Blocks/pntables.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.5 2005/01/10 14:20:44 markwest Exp $
+// $Id: pntables.php 15321 2005-01-10 14:28:40Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -32,7 +32,7 @@
  *
  * @package      PostNuke_System_Modules
  * @subpackage   Blocks
- * @version      $Id: pntables.php,v 1.5 2005/01/10 14:20:44 markwest Exp $
+ * @version      $Id: pntables.php 15321 2005-01-10 14:28:40Z markwest $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Blocks/pntemplates/blocks_admin_delete.htm 0.763/modules/Blocks/pntemplates/blocks_admin_delete.htm
--- 0.762/modules/Blocks/pntemplates/blocks_admin_delete.htm	2005-01-19 05:43:28.000000000 -0600
+++ 0.763/modules/Blocks/pntemplates/blocks_admin_delete.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: blocks_admin_delete.htm,v 1.3 2005/01/19 11:43:28 markwest Exp $  *]-->
+<!--[*  $Id: blocks_admin_delete.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="blocks_admin_menu.htm"]-->
 <h2><!--[pnml name="_DELETEBLOCK"]--></h2>
 <h2><!--[$blockname|pnvarprepfordisplay]--></h2>
diff -ruN 0.762/modules/Blocks/pntemplates/blocks_admin_menu.htm 0.763/modules/Blocks/pntemplates/blocks_admin_menu.htm
--- 0.762/modules/Blocks/pntemplates/blocks_admin_menu.htm	2005-01-19 06:54:32.000000000 -0600
+++ 0.763/modules/Blocks/pntemplates/blocks_admin_menu.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: blocks_admin_menu.htm,v 1.3 2005/01/19 12:54:32 landseer Exp $  *]-->
+<!--[*  $Id: blocks_admin_menu.htm 15411 2005-01-19 12:55:58Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_BLOCKS"]--></h1>
diff -ruN 0.762/modules/Blocks/pntemplates/blocks_admin_modify.htm 0.763/modules/Blocks/pntemplates/blocks_admin_modify.htm
--- 0.762/modules/Blocks/pntemplates/blocks_admin_modify.htm	2005-04-03 12:07:15.000000000 -0500
+++ 0.763/modules/Blocks/pntemplates/blocks_admin_modify.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: blocks_admin_modify.htm,v 1.5 2005/04/03 17:07:15 larsneo Exp $  *]-->
+<!--[*  $Id: blocks_admin_modify.htm 16056 2005-04-03 17:07:15Z larsneo $  *]-->
 <!--[include file="blocks_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODIFYBLOCK"]--></h2>
 <h2><!--[$modtitle|pnvarprepfordisplay]--></h2>
diff -ruN 0.762/modules/Blocks/pntemplates/blocks_admin_modifyconfig.htm 0.763/modules/Blocks/pntemplates/blocks_admin_modifyconfig.htm
--- 0.762/modules/Blocks/pntemplates/blocks_admin_modifyconfig.htm	2005-01-19 05:43:28.000000000 -0600
+++ 0.763/modules/Blocks/pntemplates/blocks_admin_modifyconfig.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: blocks_admin_modifyconfig.htm,v 1.3 2005/01/19 11:43:28 markwest Exp $  *]-->
+<!--[*  $Id: blocks_admin_modifyconfig.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="blocks_admin_menu.htm"]-->
 <h2><!--[pnml name="_BLOCKSCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Blocks" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Blocks/pntemplates/blocks_admin_new.htm 0.763/modules/Blocks/pntemplates/blocks_admin_new.htm
--- 0.762/modules/Blocks/pntemplates/blocks_admin_new.htm	2005-03-10 10:24:37.000000000 -0600
+++ 0.763/modules/Blocks/pntemplates/blocks_admin_new.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: blocks_admin_new.htm,v 1.4 2005/03/10 16:24:37 markwest Exp $  *]-->
+<!--[*  $Id: blocks_admin_new.htm 15963 2005-03-10 16:24:37Z markwest $  *]-->
 <!--[include file="blocks_admin_menu.htm"]-->
 <h2><!--[pnml name="_ADDBLOCK"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Blocks" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Blocks/pntemplates/blocks_admin_view.htm 0.763/modules/Blocks/pntemplates/blocks_admin_view.htm
--- 0.762/modules/Blocks/pntemplates/blocks_admin_view.htm	2005-03-30 14:52:18.000000000 -0600
+++ 0.763/modules/Blocks/pntemplates/blocks_admin_view.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: blocks_admin_view.htm,v 1.6 2005/03/30 20:52:18 larsneo Exp $  *]-->
+<!--[*  $Id: blocks_admin_view.htm 16043 2005-03-30 20:52:18Z larsneo $  *]-->
 <!--[include file="blocks_admin_menu.htm"]-->
 <h2><!--[pnml name="_VIEWBLOCKS"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/Blocks/pntemplates/plugins/function.blocksadminlinks.php 0.763/modules/Blocks/pntemplates/plugins/function.blocksadminlinks.php
--- 0.762/modules/Blocks/pntemplates/plugins/function.blocksadminlinks.php	2005-11-29 09:09:35.000000000 -0600
+++ 0.763/modules/Blocks/pntemplates/plugins/function.blocksadminlinks.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.blocksadminlinks.php,v 1.5.2.1 2005/11/29 15:09:35 landseer Exp $
+// $Id: function.blocksadminlinks.php 17243 2005-11-29 15:09:35Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Blocks
- * @version      $Id: function.blocksadminlinks.php,v 1.5.2.1 2005/11/29 15:09:35 landseer Exp $
+ * @version      $Id: function.blocksadminlinks.php 17243 2005-11-29 15:09:35Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Blocks/pnuser.php 0.763/modules/Blocks/pnuser.php
--- 0.762/modules/Blocks/pnuser.php	2005-02-04 00:35:07.000000000 -0600
+++ 0.763/modules/Blocks/pnuser.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: pnuser.php,v 1.5 2005/02/04 06:35:07 jorg Exp $
+// File: $Id: pnuser.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Blocks/pnuserapi.php 0.763/modules/Blocks/pnuserapi.php
--- 0.762/modules/Blocks/pnuserapi.php	2005-08-28 08:13:29.000000000 -0500
+++ 0.763/modules/Blocks/pnuserapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.8.2.1 2005/08/28 13:13:29 markwest Exp $
+// $Id: pnuserapi.php 16725 2005-08-28 13:13:29Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Blocks/pnversion.php 0.763/modules/Blocks/pnversion.php
--- 0.762/modules/Blocks/pnversion.php	2005-02-04 00:35:07.000000000 -0600
+++ 0.763/modules/Blocks/pnversion.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: pnversion.php,v 1.8 2005/02/04 06:35:07 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Censor/pnadmin.php 0.763/modules/Censor/pnadmin.php
--- 0.762/modules/Censor/pnadmin.php	2006-01-12 06:50:29.000000000 -0600
+++ 0.763/modules/Censor/pnadmin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.23.2.1 2006/01/12 12:50:29 markwest Exp $
+// $Id: pnadmin.php 17516 2006-01-12 12:50:29Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Censor/pnadminapi.php 0.763/modules/Censor/pnadminapi.php
--- 0.762/modules/Censor/pnadminapi.php	2005-07-25 12:36:22.000000000 -0500
+++ 0.763/modules/Censor/pnadminapi.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.12 2005/07/25 17:36:22 markwest Exp $
+// $Id: pnadminapi.php 16512 2005-07-25 17:36:22Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Censor/pnlang/eng/admin.php 0.763/modules/Censor/pnlang/eng/admin.php
--- 0.762/modules/Censor/pnlang/eng/admin.php	2004-12-16 09:07:14.000000000 -0600
+++ 0.763/modules/Censor/pnlang/eng/admin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: admin.php,v 1.7 2004/12/16 15:07:14 markwest Exp $
+// $Id: admin.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Censor/pnlang/eng/init.php 0.763/modules/Censor/pnlang/eng/init.php
--- 0.762/modules/Censor/pnlang/eng/init.php	2004-12-16 09:07:14.000000000 -0600
+++ 0.763/modules/Censor/pnlang/eng/init.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: init.php,v 1.7 2004/12/16 15:07:14 markwest Exp $
+// $Id: init.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Censor/pntemplates/censor_admin_main.htm 0.763/modules/Censor/pntemplates/censor_admin_main.htm
--- 0.762/modules/Censor/pntemplates/censor_admin_main.htm	2005-01-17 09:09:29.000000000 -0600
+++ 0.763/modules/Censor/pntemplates/censor_admin_main.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,3 +1,3 @@
-<!--[*  $Id: censor_admin_main.htm,v 1.2 2005/01/17 15:09:29 landseer Exp $  *]-->
+<!--[*  $Id: censor_admin_main.htm 15393 2005-01-17 15:09:30Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[$main]-->
\ No newline at end of file
diff -ruN 0.762/modules/Censor/pntemplates/censor_admin_modify.htm 0.763/modules/Censor/pntemplates/censor_admin_modify.htm
--- 0.762/modules/Censor/pntemplates/censor_admin_modify.htm	2005-01-19 07:04:57.000000000 -0600
+++ 0.763/modules/Censor/pntemplates/censor_admin_modify.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: censor_admin_modify.htm,v 1.3 2005/01/19 13:04:57 landseer Exp $  *]-->
+<!--[*  $Id: censor_admin_modify.htm 15415 2005-01-19 13:14:01Z landseer $  *]-->
 <h1><!--[pnml name="_CENSOR"]--></h1>
 <h2><!--[pnml name="_EDITCENSOR"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Censor" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Censor/pnversion.php 0.763/modules/Censor/pnversion.php
--- 0.762/modules/Censor/pnversion.php	2005-02-04 00:35:08.000000000 -0600
+++ 0.763/modules/Censor/pnversion.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnversion.php,v 1.6 2005/02/04 06:35:08 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Comments/Version.php 0.763/modules/Comments/Version.php
--- 0.762/modules/Comments/Version.php	2005-02-04 00:30:25.000000000 -0600
+++ 0.763/modules/Comments/Version.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: Version.php,v 1.2 2005/02/04 06:30:25 jorg Exp $
+// $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 $modversion['name'] = 'Comments Admin';
 $modversion['version'] = '1.1';
 $modversion['description'] = 'Comments administration module.';
diff -ruN 0.762/modules/Comments/admin.php 0.763/modules/Comments/admin.php
--- 0.762/modules/Comments/admin.php	2006-01-12 08:48:20.000000000 -0600
+++ 0.763/modules/Comments/admin.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?PHP
-// File: $Id: admin.php,v 1.7 2006/01/12 14:48:20 larsneo Exp $
+// File: $Id: admin.php 19344 2006-07-03 08:16:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -232,8 +232,12 @@
     // Set any numerical variables that havn't been set, to 0. i.e. paranoia check :-)
     $fixvars = array ('anonpost', 'commentlimit','moderate');
     foreach ($fixvars as $v) {
-        if (!isset($var[$v])) {
-            $var[$v] = 0;
+        if (!isset($var[$v]) || !is_numeric($var[$v])) {
+            if ($v == 'commentlimit') {
+                $var[$v] = 4096;
+            } else {
+                $var[$v] = 0;
+            }
         }
     }
 
@@ -241,6 +245,7 @@
     while (list ($key, $val) = each ($var)) {
 		pnConfigSetVar($key, $val);
     }
+    pnSessionSetVar('statusmsg', _CONFIGUPDATED);
     pnRedirect('admin.php');
 }
 
diff -ruN 0.762/modules/Comments/index.php 0.763/modules/Comments/index.php
--- 0.762/modules/Comments/index.php	2006-02-02 04:12:40.000000000 -0600
+++ 0.763/modules/Comments/index.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: index.php,v 1.18 2006/02/02 10:12:40 markwest Exp $
+// File: $Id: index.php 17824 2006-02-02 10:12:40Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Comments/pninit.php 0.763/modules/Comments/pninit.php
--- 0.762/modules/Comments/pninit.php	2005-05-10 10:08:13.000000000 -0500
+++ 0.763/modules/Comments/pninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.2 2005/05/10 15:08:13 landseer Exp $ $Name:  $
+// $Id: pninit.php 16220 2005-05-10 15:10:07Z landseer $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Comments/user/links/links.modifycomments.php 0.763/modules/Comments/user/links/links.modifycomments.php
--- 0.762/modules/Comments/user/links/links.modifycomments.php	2004-11-27 12:07:16.000000000 -0600
+++ 0.763/modules/Comments/user/links/links.modifycomments.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: links.modifycomments.php,v 1.1 2004/11/27 18:07:16 markwest Exp $
+<?php // $Id: links.modifycomments.php 14972 2004-11-27 18:07:18Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Comments/user/modules/modifycomments.php 0.763/modules/Comments/user/modules/modifycomments.php
--- 0.762/modules/Comments/user/modules/modifycomments.php	2005-02-04 00:30:25.000000000 -0600
+++ 0.763/modules/Comments/user/modules/modifycomments.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: modifycomments.php,v 1.5 2005/02/04 06:30:25 jorg Exp $
+// File: $Id: modifycomments.php 15630 2005-02-04 06:35:42Z jorg $
 
 if (eregi('modifycomments.php', $_SERVER['PHP_SELF'])) {
 	die ("You can't access this file directly...");
diff -ruN 0.762/modules/Credits/pntemplates/credits_user_display.htm 0.763/modules/Credits/pntemplates/credits_user_display.htm
--- 0.762/modules/Credits/pntemplates/credits_user_display.htm	2005-06-03 06:04:01.000000000 -0500
+++ 0.763/modules/Credits/pntemplates/credits_user_display.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: credits_user_display.htm,v 1.2 2005/06/03 11:04:01 markwest Exp $  *]-->
+<!--[*  $Id: credits_user_display.htm 16292 2005-06-03 11:04:01Z markwest $  *]-->
 <!--[include file="credits_user_menu.htm"]-->
 <a href="<!--[pnmodurl modname="Credits" type="user" func="main"]-->"><!--[pnml name="_CREDITSBACK"]--></a>
 <h2><!--[$heading|pnvarprepfordisplay]--> <!--[pnml name="_CREDITSFOR"]--> <!--[$displayname|pnvarprepfordisplay]--> <!--[pnml name="_CREDITSVERSION"]--> <!--[$version|pnvarprepfordisplay]--></h2>
diff -ruN 0.762/modules/Credits/pntemplates/credits_user_main.htm 0.763/modules/Credits/pntemplates/credits_user_main.htm
--- 0.762/modules/Credits/pntemplates/credits_user_main.htm	2005-12-14 09:23:48.000000000 -0600
+++ 0.763/modules/Credits/pntemplates/credits_user_main.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: credits_user_main.htm,v 1.5.2.1 2005/12/14 15:23:48 markwest Exp $  *]-->
+<!--[*  $Id: credits_user_main.htm 17330 2005-12-14 15:23:48Z markwest $  *]-->
 <!--[include file="credits_user_menu.htm]-->
 <div style="text-align:center;"><!--[pnml name=_CREDITSPOSTNUKE html=1]--></div>
 <div style="text-align:center;">
diff -ruN 0.762/modules/Credits/pntemplates/credits_user_menu.htm 0.763/modules/Credits/pntemplates/credits_user_menu.htm
--- 0.762/modules/Credits/pntemplates/credits_user_menu.htm	2004-12-04 11:27:38.000000000 -0600
+++ 0.763/modules/Credits/pntemplates/credits_user_menu.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: credits_user_menu.htm,v 1.1 2004/12/04 17:27:38 markwest Exp $  *]-->
+<!--[*  $Id: credits_user_menu.htm 15019 2004-12-04 17:27:38Z markwest $  *]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_CREDITSTITLE"]--></h1>
 <div class="pn-menu">
diff -ruN 0.762/modules/Credits/pnuser.php 0.763/modules/Credits/pnuser.php
--- 0.762/modules/Credits/pnuser.php	2005-12-14 09:23:36.000000000 -0600
+++ 0.763/modules/Credits/pnuser.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnuser.php,v 1.32.2.1 2005/12/14 15:23:36 markwest Exp $
+// File: $Id: pnuser.php 17330 2005-12-14 15:23:48Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -38,7 +38,7 @@
  *
  * Lists Information and Credits for all User Modules.
  * @author Rob Brandt
- * @version $Revision: 1.32.2.1 $
+ * @version $Revision: 17330 $
  * @return HTML output string
  * @todo add support for user mods in system directory
  */
@@ -164,7 +164,7 @@
  *
  * Displays modules documentation
  * @author Rob Brandt
- * @version $Revision: 1.32.2.1 $
+ * @version $Revision: 17330 $
  * @return HTML output string
  * @todo add support for user mods in system directory
  * @todo template output
diff -ruN 0.762/modules/Credits/pnversion.php 0.763/modules/Credits/pnversion.php
--- 0.762/modules/Credits/pnversion.php	2005-06-03 06:04:01.000000000 -0500
+++ 0.763/modules/Credits/pnversion.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.6 2005/06/03 11:04:01 markwest Exp $
+// $Id: pnversion.php 16292 2005-06-03 11:04:01Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/Version.php 0.763/modules/Downloads/Version.php
--- 0.762/modules/Downloads/Version.php	2005-02-04 00:30:25.000000000 -0600
+++ 0.763/modules/Downloads/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.3 2005/02/04 06:30:25 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Downloads';
 $modversion['version'] = '1.31';
diff -ruN 0.762/modules/Downloads/admin.php 0.763/modules/Downloads/admin.php
--- 0.762/modules/Downloads/admin.php	2006-01-12 08:44:06.000000000 -0600
+++ 0.763/modules/Downloads/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.38 2006/01/12 14:44:06 larsneo Exp $
+// File: $Id: admin.php 19702 2006-08-16 20:27:49Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -1611,7 +1611,7 @@
                           " . $dbconn->DBTimestamp(time()) . ",
                          '" . pnVarPrepForStore($name) . "',
                          '" . pnVarPrepForStore($email) . "',
-                          " . pnVarPrepForStore($hits) . ",
+                         '" . (int)pnVarPrepForStore($hits) . "',
                          '" . pnVarPrepForStore($submitter) . "',
                          0,
                          0,
diff -ruN 0.762/modules/Downloads/dl-adddownload.php 0.763/modules/Downloads/dl-adddownload.php
--- 0.762/modules/Downloads/dl-adddownload.php	2005-03-08 15:07:03.000000000 -0600
+++ 0.763/modules/Downloads/dl-adddownload.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-adddownload.php,v 1.28 2005/03/08 21:07:03 larsneo Exp $
+// File: $Id: dl-adddownload.php 15951 2005-03-08 21:07:03Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-categories.php 0.763/modules/Downloads/dl-categories.php
--- 0.762/modules/Downloads/dl-categories.php	2005-12-15 15:22:00.000000000 -0600
+++ 0.763/modules/Downloads/dl-categories.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-categories.php,v 1.42 2005/12/15 21:22:00 larsneo Exp $
+// File: $Id: dl-categories.php 17336 2005-12-15 21:22:00Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-downloaddetails.php 0.763/modules/Downloads/dl-downloaddetails.php
--- 0.762/modules/Downloads/dl-downloaddetails.php	2005-02-22 07:29:15.000000000 -0600
+++ 0.763/modules/Downloads/dl-downloaddetails.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-downloaddetails.php,v 1.45 2005/02/22 13:29:15 jorg Exp $
+// File: $Id: dl-downloaddetails.php 19177 2006-06-01 12:47:52Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -499,6 +499,7 @@
     //$transfertitle = ereg_replace ("_", " ", $ttitle);
     //$displaytitle = $transfertitle;
     $displaytitle = displaytitle($lid);
+    $GLOBALS['info']['title'] = pnVarPrepForDisplay($displaytitle);
     $column = &$pntable['downloads_downloads_column'];
     $res =& $dbconn->Execute("SELECT $column[name], $column[email], $column[description],
                            $column[filesize], $column[version], $column[homepage]
diff -ruN 0.762/modules/Downloads/dl-downloadeditorial.php 0.763/modules/Downloads/dl-downloadeditorial.php
--- 0.762/modules/Downloads/dl-downloadeditorial.php	2005-02-04 00:30:25.000000000 -0600
+++ 0.763/modules/Downloads/dl-downloadeditorial.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-downloadeditorial.php,v 1.24 2005/02/04 06:30:25 jorg Exp $
+// File: $Id: dl-downloadeditorial.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-mostpopular.php 0.763/modules/Downloads/dl-mostpopular.php
--- 0.762/modules/Downloads/dl-mostpopular.php	2005-03-08 15:07:03.000000000 -0600
+++ 0.763/modules/Downloads/dl-mostpopular.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-mostpopular.php,v 1.21 2005/03/08 21:07:03 larsneo Exp $
+// File: $Id: dl-mostpopular.php 15951 2005-03-08 21:07:03Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-navigation.php 0.763/modules/Downloads/dl-navigation.php
--- 0.762/modules/Downloads/dl-navigation.php	2005-08-20 16:40:30.000000000 -0500
+++ 0.763/modules/Downloads/dl-navigation.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-navigation.php,v 1.39 2005/08/20 21:40:30 dabase Exp $
+// File: $Id: dl-navigation.php 19177 2006-06-01 12:47:52Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -55,6 +55,7 @@
 		include 'footer.php';
 	} else {
 		menu($maindownload);
+        $GLOBALS['info']['title'] = _DLOADPAGETITLE;
 		OpenTable();
 		// Main categories
 		echo '<h2>'._DOWNLOADSMAINCAT.'</h2>';
@@ -149,7 +150,7 @@
 	
 	OpenTable();
 	echo "<div style=\"text-align:center\"><h1>"._DLOADPAGETITLE."</h1>";
-	echo "<form action=\"modules.php\" method=\"post\" name=\""._UDOWNLOADS."\"><div>"
+	echo "<form action=\"modules.php\" method=\"post\" id=\"".str_replace(' ','_',_UDOWNLOADS)."\"><div>"
 		."\n<input type=\"hidden\" name=\"name\" value=\"".$GLOBALS['ModName']."\" />"
 		."\n<input type=\"hidden\" name=\"req\" value=\"search\" />"
 		."\n<input type=\"hidden\" name=\"query\" value=\"".pnVarPrepForDisplay($query)."\" />"
diff -ruN 0.762/modules/Downloads/dl-newdownloads.php 0.763/modules/Downloads/dl-newdownloads.php
--- 0.762/modules/Downloads/dl-newdownloads.php	2005-03-08 15:07:03.000000000 -0600
+++ 0.763/modules/Downloads/dl-newdownloads.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-newdownloads.php,v 1.23 2005/03/08 21:07:03 larsneo Exp $
+// File: $Id: dl-newdownloads.php 15951 2005-03-08 21:07:03Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-randomdownload.php 0.763/modules/Downloads/dl-randomdownload.php
--- 0.762/modules/Downloads/dl-randomdownload.php	2005-02-04 00:30:25.000000000 -0600
+++ 0.763/modules/Downloads/dl-randomdownload.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-randomdownload.php,v 1.16 2005/02/04 06:30:25 jorg Exp $
+// File: $Id: dl-randomdownload.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-rating.php 0.763/modules/Downloads/dl-rating.php
--- 0.762/modules/Downloads/dl-rating.php	2005-03-08 15:07:03.000000000 -0600
+++ 0.763/modules/Downloads/dl-rating.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-rating.php,v 1.32 2005/03/08 21:07:03 larsneo Exp $
+// File: $Id: dl-rating.php 15951 2005-03-08 21:07:03Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-search.php 0.763/modules/Downloads/dl-search.php
--- 0.762/modules/Downloads/dl-search.php	2005-07-09 13:45:24.000000000 -0500
+++ 0.763/modules/Downloads/dl-search.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-search.php,v 1.29 2005/07/09 18:45:24 markwest Exp $
+// File: $Id: dl-search.php 20181 2006-10-03 12:46:45Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -71,7 +71,8 @@
     $fullcountresult =& $dbconn->Execute("SELECT count(*) from $pntable[downloads_downloads]
                                      WHERE $column[title] LIKE '%".pnVarPrepForStore($query)."%'
                                        OR $column[description] LIKE '%".pnVarPrepForStore($query)."%' ");
-    $totalselecteddownloads = $fullcountresult->PO_RecordCount();
+    list($totalselecteddownloads) = $fullcountresult->fields;
+    
     $resultx =& $dbconn->Execute("SELECT * FROM ".$pntable['downloads_subcategories'].
                                " WHERE ".$pntable['downloads_subcategories_column']['title']." LIKE '%".pnVarPrepForStore($query).
                                "%' ORDER BY ".$pntable['downloads_subcategories_column']['title']." DESC");
diff -ruN 0.762/modules/Downloads/dl-toprated.php 0.763/modules/Downloads/dl-toprated.php
--- 0.762/modules/Downloads/dl-toprated.php	2005-03-08 15:07:03.000000000 -0600
+++ 0.763/modules/Downloads/dl-toprated.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-toprated.php,v 1.23 2005/03/08 21:07:03 larsneo Exp $
+// File: $Id: dl-toprated.php 15951 2005-03-08 21:07:03Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-util.php 0.763/modules/Downloads/dl-util.php
--- 0.762/modules/Downloads/dl-util.php	2005-03-08 15:07:03.000000000 -0600
+++ 0.763/modules/Downloads/dl-util.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-util.php,v 1.40 2005/03/08 21:07:03 larsneo Exp $
+// File: $Id: dl-util.php 15951 2005-03-08 21:07:03Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/dl-viewdownload.php 0.763/modules/Downloads/dl-viewdownload.php
--- 0.762/modules/Downloads/dl-viewdownload.php	2005-06-08 15:26:43.000000000 -0500
+++ 0.763/modules/Downloads/dl-viewdownload.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: dl-viewdownload.php,v 1.41 2005/06/08 20:26:43 larsneo Exp $
+// File: $Id: dl-viewdownload.php 19177 2006-06-01 12:47:52Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -74,6 +74,7 @@
                             " WHERE ".$pntable['downloads_categories_column']['cid']."='".(int)pnVarPrepForStore($cid)."'");
 
     list($title) = $result->fields;
+    $GLOBALS['info']['title'] = pnVarPrepForDisplay($title);
     echo '<div style="text-align:center"><h2>'._CATEGORY.": ".pnVarPrepForDisplay($title).'</h2>';
     $carrytitle = $title;
     $column = &$pntable['downloads_subcategories_column'];
@@ -207,7 +208,7 @@
     }
 
     OpenTable();
-
+    $GLOBALS['info']['title'] = pnVarPrepForDisplay($stitle);
     echo "<div style=\"text-align:center\"><h2><a href=\"".$GLOBALS['modurl']."\">"._MAIN."</a> / <a href=\"".$GLOBALS['modurl']."&amp;req=viewdownload&amp;cid=$cid\">".pnVarPrepForDisplay($title)."</a> / ".pnVarPrepForDisplay($stitle)."</h2>";
     $orderbyTrans = convertorderbytrans($orderby);
 
diff -ruN 0.762/modules/Downloads/index.php 0.763/modules/Downloads/index.php
--- 0.762/modules/Downloads/index.php	2005-02-22 07:30:40.000000000 -0600
+++ 0.763/modules/Downloads/index.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: index.php,v 1.14 2005/02/22 13:30:40 jorg Exp $
+// $Id: index.php 15830 2005-02-22 13:30:40Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Downloads/lang/eng/manual.html 0.763/modules/Downloads/lang/eng/manual.html
--- 0.762/modules/Downloads/lang/eng/manual.html	2002-09-15 17:26:15.000000000 -0500
+++ 0.763/modules/Downloads/lang/eng/manual.html	2006-10-17 16:24:07.000000000 -0500
@@ -39,7 +39,7 @@
 <body>
 <table class="main" cellpadding=4 cellspacing=1>
     <tr class="help-topic">
-	<td class="help-topic"><img src=../../../images/global/manual.jpg border=0></td>
+	<td class="help-topic"><img src=../../../../images/global/manual.jpg border=0></td>
 	<td class="help-topic">Downloads</td>
     </tr>
     <tr>
diff -ruN 0.762/modules/Downloads/pninit.php 0.763/modules/Downloads/pninit.php
--- 0.762/modules/Downloads/pninit.php	2005-02-19 11:07:40.000000000 -0600
+++ 0.763/modules/Downloads/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.1 2005/02/19 17:07:40 markwest Exp $ $Name:  $
+// $Id: pninit.php 15748 2005-02-19 17:07:40Z markwest $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ephemerids/pnadmin.php 0.763/modules/Ephemerids/pnadmin.php
--- 0.762/modules/Ephemerids/pnadmin.php	2006-01-12 07:27:08.000000000 -0600
+++ 0.763/modules/Ephemerids/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.24.2.1 2006/01/12 13:27:08 markwest Exp $
+// $Id: pnadmin.php 17526 2006-01-12 13:30:37Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ephemerids/pnadminapi.php 0.763/modules/Ephemerids/pnadminapi.php
--- 0.762/modules/Ephemerids/pnadminapi.php	2005-08-15 05:24:30.000000000 -0500
+++ 0.763/modules/Ephemerids/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.14 2005/08/15 10:24:30 landseer Exp $
+// $Id: pnadminapi.php 16639 2005-08-15 10:24:30Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ephemerids/pnblocks/ephem.php 0.763/modules/Ephemerids/pnblocks/ephem.php
--- 0.762/modules/Ephemerids/pnblocks/ephem.php	2005-02-04 00:35:36.000000000 -0600
+++ 0.763/modules/Ephemerids/pnblocks/ephem.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: ephem.php,v 1.9 2005/02/04 06:35:36 jorg Exp $
+// File: $Id: ephem.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ephemerids/pninit.php 0.763/modules/Ephemerids/pninit.php
--- 0.762/modules/Ephemerids/pninit.php	2005-02-19 13:53:55.000000000 -0600
+++ 0.763/modules/Ephemerids/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.13 2005/02/19 19:53:55 markwest Exp $
+// $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ephemerids/pntables.php 0.763/modules/Ephemerids/pntables.php
--- 0.762/modules/Ephemerids/pntables.php	2005-02-04 00:35:37.000000000 -0600
+++ 0.763/modules/Ephemerids/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pntables.php,v 1.8 2005/02/04 06:35:37 jorg Exp $
+// File: $Id: pntables.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_delete.htm 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_delete.htm
--- 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_delete.htm	2005-01-19 05:51:24.000000000 -0600
+++ 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_delete.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ephemerids_admin_delete.htm,v 1.2 2005/01/19 11:51:24 markwest Exp $  *]-->
+<!--[*  $Id: ephemerids_admin_delete.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="ephemerids_admin_menu.htm"]-->
 <h2><!--[pnml name="_EPHEMERIDSDELETE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Ephemerids" type="admin" func="delete"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_main.htm 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_main.htm
--- 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_main.htm	2004-12-14 04:55:21.000000000 -0600
+++ 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: ephemerids_admin_main.htm,v 1.2 2004/12/14 10:55:21 markwest Exp $  *]-->
+<!--[*  $Id: ephemerids_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=Ephemerids type=admin func=view]-->
\ No newline at end of file
diff -ruN 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_menu.htm 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_menu.htm
--- 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_menu.htm	2005-01-19 07:06:44.000000000 -0600
+++ 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ephemerids_admin_menu.htm,v 1.3 2005/01/19 13:06:44 landseer Exp $  *]-->
+<!--[*  $Id: ephemerids_admin_menu.htm 15415 2005-01-19 13:14:01Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_EPHEMERIDS"]--></h1>
diff -ruN 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_modify.htm 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_modify.htm
--- 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_modify.htm	2005-01-19 05:51:24.000000000 -0600
+++ 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_modify.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ephemerids_admin_modify.htm,v 1.2 2005/01/19 11:51:24 markwest Exp $  *]-->
+<!--[*  $Id: ephemerids_admin_modify.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="ephemerids_admin_menu.htm"]-->
 <h2><!--[pnml name="_EPHEMERIDSUPDATE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Ephemerids" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_modifyconfig.htm 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_modifyconfig.htm
--- 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_modifyconfig.htm	2005-01-19 05:51:24.000000000 -0600
+++ 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ephemerids_admin_modifyconfig.htm,v 1.2 2005/01/19 11:51:24 markwest Exp $  *]-->
+<!--[*  $Id: ephemerids_admin_modifyconfig.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="ephemerids_admin_menu.htm"]-->
 <h2><!--[pnml name="_EPHEMERIDSMODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Ephemerids" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_new.htm 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_new.htm
--- 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_new.htm	2005-01-19 05:51:24.000000000 -0600
+++ 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_new.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ephemerids_admin_new.htm,v 1.2 2005/01/19 11:51:24 markwest Exp $  *]-->
+<!--[*  $Id: ephemerids_admin_new.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="ephemerids_admin_menu.htm"]-->
 <h2><!--[pnml name="_EPHEMERIDSADD"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Ephemerids" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_view.htm 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_view.htm
--- 0.762/modules/Ephemerids/pntemplates/ephemerids_admin_view.htm	2004-12-14 04:56:42.000000000 -0600
+++ 0.763/modules/Ephemerids/pntemplates/ephemerids_admin_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ephemerids_admin_view.htm,v 1.2 2004/12/14 10:56:42 markwest Exp $  *]-->
+<!--[*  $Id: ephemerids_admin_view.htm 15154 2004-12-14 10:56:42Z markwest $  *]-->
 <!--[include file="ephemerids_admin_menu.htm"]-->
 <h2><!--[pnml name="_EPHEMERIDSVIEW"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/Ephemerids/pntemplates/ephemerids_block_ephem.htm 0.763/modules/Ephemerids/pntemplates/ephemerids_block_ephem.htm
--- 0.762/modules/Ephemerids/pntemplates/ephemerids_block_ephem.htm	2004-12-05 06:27:48.000000000 -0600
+++ 0.763/modules/Ephemerids/pntemplates/ephemerids_block_ephem.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ephemerids_block_ephem.htm,v 1.1 2004/12/05 12:27:48 markwest Exp $  *]-->
+<!--[*  $Id: ephemerids_block_ephem.htm 15027 2004-12-05 12:27:48Z markwest $  *]-->
 <h4><!--[pnml name="_ONEDAY"]--></h4>
 <!--[section name=ephemerids loop=$items]-->
 <p><strong><!--[$items[ephemerids].year|pnvarprepfordisplay]--></strong></p>
diff -ruN 0.762/modules/Ephemerids/pntemplates/plugins/function.ephemeridsadminlinks.php 0.763/modules/Ephemerids/pntemplates/plugins/function.ephemeridsadminlinks.php
--- 0.762/modules/Ephemerids/pntemplates/plugins/function.ephemeridsadminlinks.php	2004-07-16 14:06:57.000000000 -0500
+++ 0.763/modules/Ephemerids/pntemplates/plugins/function.ephemeridsadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.ephemeridsadminlinks.php,v 1.6 2004/07/16 19:06:57 markwest Exp $
+// $Id: function.ephemeridsadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_Content_Modules
  * @subpackage   Ephemerids
- * @version      $Id: function.ephemeridsadminlinks.php,v 1.6 2004/07/16 19:06:57 markwest Exp $
+ * @version      $Id: function.ephemeridsadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Ephemerids/pnuserapi.php 0.763/modules/Ephemerids/pnuserapi.php
--- 0.762/modules/Ephemerids/pnuserapi.php	2005-01-10 08:37:56.000000000 -0600
+++ 0.763/modules/Ephemerids/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.10 2005/01/10 14:37:56 markwest Exp $
+// $Id: pnuserapi.php 15323 2005-01-10 14:42:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ephemerids/pnversion.php 0.763/modules/Ephemerids/pnversion.php
--- 0.762/modules/Ephemerids/pnversion.php	2005-02-04 00:35:37.000000000 -0600
+++ 0.763/modules/Ephemerids/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.7 2005/02/04 06:35:37 jorg Exp $
+// $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Example/pnadmin.php 0.763/modules/Example/pnadmin.php
--- 0.762/modules/Example/pnadmin.php	2006-01-12 05:59:12.000000000 -0600
+++ 0.763/modules/Example/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.33.2.2 2006/01/12 11:59:12 markwest Exp $
+// $Id: pnadmin.php 17505 2006-01-12 11:59:12Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -35,7 +35,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: pnadmin.php,v 1.33.2.2 2006/01/12 11:59:12 markwest Exp $
+ * @version      $Id: pnadmin.php 17505 2006-01-12 11:59:12Z markwest $
  * @author       Jim McDonald
  * @author       The PostNuke Development Team
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Example/pnadminapi.php 0.763/modules/Example/pnadminapi.php
--- 0.762/modules/Example/pnadminapi.php	2005-01-26 04:12:08.000000000 -0600
+++ 0.763/modules/Example/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.20 2005/01/26 10:12:08 markwest Exp $
+// $Id: pnadminapi.php 15497 2005-01-26 10:12:09Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -36,7 +36,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: pnadminapi.php,v 1.20 2005/01/26 10:12:08 markwest Exp $
+ * @version      $Id: pnadminapi.php 15497 2005-01-26 10:12:09Z markwest $
  * @author       Jim McDonald
  * @author       Joerg Napp <jnapp@users.sourceforge.net>
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Example/pnblocks/first.php 0.763/modules/Example/pnblocks/first.php
--- 0.762/modules/Example/pnblocks/first.php	2005-01-10 08:42:23.000000000 -0600
+++ 0.763/modules/Example/pnblocks/first.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: first.php,v 1.11 2005/01/10 14:42:23 markwest Exp $
+// $Id: first.php 15323 2005-01-10 14:42:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -35,7 +35,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: first.php,v 1.11 2005/01/10 14:42:23 markwest Exp $
+ * @version      $Id: first.php 15323 2005-01-10 14:42:23Z markwest $
  * @author       Jim McDonald
  * @author       The PostNuke Development Team
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Example/pninit.php 0.763/modules/Example/pninit.php
--- 0.762/modules/Example/pninit.php	2005-08-09 07:22:08.000000000 -0500
+++ 0.763/modules/Example/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.20 2005/08/09 12:22:08 markwest Exp $
+// $Id: pninit.php 16621 2005-08-09 12:22:08Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -35,7 +35,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: pninit.php,v 1.20 2005/08/09 12:22:08 markwest Exp $
+ * @version      $Id: pninit.php 16621 2005-08-09 12:22:08Z markwest $
  * @author       Jim McDonald
  * @author       Joerg Napp <jnapp@users.sourceforge.net>
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Example/pnlang/eng/admin.php 0.763/modules/Example/pnlang/eng/admin.php
--- 0.762/modules/Example/pnlang/eng/admin.php	2005-07-03 14:15:40.000000000 -0500
+++ 0.763/modules/Example/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.20 2005/07/03 19:15:40 jorg Exp $
+// $Id: admin.php 16374 2005-07-03 19:15:40Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
 // ----------------------------------------------------------------------
 /**
  * @author       Jim McDonald
- * @version      $Revision: 1.20 $
+ * @version      $Revision: 16374 $
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Example/pnlang/eng/first.php 0.763/modules/Example/pnlang/eng/first.php
--- 0.762/modules/Example/pnlang/eng/first.php	2004-05-24 04:32:23.000000000 -0500
+++ 0.763/modules/Example/pnlang/eng/first.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: first.php,v 1.6 2004/05/24 09:32:23 markwest Exp $
+// $Id: first.php 13608 2004-05-24 09:32:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by The PostNuke Development Team.
@@ -28,7 +28,7 @@
 // ----------------------------------------------------------------------
 /**
  * @author       Jim McDonald
- * @version      $Revision: 1.6 $
+ * @version      $Revision: 13608 $
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Example/pnlang/eng/init.php 0.763/modules/Example/pnlang/eng/init.php
--- 0.762/modules/Example/pnlang/eng/init.php	2005-02-27 05:01:44.000000000 -0600
+++ 0.763/modules/Example/pnlang/eng/init.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// Generated: $Id: init.php,v 1.10 2005/02/27 11:01:44 landseer Exp $
+// Generated: $Id: init.php 19361 2006-07-03 14:57:57Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
@@ -29,7 +29,7 @@
 // ----------------------------------------------------------------------
 /**
   * @author       Jim McDonald
-  * @version      $Revision: 1.10 $
+  * @version      $Revision: 19361 $
   * @package      PostNuke_Miscellaneous_Modules
   * @subpackage   Example
   * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
@@ -37,7 +37,7 @@
 
 define('_EXAMPLEINIT', 'Installation of the Example module');
 define('_EXAMPLEINITWELCOME', 'Welcome to the installation process of the Example module<br />This is an example for the interactive module installation.<br />');
-define('_EXAMPLEINITCONTINUE', 'continue...');
+define('_EXAMPLEINITCONTINUE', 'Continue...');
 define('_EXAMPLEINITSTEP2', 'Basic settings of the Example module');
 define('_EXAMPLEINITSTEP3', 'Final step of installation');
 define('_EXAMPLEINITBOLD',   'Display item names in bold');
diff -ruN 0.762/modules/Example/pnlang/eng/pnblocks.php 0.763/modules/Example/pnlang/eng/pnblocks.php
--- 0.762/modules/Example/pnlang/eng/pnblocks.php	2004-05-24 04:32:23.000000000 -0500
+++ 0.763/modules/Example/pnlang/eng/pnblocks.php	2006-10-17 16:24:08.000000000 -0500
@@ -29,7 +29,7 @@
 // ----------------------------------------------------------------------
 /**
    * @author       Jim McDonald
-  * @version      $Revision: 1.5 $
+  * @version      $Revision: 13608 $
    * @package      PostNuke_Miscellaneous_Modules
    * @subpackage   Example
    * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Example/pnlang/eng/user.php 0.763/modules/Example/pnlang/eng/user.php
--- 0.762/modules/Example/pnlang/eng/user.php	2004-05-24 04:32:23.000000000 -0500
+++ 0.763/modules/Example/pnlang/eng/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: user.php,v 1.7 2004/05/24 09:32:23 markwest Exp $
+// $Id: user.php 13608 2004-05-24 09:32:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by The PostNuke Development Team.
@@ -28,7 +28,7 @@
 // ----------------------------------------------------------------------
 /**
     * @author       Jim McDonald
- * @version      $Revision: 1.7 $
+ * @version      $Revision: 13608 $
     * @package      PostNuke_Miscellaneous_Modules
     * @subpackage   Example
     * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Example/pnlang/eng/userapi.php 0.763/modules/Example/pnlang/eng/userapi.php
--- 0.762/modules/Example/pnlang/eng/userapi.php	2004-05-24 04:32:23.000000000 -0500
+++ 0.763/modules/Example/pnlang/eng/userapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: userapi.php,v 1.5 2004/05/24 09:32:23 markwest Exp $
+// $Id: userapi.php 13608 2004-05-24 09:32:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
@@ -28,7 +28,7 @@
 // ----------------------------------------------------------------------
 /**
      * @author       Jim McDonald
- * @version      $Revision: 1.5 $
+ * @version      $Revision: 13608 $
      * @package      PostNuke_Miscellaneous_Modules
      * @subpackage   Example
      * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Example/pnlang/eng/version.php 0.763/modules/Example/pnlang/eng/version.php
--- 0.762/modules/Example/pnlang/eng/version.php	2005-02-27 05:01:02.000000000 -0600
+++ 0.763/modules/Example/pnlang/eng/version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// Generated: $Id: version.php,v 1.1 2005/02/27 11:01:02 landseer Exp $
+// Generated: $Id: version.php 15870 2005-02-27 11:01:02Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
@@ -29,7 +29,7 @@
 // ----------------------------------------------------------------------
 /**
   * @author       Frank Schummertz [landseer]
-  * @version      $Revision: 1.1 $
+  * @version      $Revision: 15870 $
   * @package      PostNuke_Miscellaneous_Modules
   * @subpackage   Example
   * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Example/pntables.php 0.763/modules/Example/pntables.php
--- 0.762/modules/Example/pntables.php	2004-09-29 08:19:15.000000000 -0500
+++ 0.763/modules/Example/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.10 2004/09/29 13:19:15 markwest Exp $
+// $Id: pntables.php 14662 2004-09-29 13:19:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -35,7 +35,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: pntables.php,v 1.10 2004/09/29 13:19:15 markwest Exp $
+ * @version      $Id: pntables.php 14662 2004-09-29 13:19:15Z markwest $
  * @author       Jim McDonald
  * @author       Joerg Napp <jnapp@users.sourceforge.net>
  * @link         http://www.postnuke.com  The PostNuke Home Page
@@ -52,7 +52,7 @@
  * It can be loaded explicitly using the pnModDBInfoLoad() API function.
  *
  * @author       Jim McDonald
- * @version      $Revision: 1.10 $
+ * @version      $Revision: 14662 $
  * @return       array       The table information.
  */
 function Example_pntables()
diff -ruN 0.762/modules/Example/pntemplates/example_admin_delete.htm 0.763/modules/Example/pntemplates/example_admin_delete.htm
--- 0.762/modules/Example/pntemplates/example_admin_delete.htm	2005-01-26 04:03:25.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_admin_delete.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_admin_delete.htm,v 1.10 2005/01/26 10:03:25 markwest Exp $  *]-->
+<!--[*  $Id: example_admin_delete.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <!--[include file="example_admin_menu.htm"]-->
 <h2><!--[pnml name="_EXAMPLEDELETE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Example" type="admin" func="delete"]-->" method="post" enctype="application/x-www-form-urlencoded">
@@ -7,10 +7,11 @@
     <input type="hidden" name="confirmation" value="1" />
     <input type="hidden" name="tid" value="<!--[$tid|pnvarprepfordisplay]-->" />
 	<div class="pn-adminformrow">
-		<label for="example_submit"><!--[pnml name="_CONFIRMDELETE"]--></label>
+		<p><!--[pnml name="_CONFIRMDELETE"]--></p>
+	</div>
+	<div class="pn-adminformrow">
 		<input id="example_submit" name="submit" type="submit" value="<!--[pnml name="_DELETE"]-->" />
 	</div>
-	<div style="clear:both"></div>
 </div>
 </form>
 <a href="<!--[pnmodurl modname="Example" type="admin" func="view"]-->"><!--[pnml name="_CANCELDELETE"]--></a>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_admin_main.htm 0.763/modules/Example/pntemplates/example_admin_main.htm
--- 0.762/modules/Example/pntemplates/example_admin_main.htm	2004-12-14 04:57:37.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: example_admin_main.htm,v 1.3 2004/12/14 10:57:37 markwest Exp $  *]-->
+<!--[*  $Id: example_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=Example type=admin func=view]-->
diff -ruN 0.762/modules/Example/pntemplates/example_admin_menu.htm 0.763/modules/Example/pntemplates/example_admin_menu.htm
--- 0.762/modules/Example/pntemplates/example_admin_menu.htm	2005-01-19 05:32:47.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_admin_menu.htm,v 1.12 2005/01/19 11:32:47 landseer Exp $  *]-->
+<!--[*  $Id: example_admin_menu.htm 15408 2005-01-19 11:32:47Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_EXAMPLE"]--></h1>
diff -ruN 0.762/modules/Example/pntemplates/example_admin_modify.htm 0.763/modules/Example/pntemplates/example_admin_modify.htm
--- 0.762/modules/Example/pntemplates/example_admin_modify.htm	2005-01-26 04:03:25.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_admin_modify.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_admin_modify.htm,v 1.13 2005/01/26 10:03:25 markwest Exp $  *]-->
+<!--[*  $Id: example_admin_modify.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <!--[include file="example_admin_menu.htm"]-->
 <h2><!--[pnml name="_EXAMPLEEDIT"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Example" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
@@ -13,12 +13,9 @@
 		<label for="example_number"><!--[pnml name="_EXAMPLENUMBER"]--></label>
 		<input id="example_number" name="number" type="text" size="5" maxlength="5" value="<!--[$number|pnvarprepfordisplay]-->" />
 	</div>
-	<div class="pn-adminformrow">
-		<!--[pnmodcallhooks hookobject=item hookaction=modify hookid=$tid module=Example]-->
-	</div>
+    <!--[pnmodcallhooks hookobject=item hookaction=modify hookid=$tid module=Example]-->
 	<div class="pn-adminformrow">
 		<input name="submit" type="submit" value="<!--[pnml name="_UPDATE"]-->" />
 	</div>
-	<div style="clear:both"></div>
 </div>
 </form>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_admin_modifyconfig.htm 0.763/modules/Example/pntemplates/example_admin_modifyconfig.htm
--- 0.762/modules/Example/pntemplates/example_admin_modifyconfig.htm	2005-01-26 03:57:27.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_admin_modifyconfig.htm,v 1.11 2005/01/26 09:57:27 markwest Exp $  *]-->
+<!--[*  $Id: example_admin_modifyconfig.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <!--[include file="example_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Example" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
@@ -16,12 +16,9 @@
 		<label for="example_itemsperpage"><!--[pnml name="_EXAMPLEITEMSPERPAGE"]--></label>
 		<input id="example_itemsperpage" type="text" name="itemsperpage" size="3" value="<!--[$itemsperpage|pnvarprepfordisplay]-->" />
 	</div>
-	<div class="pn-adminformrow">
-		<!--[pnmodcallhooks hookobject="module" hookaction="modifyconfig" hookid="Example" module="Example"]-->
-	</div>
+	<!--[pnmodcallhooks hookobject="module" hookaction="modifyconfig" hookid="Example" module="Example"]-->
 	<div class="pn-adminformrow">
 	<input name="submit" type="submit" value="<!--[pnml name="_UPDATECONFIG"]-->" />
 	</div>
-	<div style="clear:both"></div>
 </div>
 </form>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_admin_new.htm 0.763/modules/Example/pntemplates/example_admin_new.htm
--- 0.762/modules/Example/pntemplates/example_admin_new.htm	2005-01-26 04:03:25.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_admin_new.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_admin_new.htm,v 1.11 2005/01/26 10:03:25 markwest Exp $  *]-->
+<!--[*  $Id: example_admin_new.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <!--[include file="example_admin_menu.htm"]-->
 <h2><!--[pnml name="_EXAMPLEADD"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Example" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
@@ -12,12 +12,9 @@
 		<label for="example_number"><!--[pnml name="_EXAMPLENUMBER"]--></label>
 		<input id="example_number" name="number" type="text" size="5" maxlength="5" />
 	</div>
-	<div class="pn-adminformrow">
-	  <!--[pnmodcallhooks hookobject=item hookaction=new module=Example]-->
-	</div>
+    <!--[pnmodcallhooks hookobject=item hookaction=new module=Example]-->
 	<div class="pn-adminformrow">
 		<input name="submit" type="submit" value="<!--[pnml name="_CREATE"]-->" />
 	</div>
-	<div style="clear:both"></div>
 </div>
 </form>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_admin_view.htm 0.763/modules/Example/pntemplates/example_admin_view.htm
--- 0.762/modules/Example/pntemplates/example_admin_view.htm	2005-01-26 04:16:13.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_admin_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_admin_view.htm,v 1.14 2005/01/26 10:16:13 markwest Exp $  *]-->
+<!--[*  $Id: example_admin_view.htm 15498 2005-01-26 10:16:13Z markwest $  *]-->
 <!--[include file="example_admin_menu.htm"]-->
 <h2><!--[pnml name="_EXAMPLEADMINVIEW"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/Example/pntemplates/example_block_first.htm 0.763/modules/Example/pntemplates/example_block_first.htm
--- 0.762/modules/Example/pntemplates/example_block_first.htm	2004-02-05 17:43:19.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_block_first.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_block_first.htm,v 1.4 2004/02/05 23:43:19 markwest Exp $  *]-->
+<!--[*  $Id: example_block_first.htm 12563 2004-02-05 23:53:52Z markwest $  *]-->
 <div style="text-align:center;">
 <!--[section name="items" loop=$items]-->
 <!--[if $items[items].url neq '']-->
diff -ruN 0.762/modules/Example/pntemplates/example_init_delete.htm 0.763/modules/Example/pntemplates/example_init_delete.htm
--- 0.762/modules/Example/pntemplates/example_init_delete.htm	2005-01-19 05:32:47.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_init_delete.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,9 +1,8 @@
-<!--[*  $Id: example_init_delete.htm,v 1.1 2005/01/19 11:32:47 landseer Exp $  *]-->
+<!--[*  $Id: example_init_delete.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <h2><!--[pnml name="_EXAMPLEDELETE"]--></h2>
-<br />
-<div style="text-align:center;">
-<!--[ pnml name='_EXAMPLEDELETETHANKS' html=1 ]--><br />
-<br />
-<a href="<!--[ pnmodurl modname=Modules type=admin func=remove authid=$authid ]-->" title="<!--[ pnml name='_EXAMPLEINITCONTINUE' ]-->"><!--[ pnml name='_EXAMPLEINITCONTINUE' ]--></a><br />
-<br />
-<a href="<!--[ pnmodurl modname=Modules type=admin func=view ]-->" title="<!--[ pnml name='_CANCEL' ]-->"><!--[ pnml name='_CANCEL' ]--></a><br /></div>
\ No newline at end of file
+<p style="text-align:center;"><!--[ pnml name='_EXAMPLEDELETETHANKS' html=1 ]--></p>
+<div style="text-align:center">
+[ 
+<a href="<!--[ pnmodurl modname=Modules type=admin func=remove authid=$authid ]-->" title="<!--[ pnml name='_EXAMPLEINITCONTINUE' ]-->"><!--[ pnml name='_EXAMPLEINITCONTINUE' ]--></a> | 
+<a href="<!--[ pnmodurl modname=Modules type=admin func=view ]-->" title="<!--[ pnml name='_CANCEL' ]-->"><!--[ pnml name='_CANCEL' ]--></a> ]
+</div>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_init_interactive.htm 0.763/modules/Example/pntemplates/example_init_interactive.htm
--- 0.762/modules/Example/pntemplates/example_init_interactive.htm	2005-01-19 05:32:47.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_init_interactive.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,8 +1,6 @@
-<!--[*  $Id: example_init_interactive.htm,v 1.1 2005/01/19 11:32:47 landseer Exp $  *]-->
+<!--[*  $Id: example_init_interactive.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <h2><!--[pnml name="_EXAMPLEINIT"]--></h2>
-<br />
 <div style="text-align:center;">
-<!--[ pnml name='_EXAMPLEINITWELCOME' html=1]--><br />
-<br />
+<p><!--[ pnml name='_EXAMPLEINITWELCOME' html=1]--></p>
 <a href="<!--[ pnmodurl modname=Example type=init func=step2 ]-->" title="<!--[ pnml name='_EXAMPLEINITCONTINUE' ]-->"><!--[ pnml name='_EXAMPLEINITCONTINUE' ]--></a>
 </div>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_init_step2.htm 0.763/modules/Example/pntemplates/example_init_step2.htm
--- 0.762/modules/Example/pntemplates/example_init_step2.htm	2005-04-04 13:48:46.000000000 -0500
+++ 0.763/modules/Example/pntemplates/example_init_step2.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,10 +1,7 @@
-<!--[*  $Id: example_init_step2.htm,v 1.3 2005/04/04 18:48:46 larsneo Exp $  *]-->
+<!--[*  $Id: example_init_step2.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <h2><!--[pnml name="_EXAMPLEINIT"]--></h2>
-<br />
 <div style="text-align:center;">
-<!--[ pnml name='_EXAMPLEINITSTEP2' html=1]--><br />
-<br />
-
+<p><!--[ pnml name='_EXAMPLEINITSTEP2' html=1]--></p>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Example" type="init" func="step2"]-->" method="post" enctype="application/x-www-form-urlencoded">
 <div>
 	<input type="hidden" name="authid" value="<!--[pnsecgenauthkey module="Example"]-->" />
@@ -23,7 +20,6 @@
 	<div class="pn-adminformrow">
 	<input name="submit" type="submit" value="<!--[pnml name="_SUBMIT"]-->" />
 	</div>
-	<div style="clear:both"></div>
 </div>
 </form>
 </div>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_init_step3.htm 0.763/modules/Example/pntemplates/example_init_step3.htm
--- 0.762/modules/Example/pntemplates/example_init_step3.htm	2005-01-19 05:32:47.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_init_step3.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,10 +1,7 @@
-<!--[*  $Id: example_init_step3.htm,v 1.1 2005/01/19 11:32:47 landseer Exp $  *]-->
+<!--[*  $Id: example_init_step3.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <h2><!--[pnml name="_EXAMPLEINIT"]--></h2>
-<br />
-<div style="text-align:center;">
-<!--[ pnml name='_EXAMPLEINITSTEP3' html=1]--><br />
-<br />
-<!--[ pnml name='_EXAMPLEINITTHANKS' html=1 ]--><br />
-<br />
+<p style="text-align:center"><!--[ pnml name='_EXAMPLEINITSTEP3' html=1]--></p>
+<p style="text-align:center"><!--[ pnml name='_EXAMPLEINITTHANKS' html=1 ]--></p>
+<div style="text-align:center">
 <a href="<!--[ pnmodurl modname=Modules type=admin func=initialise authid=$authid activate=$activate]-->" title="<!--[ pnml name='_EXAMPLEINITCONTINUE' ]-->"><!--[ pnml name='_EXAMPLEINITCONTINUE' ]--></a>
 </div>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_init_upgrade.htm 0.763/modules/Example/pntemplates/example_init_upgrade.htm
--- 0.762/modules/Example/pntemplates/example_init_upgrade.htm	2005-01-19 05:32:47.000000000 -0600
+++ 0.763/modules/Example/pntemplates/example_init_upgrade.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,9 +1,7 @@
-<!--[*  $Id: example_init_upgrade.htm,v 1.1 2005/01/19 11:32:47 landseer Exp $  *]-->
+<!--[*  $Id: example_init_upgrade.htm 19361 2006-07-03 14:57:57Z markwest $  *]-->
 <h2><!--[pnml name="_EXAMPLEUPGRADE"]--></h2>
-<br />
+<p style="text-align:center;"><!--[ pnml name='_EXAMPLEUPGRADEWELCOME' html=1 ]--></p>
 <div style="text-align:center;">
-<!--[ pnml name='_EXAMPLEUPGRADEWELCOME' html=1 ]--><br />
-<br />
-<a href="<!--[ pnmodurl modname=Modules type=admin func=upgrade authid=$authid ]-->" title="<!--[ pnml name='_EXAMPLEINITCONTINUE' ]-->"><!--[ pnml name='_EXAMPLEINITCONTINUE' ]--></a><br />
-<br />
-<a href="<!--[ pnmodurl modname=Modules type=admin func=view ]-->" title="<!--[ pnml name='_CANCEL' ]-->"><!--[ pnml name='_CANCEL' ]--></a><br /></div>
\ No newline at end of file
+[ <a href="<!--[ pnmodurl modname=Modules type=admin func=upgrade authid=$authid ]-->" title="<!--[ pnml name='_EXAMPLEINITCONTINUE' ]-->"><!--[ pnml name='_EXAMPLEINITCONTINUE' ]--></a> | 
+<a href="<!--[ pnmodurl modname=Modules type=admin func=view ]-->" title="<!--[ pnml name='_CANCEL' ]-->"><!--[ pnml name='_CANCEL' ]--></a> ]
+</div>
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_user_display.htm 0.763/modules/Example/pntemplates/example_user_display.htm
--- 0.762/modules/Example/pntemplates/example_user_display.htm	2005-06-03 06:38:35.000000000 -0500
+++ 0.763/modules/Example/pntemplates/example_user_display.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_user_display.htm,v 1.11 2005/06/03 11:38:35 markwest Exp $  *]-->
+<!--[*  $Id: example_user_display.htm 16295 2005-06-03 11:38:38Z markwest $  *]-->
 <!--[include file="example_user_menu.htm"]-->
 <div class="example_item">
 <!--[* Print the item name. Note the chaning of the modifiers. *]-->
diff -ruN 0.762/modules/Example/pntemplates/example_user_main.htm 0.763/modules/Example/pntemplates/example_user_main.htm
--- 0.762/modules/Example/pntemplates/example_user_main.htm	2003-09-25 07:42:23.000000000 -0500
+++ 0.763/modules/Example/pntemplates/example_user_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: example_user_main.htm,v 1.2 2003/09/25 12:42:23 jorg Exp $  *]-->
+<!--[*  $Id: example_user_main.htm 11499 2003-09-25 12:42:23Z jorg $  *]-->
 <!--[include file="example_user_menu.htm"]-->
diff -ruN 0.762/modules/Example/pntemplates/example_user_menu.htm 0.763/modules/Example/pntemplates/example_user_menu.htm
--- 0.762/modules/Example/pntemplates/example_user_menu.htm	2005-06-03 06:23:32.000000000 -0500
+++ 0.763/modules/Example/pntemplates/example_user_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_user_menu.htm,v 1.9 2005/06/03 11:23:32 markwest Exp $  *]-->
+<!--[*  $Id: example_user_menu.htm 16293 2005-06-03 11:23:32Z markwest $  *]-->
 <!--[pngetstatusmsg]-->
 <!--[pnml name="_EXAMPLE" assign=heading]-->
 <h2><!--[pnimg src="heading.gif" title=$heading alt=$heading]--></h2>
diff -ruN 0.762/modules/Example/pntemplates/example_user_row_overview.htm 0.763/modules/Example/pntemplates/example_user_row_overview.htm
--- 0.762/modules/Example/pntemplates/example_user_row_overview.htm	2005-06-03 06:38:35.000000000 -0500
+++ 0.763/modules/Example/pntemplates/example_user_row_overview.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_user_row_overview.htm,v 1.4 2005/06/03 11:38:35 markwest Exp $  *]-->
+<!--[*  $Id: example_user_row_overview.htm 16295 2005-06-03 11:38:38Z markwest $  *]-->
 
 <!--[* Note the use of the modifiers to apply hooks, censor and cleanup for HTML display   *]-->
 <!--[$itemname|pnmodcallhooks|pnvarprephtmldisplay|pnvarcensor]-->
\ No newline at end of file
diff -ruN 0.762/modules/Example/pntemplates/example_user_row_read.htm 0.763/modules/Example/pntemplates/example_user_row_read.htm
--- 0.762/modules/Example/pntemplates/example_user_row_read.htm	2005-06-03 06:38:35.000000000 -0500
+++ 0.763/modules/Example/pntemplates/example_user_row_read.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_user_row_read.htm,v 1.4 2005/06/03 11:38:35 markwest Exp $  *]-->
+<!--[*  $Id: example_user_row_read.htm 16295 2005-06-03 11:38:38Z markwest $  *]-->
 
 <!--[* Note the use of the pnmodurl function to build a URL to the detail pages           *]-->
 <!--[* and the use of the modifiers to apply hooks, censor and cleanup for HTML display   *]-->
diff -ruN 0.762/modules/Example/pntemplates/example_user_view.htm 0.763/modules/Example/pntemplates/example_user_view.htm
--- 0.762/modules/Example/pntemplates/example_user_view.htm	2005-06-03 06:38:35.000000000 -0500
+++ 0.763/modules/Example/pntemplates/example_user_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: example_user_view.htm,v 1.10 2005/06/03 11:38:35 markwest Exp $  *]-->
+<!--[*  $Id: example_user_view.htm 16295 2005-06-03 11:38:38Z markwest $  *]-->
 
 <!--[* Include a common menu to show at the header   *]-->
 <!--[include file="example_user_menu.htm"]-->
diff -ruN 0.762/modules/Example/pntemplates/plugins/function.exampleadminlinks.php 0.763/modules/Example/pntemplates/plugins/function.exampleadminlinks.php
--- 0.762/modules/Example/pntemplates/plugins/function.exampleadminlinks.php	2005-01-26 04:03:25.000000000 -0600
+++ 0.763/modules/Example/pntemplates/plugins/function.exampleadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.exampleadminlinks.php,v 1.7 2005/01/26 10:03:25 markwest Exp $
+// $Id: function.exampleadminlinks.php 15495 2005-01-26 10:03:25Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: function.exampleadminlinks.php,v 1.7 2005/01/26 10:03:25 markwest Exp $
+ * @version      $Id: function.exampleadminlinks.php 15495 2005-01-26 10:03:25Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Example/pntemplates/plugins/modifier.examplebold.php 0.763/modules/Example/pntemplates/plugins/modifier.examplebold.php
--- 0.762/modules/Example/pntemplates/plugins/modifier.examplebold.php	2004-05-24 08:49:17.000000000 -0500
+++ 0.763/modules/Example/pntemplates/plugins/modifier.examplebold.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.examplebold.php,v 1.5 2004/05/24 13:49:17 markwest Exp $
+// $Id: modifier.examplebold.php 13624 2004-05-24 13:49:17Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -32,7 +32,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: modifier.examplebold.php,v 1.5 2004/05/24 13:49:17 markwest Exp $
+ * @version      $Id: modifier.examplebold.php 13624 2004-05-24 13:49:17Z markwest $
  * @author       Joerg Napp 
  * @since        29. Sept. 2003
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Example/pnuser.php 0.763/modules/Example/pnuser.php
--- 0.762/modules/Example/pnuser.php	2005-08-28 08:16:31.000000000 -0500
+++ 0.763/modules/Example/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.19.2.1 2005/08/28 13:16:31 markwest Exp $
+// $Id: pnuser.php 16726 2005-08-28 13:16:31Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -34,7 +34,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: pnuser.php,v 1.19.2.1 2005/08/28 13:16:31 markwest Exp $
+ * @version      $Id: pnuser.php 16726 2005-08-28 13:16:31Z markwest $
  * @author       Jim McDonald
  * @author       The PostNuke Development Team
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Example/pnuserapi.php 0.763/modules/Example/pnuserapi.php
--- 0.762/modules/Example/pnuserapi.php	2004-09-18 16:30:28.000000000 -0500
+++ 0.763/modules/Example/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.15 2004/09/18 21:30:28 markwest Exp $
+// $Id: pnuserapi.php 14603 2004-09-18 21:30:28Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -35,7 +35,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: pnuserapi.php,v 1.15 2004/09/18 21:30:28 markwest Exp $
+ * @version      $Id: pnuserapi.php 14603 2004-09-18 21:30:28Z markwest $
  * @author       Jim McDonald
  * @author       Joerg Napp <jnapp@users.sourceforge.net>
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Example/pnversion.php 0.763/modules/Example/pnversion.php
--- 0.762/modules/Example/pnversion.php	2005-02-27 05:01:01.000000000 -0600
+++ 0.763/modules/Example/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.14 2005/02/27 11:01:01 landseer Exp $
+// $Id: pnversion.php 15870 2005-02-27 11:01:02Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -33,7 +33,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Example
- * @version      $Id: pnversion.php,v 1.14 2005/02/27 11:01:01 landseer Exp $
+ * @version      $Id: pnversion.php 15870 2005-02-27 11:01:02Z landseer $
  * @author       Jim McDonald
  * @author       Joerg Napp <jnapp@users.sourceforge.net>
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/FAQ/Version.php 0.763/modules/FAQ/Version.php
--- 0.762/modules/FAQ/Version.php	2005-02-04 00:30:27.000000000 -0600
+++ 0.763/modules/FAQ/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.4 2005/02/04 06:30:27 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'FAQ';
 $modversion['version'] = '1.11';
diff -ruN 0.762/modules/FAQ/admin.php 0.763/modules/FAQ/admin.php
--- 0.762/modules/FAQ/admin.php	2006-01-12 08:38:18.000000000 -0600
+++ 0.763/modules/FAQ/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.37 2006/01/12 14:38:18 larsneo Exp $
+// File: $Id: admin.php 17542 2006-01-12 14:38:18Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/FAQ/faq-categories.php 0.763/modules/FAQ/faq-categories.php
--- 0.762/modules/FAQ/faq-categories.php	2005-04-04 14:11:35.000000000 -0500
+++ 0.763/modules/FAQ/faq-categories.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: faq-categories.php,v 1.29 2005/04/04 19:11:35 larsneo Exp $
+// File: $Id: faq-categories.php 16066 2005-04-04 19:11:35Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/FAQ/index.php 0.763/modules/FAQ/index.php
--- 0.762/modules/FAQ/index.php	2006-02-09 07:40:06.000000000 -0600
+++ 0.763/modules/FAQ/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: index.php,v 1.59 2006/02/09 13:40:06 markwest Exp $
+// $Id: index.php 17854 2006-02-09 13:40:06Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/FAQ/lang/eng/manual.html 0.763/modules/FAQ/lang/eng/manual.html
--- 0.762/modules/FAQ/lang/eng/manual.html	2002-09-15 17:26:15.000000000 -0500
+++ 0.763/modules/FAQ/lang/eng/manual.html	2006-10-17 16:24:08.000000000 -0500
@@ -39,7 +39,7 @@
 <body>
 <table class="main" cellpadding=4 cellspacing=1>
     <tr class="help-topic">
-	<td class="help-topic"><img src=../../../images/global/manual.jpg border=0></td>
+	<td class="help-topic"><img src=../../../../images/global/manual.jpg border=0></td>
 	<td class="help-topic">FAQ Administration</td>
     </tr>
     <tr>
diff -ruN 0.762/modules/FAQ/pninit.php 0.763/modules/FAQ/pninit.php
--- 0.762/modules/FAQ/pninit.php	2005-02-19 11:10:42.000000000 -0600
+++ 0.763/modules/FAQ/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.1 2005/02/19 17:10:42 markwest Exp $ $Name:  $
+// $Id: pninit.php 15749 2005-02-19 17:10:42Z markwest $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Groups/pnadmin.php 0.763/modules/Groups/pnadmin.php
--- 0.762/modules/Groups/pnadmin.php	2006-01-12 07:03:22.000000000 -0600
+++ 0.763/modules/Groups/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.42.2.1 2006/01/12 13:03:22 markwest Exp $
+// $Id: pnadmin.php 17518 2006-01-12 13:03:22Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -41,7 +41,7 @@
  * designer feels should be the default function (often this is the
  * view() function)
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @return string HTML output string
  * @todo template output
  */
@@ -88,7 +88,7 @@
  * This is a standard function that is called whenever an administrator
  * wishes to create a new group
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @return string HTML output string
  * @todo template output
  */
@@ -115,7 +115,7 @@
  * This is a standard function that is called with the results of the
  * form supplied by groups admin_new() to create a new group
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @param string 'name' the name of the group to be created
  * @return bool true if group created succesfully, false otherwise
  */
@@ -189,7 +189,7 @@
  * This is a standard function that is called whenever an administrator
  * wishes to modify a current group item
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @param int 'gid' the id of the group to be modified
  * @param int 'objectid' generic object id mapped onto gid if present
  * @return string HTML output string
@@ -272,7 +272,7 @@
  * This is a standard function that is called with the results of the
  * form supplied by groups_admin_modify() to update a current group item
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @param int 'gid' the id of the group to be modified
  * @param int 'objectid' generic object id mapped onto gid if present
  * @param string 'name' the name of the group to be updated
@@ -362,7 +362,7 @@
  * other, so either or both can be used as seen appropriate by the module
  * developer
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @param int 'gid' the id of the item to be deleted
  * @param bool 'confirmation' confirmation that this item can be deleted
  * @param int 'objectid' generic object id mapped onto gid if present
@@ -497,7 +497,7 @@
  * View all groups
  * this function creates a tabular output of all group items in the module
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @return string HTML output string
  * @todo template output
  * @todo add pager for function
@@ -589,7 +589,7 @@
  * This is a standard function to display members of a group
  * @author Mark West
  * @link http://www.markwest.me.uk/
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @param int 'gid' the id of the group to list membership for
  * @param int 'objectid' generic object id mapped onto gid if present
  * @return string HTML output string
@@ -769,7 +769,7 @@
 /**
  * This is a standard function to add a user to a group
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @param int 'gid' the id of the group
  * @param mixed 'uid' the id of the user (int) or an array of userids
  * @return string true is user added succesfully, false otherwise
@@ -844,7 +844,7 @@
 /**
  * This is a standard function to add a user to a group
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @param int 'gid' the id of the group
  * @param int 'uid' the id of the user
  * @return string true is user added succesfully, false otherwise
@@ -907,7 +907,7 @@
  * This is a standard function to modify the configuration parameters of the
  * module
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @since 1.14
  * @return string HTML string
  */
@@ -949,7 +949,7 @@
  * This is a standard function to update the configuration parameters of the
  * module given the information passed back by the modification form
  * @author Mark West
- * @version $Revision: 1.42.2.1 $
+ * @version $Revision: 17518 $
  * @since 1.14
  * @return bool true
  */
diff -ruN 0.762/modules/Groups/pnadminapi.php 0.763/modules/Groups/pnadminapi.php
--- 0.762/modules/Groups/pnadminapi.php	2005-07-03 07:42:41.000000000 -0500
+++ 0.763/modules/Groups/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.19 2005/07/03 12:42:41 chestnut Exp $
+// $Id: pnadminapi.php 16371 2005-07-03 12:42:41Z chestnut $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Groups/pninit.php 0.763/modules/Groups/pninit.php
--- 0.762/modules/Groups/pninit.php	2005-02-19 13:55:07.000000000 -0600
+++ 0.763/modules/Groups/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.19 2005/02/19 19:55:07 markwest Exp $
+// $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Groups/pnlang/eng/admin.php 0.763/modules/Groups/pnlang/eng/admin.php
--- 0.762/modules/Groups/pnlang/eng/admin.php	2005-07-03 04:21:43.000000000 -0500
+++ 0.763/modules/Groups/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.12 2005/07/03 09:21:43 jorg Exp $
+// $Id: admin.php 16370 2005-07-03 09:21:43Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Groups/pnlang/eng/init.php 0.763/modules/Groups/pnlang/eng/init.php
--- 0.762/modules/Groups/pnlang/eng/init.php	2004-12-16 09:13:51.000000000 -0600
+++ 0.763/modules/Groups/pnlang/eng/init.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.4 2004/12/16 15:13:51 markwest Exp $
+// $Id: init.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Groups/pntables.php 0.763/modules/Groups/pntables.php
--- 0.762/modules/Groups/pntables.php	2004-04-22 07:20:38.000000000 -0500
+++ 0.763/modules/Groups/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.4 2004/04/22 12:20:38 drak Exp $
+// $Id: pntables.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Groups/pntemplates/groups_admin_delete.htm 0.763/modules/Groups/pntemplates/groups_admin_delete.htm
--- 0.762/modules/Groups/pntemplates/groups_admin_delete.htm	2005-01-19 05:43:28.000000000 -0600
+++ 0.763/modules/Groups/pntemplates/groups_admin_delete.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: groups_admin_delete.htm,v 1.2 2005/01/19 11:43:28 markwest Exp $  *]-->
+<!--[*  $Id: groups_admin_delete.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="groups_admin_menu.htm"]-->
 <h2><!--[pnml name="_GROUPSDELETE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Groups" type="admin" func="delete"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Groups/pntemplates/groups_admin_groupmembership.htm 0.763/modules/Groups/pntemplates/groups_admin_groupmembership.htm
--- 0.762/modules/Groups/pntemplates/groups_admin_groupmembership.htm	2005-07-03 04:21:43.000000000 -0500
+++ 0.763/modules/Groups/pntemplates/groups_admin_groupmembership.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: groups_admin_groupmembership.htm,v 1.5 2005/07/03 09:21:43 jorg Exp $  *]-->
+<!--[*  $Id: groups_admin_groupmembership.htm 16370 2005-07-03 09:21:43Z jorg $  *]-->
 <!--[include file="groups_admin_menu.htm"]-->
 <h2><!--[pnml name="_GROUPSMEMBERSHIP"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/Groups/pntemplates/groups_admin_main.htm 0.763/modules/Groups/pntemplates/groups_admin_main.htm
--- 0.762/modules/Groups/pntemplates/groups_admin_main.htm	2004-12-14 04:01:22.000000000 -0600
+++ 0.763/modules/Groups/pntemplates/groups_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: groups_admin_main.htm,v 1.2 2004/12/14 10:01:22 markwest Exp $  *]-->
+<!--[*  $Id: groups_admin_main.htm 15150 2004-12-14 10:02:34Z markwest $  *]-->
 <!--[pnmodfunc modname=Groups type=admin func=view]-->
\ No newline at end of file
diff -ruN 0.762/modules/Groups/pntemplates/groups_admin_menu.htm 0.763/modules/Groups/pntemplates/groups_admin_menu.htm
--- 0.762/modules/Groups/pntemplates/groups_admin_menu.htm	2005-01-19 06:55:19.000000000 -0600
+++ 0.763/modules/Groups/pntemplates/groups_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: groups_admin_menu.htm,v 1.3 2005/01/19 12:55:19 landseer Exp $  *]-->
+<!--[*  $Id: groups_admin_menu.htm 15411 2005-01-19 12:55:58Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_GROUPS"]--></h1>
diff -ruN 0.762/modules/Groups/pntemplates/groups_admin_modify.htm 0.763/modules/Groups/pntemplates/groups_admin_modify.htm
--- 0.762/modules/Groups/pntemplates/groups_admin_modify.htm	2005-07-24 17:24:55.000000000 -0500
+++ 0.763/modules/Groups/pntemplates/groups_admin_modify.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: groups_admin_modify.htm,v 1.3 2005/07/24 22:24:55 markwest Exp $  *]-->
+<!--[*  $Id: groups_admin_modify.htm 16496 2005-07-24 22:24:55Z markwest $  *]-->
 <!--[include file="groups_admin_menu.htm"]-->
 <h2><!--[pnml name="_GROUPSMODIFY"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Groups" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Groups/pntemplates/groups_admin_modifyconfig.htm 0.763/modules/Groups/pntemplates/groups_admin_modifyconfig.htm
--- 0.762/modules/Groups/pntemplates/groups_admin_modifyconfig.htm	2005-01-26 08:07:34.000000000 -0600
+++ 0.763/modules/Groups/pntemplates/groups_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: groups_admin_modifyconfig.htm,v 1.3 2005/01/26 14:07:34 landseer Exp $  *]-->
+<!--[*  $Id: groups_admin_modifyconfig.htm 15504 2005-01-26 14:07:34Z landseer $  *]-->
 <!--[include file="groups_admin_menu.htm"]-->
 <h2><!--[pnml name="_GROUPSMODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Groups" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Groups/pntemplates/groups_admin_new.htm 0.763/modules/Groups/pntemplates/groups_admin_new.htm
--- 0.762/modules/Groups/pntemplates/groups_admin_new.htm	2005-01-19 05:43:28.000000000 -0600
+++ 0.763/modules/Groups/pntemplates/groups_admin_new.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: groups_admin_new.htm,v 1.2 2005/01/19 11:43:28 markwest Exp $  *]-->
+<!--[*  $Id: groups_admin_new.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="groups_admin_menu.htm"]-->
 <h2><!--[pnml name="_GROUPSADD"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Groups" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Groups/pntemplates/groups_admin_view.htm 0.763/modules/Groups/pntemplates/groups_admin_view.htm
--- 0.762/modules/Groups/pntemplates/groups_admin_view.htm	2005-01-26 08:33:23.000000000 -0600
+++ 0.763/modules/Groups/pntemplates/groups_admin_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: groups_admin_view.htm,v 1.4 2005/01/26 14:33:23 landseer Exp $  *]-->
+<!--[*  $Id: groups_admin_view.htm 15506 2005-01-26 14:33:23Z landseer $  *]-->
 <!--[include file="groups_admin_menu.htm"]-->
 <h2><!--[pnml name="_GROUPSADMINVIEW"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/Groups/pntemplates/plugins/function.groupsadminlinks.php 0.763/modules/Groups/pntemplates/plugins/function.groupsadminlinks.php
--- 0.762/modules/Groups/pntemplates/plugins/function.groupsadminlinks.php	2004-07-16 10:09:26.000000000 -0500
+++ 0.763/modules/Groups/pntemplates/plugins/function.groupsadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.groupsadminlinks.php,v 1.5 2004/07/16 15:09:26 markwest Exp $
+// $Id: function.groupsadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Groups
- * @version      $Id: function.groupsadminlinks.php,v 1.5 2004/07/16 15:09:26 markwest Exp $
+ * @version      $Id: function.groupsadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Groups/pnuserapi.php 0.763/modules/Groups/pnuserapi.php
--- 0.762/modules/Groups/pnuserapi.php	2005-01-10 08:58:54.000000000 -0600
+++ 0.763/modules/Groups/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.15 2005/01/10 14:58:54 markwest Exp $
+// $Id: pnuserapi.php 15324 2005-01-10 15:11:12Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Groups/pnversion.php 0.763/modules/Groups/pnversion.php
--- 0.762/modules/Groups/pnversion.php	2005-02-04 00:35:10.000000000 -0600
+++ 0.763/modules/Groups/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: pnversion.php,v 1.7 2005/02/04 06:35:10 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Header_Footer/pninit.php 0.763/modules/Header_Footer/pninit.php
--- 0.762/modules/Header_Footer/pninit.php	2004-04-22 07:21:05.000000000 -0500
+++ 0.763/modules/Header_Footer/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.4 2004/04/22 12:21:05 drak Exp $
+// $Id: pninit.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Header_Footer/pnlang/eng/user.php 0.763/modules/Header_Footer/pnlang/eng/user.php
--- 0.762/modules/Header_Footer/pnlang/eng/user.php	2004-12-16 09:14:48.000000000 -0600
+++ 0.763/modules/Header_Footer/pnlang/eng/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: user.php,v 1.4 2004/12/16 15:14:48 markwest Exp $
+// $Id: user.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Header_Footer/pnuser.php 0.763/modules/Header_Footer/pnuser.php
--- 0.762/modules/Header_Footer/pnuser.php	2005-01-11 02:53:08.000000000 -0600
+++ 0.763/modules/Header_Footer/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.27 2005/01/11 08:53:08 markwest Exp $
+// $Id: pnuser.php 19281 2006-06-25 14:11:06Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -53,6 +53,11 @@
 {
     global $themesarein;
 
+    // check for the multisites module
+    if (pnModAvailable('Multisites')) {
+        require_once 'modules/Multisites/head.inc.php';
+    }
+
     // Create output object - this object will store all of our output so that
     // we can return it easily when required
     $pnRender =& new pnRender('Header_Footer');
diff -ruN 0.762/modules/Header_Footer/pnversion.php 0.763/modules/Header_Footer/pnversion.php
--- 0.762/modules/Header_Footer/pnversion.php	2005-02-04 00:35:10.000000000 -0600
+++ 0.763/modules/Header_Footer/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnversion.php,v 1.5 2005/02/04 06:35:10 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/LostPassword/user.php 0.763/modules/LostPassword/user.php
--- 0.762/modules/LostPassword/user.php	2005-04-25 04:59:26.000000000 -0500
+++ 0.763/modules/LostPassword/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: user.php,v 1.4 2005/04/25 09:59:26 chestnut Exp $
+// File: $Id: user.php 16146 2005-04-25 09:59:26Z chestnut $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/MailUsers/Version.php 0.763/modules/MailUsers/Version.php
--- 0.762/modules/MailUsers/Version.php	2005-02-04 00:30:28.000000000 -0600
+++ 0.763/modules/MailUsers/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: Version.php,v 1.2 2005/02/04 06:30:28 jorg Exp $
+// $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 $modversion['name'] = 'Mail Users Admin';
 $modversion['version'] = '1.3';
 $modversion['description'] = 'Mail all/individual users on your site.';
diff -ruN 0.762/modules/MailUsers/admin.php 0.763/modules/MailUsers/admin.php
--- 0.762/modules/MailUsers/admin.php	2006-01-13 17:24:58.000000000 -0600
+++ 0.763/modules/MailUsers/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?PHP
-// File: $Id: admin.php,v 1.11 2006/01/13 23:24:58 larsneo Exp $
+// File: $Id: admin.php 19348 2006-07-03 10:09:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -215,7 +215,7 @@
 			$status = pnModAPIFunc('Mailer', 'user', 'sendmessage',
 			          array('toaddress' => $from, 'toname' => $fromname, 'fromaddress' => $from, 'fromname' => $fromname,
 			                'bcc' => $email, 'subject' => $subject, 'body' => $message));
-			if (!$status) {
+			if (!$status !== true) {
 				pnSessionSetVar('errormsg', $status);
 			}
 		}
@@ -224,7 +224,7 @@
 		$status = pnModAPIFunc('Mailer', 'user', 'sendmessage',
 		          array('toaddress' => $useremail, 'toname' => $username, 'fromaddress' => $from, 'fromname' => $fromname,
 		                'subject' => $subject, 'body' => $message));
-		if (!$status) {
+		if (!$status !== true) {
 			pnSessionSetVar('errormsg', $status);
 		}
 	}
diff -ruN 0.762/modules/MailUsers/lang/eng/manual.html 0.763/modules/MailUsers/lang/eng/manual.html
--- 0.762/modules/MailUsers/lang/eng/manual.html	2004-11-27 13:05:11.000000000 -0600
+++ 0.763/modules/MailUsers/lang/eng/manual.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,6 +1,6 @@
 <html>
 <head>
-<title>Nuke Mail Users</title>
+<title>Mail Users</title>
 <style>
     body,td,div {
 	font-family : Verdana,Arial,Helvetica,sans-serif;
@@ -40,7 +40,7 @@
 <table class="main" cellpadding=4 cellspacing=1>
     <tr class="help-topic">
 	<td class="help-topic"><img src=../../../../images/global/manual.jpg border=0></td>
-	<td class="help-topic">Nuke Mail Users</td>
+	<td class="help-topic">Mail Users</td>
     </tr>
     <tr>
 	<td class="help-desc" colspan=2>
diff -ruN 0.762/modules/Mailer/pnadmin.php 0.763/modules/Mailer/pnadmin.php
--- 0.762/modules/Mailer/pnadmin.php	2006-01-12 07:08:28.000000000 -0600
+++ 0.763/modules/Mailer/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.23.2.1 2006/01/12 13:08:28 markwest Exp $
+// $Id: pnadmin.php 17521 2006-01-12 13:12:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Mailer/pnincludes/language/phpmailer.lang-fo.php 0.763/modules/Mailer/pnincludes/language/phpmailer.lang-fo.php
--- 0.762/modules/Mailer/pnincludes/language/phpmailer.lang-fo.php	2005-07-19 11:49:49.000000000 -0500
+++ 0.763/modules/Mailer/pnincludes/language/phpmailer.lang-fo.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,25 +1,25 @@
-<?php
-/**
- * PHPMailer language file.  
- * Faroese Version [language of the Faroe Islands, a Danish dominion]
- * This file created: 11-06-2004
- * Supplied by Dvur Srensen [www.profo-webdesign.dk]
- */
-
-$PHPMAILER_LANG = array();
-
-$PHPMAILER_LANG["provide_address"] = 'T skal uppgeva minst ' .
-                                     'mttakara-emailadressu(r).';
-$PHPMAILER_LANG["mailer_not_supported"] = ' er ikki supportera.';
-$PHPMAILER_LANG["execute"] = 'Kundi ikki tfra: ';
-$PHPMAILER_LANG["instantiate"] = 'Kuni ikki instantiera mail funktin.';
-$PHPMAILER_LANG["authenticate"] = 'SMTP feilur: Kundi ikki gkenna.';
-$PHPMAILER_LANG["from_failed"] = 'fylgjandi Fr/From adressa miseydnaist: ';
-$PHPMAILER_LANG["recipients_failed"] = 'SMTP Feilur: Fylgjandi ' .
-                                       'mttakarar miseydnaust: ';
-$PHPMAILER_LANG["data_not_accepted"] = 'SMTP feilur: Data ikki gkent.';
-$PHPMAILER_LANG["connect_host"] = 'SMTP feilur: Kundi ikki knta samband vi SMTP vert.';
-$PHPMAILER_LANG["file_access"] = 'Kundi ikki tilganga flu: ';
-$PHPMAILER_LANG["file_open"] = 'Flu feilur: Kundi ikki opna flu: ';
-$PHPMAILER_LANG["encoding"] = 'kend encoding: ';
-?>
+<?php
+/**
+ * PHPMailer language file.  
+ * Faroese Version [language of the Faroe Islands, a Danish dominion]
+ * This file created: 11-06-2004
+ * Supplied by Dvur Srensen [www.profo-webdesign.dk]
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG["provide_address"] = 'T skal uppgeva minst ' .
+                                     'mttakara-emailadressu(r).';
+$PHPMAILER_LANG["mailer_not_supported"] = ' er ikki supportera.';
+$PHPMAILER_LANG["execute"] = 'Kundi ikki tfra: ';
+$PHPMAILER_LANG["instantiate"] = 'Kuni ikki instantiera mail funktin.';
+$PHPMAILER_LANG["authenticate"] = 'SMTP feilur: Kundi ikki gkenna.';
+$PHPMAILER_LANG["from_failed"] = 'fylgjandi Fr/From adressa miseydnaist: ';
+$PHPMAILER_LANG["recipients_failed"] = 'SMTP Feilur: Fylgjandi ' .
+                                       'mttakarar miseydnaust: ';
+$PHPMAILER_LANG["data_not_accepted"] = 'SMTP feilur: Data ikki gkent.';
+$PHPMAILER_LANG["connect_host"] = 'SMTP feilur: Kundi ikki knta samband vi SMTP vert.';
+$PHPMAILER_LANG["file_access"] = 'Kundi ikki tilganga flu: ';
+$PHPMAILER_LANG["file_open"] = 'Flu feilur: Kundi ikki opna flu: ';
+$PHPMAILER_LANG["encoding"] = 'kend encoding: ';
+?>
diff -ruN 0.762/modules/Mailer/pnincludes/language/phpmailer.lang-ru.php 0.763/modules/Mailer/pnincludes/language/phpmailer.lang-ru.php
--- 0.762/modules/Mailer/pnincludes/language/phpmailer.lang-ru.php	2005-07-19 11:49:49.000000000 -0500
+++ 0.763/modules/Mailer/pnincludes/language/phpmailer.lang-ru.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,23 +1,23 @@
-<?php
-/**
- * PHPMailer language file.  
- * Russian Version
- */
-
-$PHPMAILER_LANG = array();
-
-$PHPMAILER_LANG["provide_address"] = '    Email' .
-                                     '.';
-$PHPMAILER_LANG["mailer_not_supported"] = ' mailer  .';
-$PHPMAILER_LANG["execute"] = '   : ';
-$PHPMAILER_LANG["instantiate"] = '    Mail .';
-$PHPMAILER_LANG["authenticate"] = 'SMTP :  .';
-$PHPMAILER_LANG["from_failed"] = '  : ';
-$PHPMAILER_LANG["recipients_failed"] = 'SMTP :  ' .
-                                       '  : ';
-$PHPMAILER_LANG["data_not_accepted"] = 'SMTP :    .';
-$PHPMAILER_LANG["connect_host"] = 'SMTP : SMTP-Host .';
-$PHPMAILER_LANG["file_access"] = '      : ';
-$PHPMAILER_LANG["file_open"] = '   : ';
-$PHPMAILER_LANG["encoding"] = '  : ';
-?>
+<?php
+/**
+ * PHPMailer language file.  
+ * Russian Version
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG["provide_address"] = '    Email' .
+                                     '.';
+$PHPMAILER_LANG["mailer_not_supported"] = ' mailer  .';
+$PHPMAILER_LANG["execute"] = '   : ';
+$PHPMAILER_LANG["instantiate"] = '    Mail .';
+$PHPMAILER_LANG["authenticate"] = 'SMTP :  .';
+$PHPMAILER_LANG["from_failed"] = '  : ';
+$PHPMAILER_LANG["recipients_failed"] = 'SMTP :  ' .
+                                       '  : ';
+$PHPMAILER_LANG["data_not_accepted"] = 'SMTP :    .';
+$PHPMAILER_LANG["connect_host"] = 'SMTP : SMTP-Host .';
+$PHPMAILER_LANG["file_access"] = '      : ';
+$PHPMAILER_LANG["file_open"] = '   : ';
+$PHPMAILER_LANG["encoding"] = '  : ';
+?>
diff -ruN 0.762/modules/Mailer/pninit.php 0.763/modules/Mailer/pninit.php
--- 0.762/modules/Mailer/pninit.php	2005-01-10 09:02:58.000000000 -0600
+++ 0.763/modules/Mailer/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.7 2005/01/10 15:02:58 markwest Exp $
+// $Id: pninit.php 15324 2005-01-10 15:11:12Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Mailer/pnlang/eng/admin.php 0.763/modules/Mailer/pnlang/eng/admin.php
--- 0.762/modules/Mailer/pnlang/eng/admin.php	2004-12-16 09:19:29.000000000 -0600
+++ 0.763/modules/Mailer/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.10 2004/12/16 15:19:29 markwest Exp $
+// $Id: admin.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Mailer/pntemplates/mailer_admin_main.htm 0.763/modules/Mailer/pntemplates/mailer_admin_main.htm
--- 0.762/modules/Mailer/pntemplates/mailer_admin_main.htm	2004-12-14 04:02:34.000000000 -0600
+++ 0.763/modules/Mailer/pntemplates/mailer_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: mailer_admin_main.htm,v 1.2 2004/12/14 10:02:34 markwest Exp $  *]-->
+<!--[*  $Id: mailer_admin_main.htm 15150 2004-12-14 10:02:34Z markwest $  *]-->
 <!--[pnmodfunc modname=Mailer type=admin func=modifyconfig]-->
\ No newline at end of file
diff -ruN 0.762/modules/Mailer/pntemplates/mailer_admin_menu.htm 0.763/modules/Mailer/pntemplates/mailer_admin_menu.htm
--- 0.762/modules/Mailer/pntemplates/mailer_admin_menu.htm	2005-01-19 06:55:38.000000000 -0600
+++ 0.763/modules/Mailer/pntemplates/mailer_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: mailer_admin_menu.htm,v 1.3 2005/01/19 12:55:38 landseer Exp $  *]-->
+<!--[*  $Id: mailer_admin_menu.htm 15411 2005-01-19 12:55:58Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_MAILER"]--></h1>
diff -ruN 0.762/modules/Mailer/pntemplates/mailer_admin_modifyconfig.htm 0.763/modules/Mailer/pntemplates/mailer_admin_modifyconfig.htm
--- 0.762/modules/Mailer/pntemplates/mailer_admin_modifyconfig.htm	2005-04-08 06:25:04.000000000 -0500
+++ 0.763/modules/Mailer/pntemplates/mailer_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: mailer_admin_modifyconfig.htm,v 1.3 2005/04/08 11:25:04 markwest Exp $  *]-->
+<!--[*  $Id: mailer_admin_modifyconfig.htm 16085 2005-04-08 11:25:04Z markwest $  *]-->
 <!--[include file="mailer_admin_menu.htm"]-->
 <h2><!--[pnml name="_MAILERMODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Mailer" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Mailer/pntemplates/mailer_admin_testconfig.htm 0.763/modules/Mailer/pntemplates/mailer_admin_testconfig.htm
--- 0.762/modules/Mailer/pntemplates/mailer_admin_testconfig.htm	2005-01-19 05:43:29.000000000 -0600
+++ 0.763/modules/Mailer/pntemplates/mailer_admin_testconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: mailer_admin_testconfig.htm,v 1.2 2005/01/19 11:43:29 markwest Exp $  *]-->
+<!--[*  $Id: mailer_admin_testconfig.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="mailer_admin_menu.htm"]-->
 <h2><!--[pnml name=_MAILERTESTCONFIG]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Mailer" type="admin" func="sendmessage"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Mailer/pntemplates/plugins/function.maileradminlinks.php 0.763/modules/Mailer/pntemplates/plugins/function.maileradminlinks.php
--- 0.762/modules/Mailer/pntemplates/plugins/function.maileradminlinks.php	2004-09-28 07:02:44.000000000 -0500
+++ 0.763/modules/Mailer/pntemplates/plugins/function.maileradminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.maileradminlinks.php,v 1.5 2004/09/28 12:02:44 markwest Exp $
+// $Id: function.maileradminlinks.php 14655 2004-09-28 12:02:44Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Mailer
- * @version      $Id: function.maileradminlinks.php,v 1.5 2004/09/28 12:02:44 markwest Exp $
+ * @version      $Id: function.maileradminlinks.php 14655 2004-09-28 12:02:44Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Mailer/pnuserapi.php 0.763/modules/Mailer/pnuserapi.php
--- 0.762/modules/Mailer/pnuserapi.php	2005-08-13 17:12:45.000000000 -0500
+++ 0.763/modules/Mailer/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.24 2005/08/13 22:12:45 chestnut Exp $
+// $Id: pnuserapi.php 18049 2006-03-04 22:27:01Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -62,43 +62,43 @@
     $pnversion = pnConfigGetVar('Version_Num');
     // include php mailer class file
     if (strpos($pnversion, '0.8')===false) {
-      require_once('modules/Mailer/pnincludes/class.phpmailer.php');
-  } else {
-      require_once('system/Mailer/pnincludes/class.phpmailer.php');
-  }
+        require_once('modules/Mailer/pnincludes/class.phpmailer.php');
+    } else {
+        require_once('system/Mailer/pnincludes/class.phpmailer.php');
+    }
 
     // create new instance of mailer class
     $mail = new phpmailer();
 
     // set default message parameters
     if (strpos($pnversion, '0.8')===false) {
-      $mail->PluginDir = 'modules/Mailer/pnincludes/';
-  } else {
-      $mail->PluginDir = 'system/Mailer/pnincludes/';
+        $mail->PluginDir = 'modules/Mailer/pnincludes/';
+    } else {
+        $mail->PluginDir = 'system/Mailer/pnincludes/';
     }
-  $mail->ClearAllRecipients();
+    $mail->ClearAllRecipients();
     $mail->ContentType = pnModGetVar('Mailer', 'contenttype');
     $mail->CharSet = pnModGetVar('Mailer', 'charset');
     $mail->Encoding = pnModGetVar('Mailer', 'encoding');
     $mail->WordWrap = pnModGetVar('Mailer', 'wordwrap');
 
-  // load the language file
-  $mail->SetLanguage('en', $mail->PluginDir . 'language/');
+    // load the language file
+    $mail->SetLanguage('en', $mail->PluginDir . 'language/');
 
     // get MTA configuration
     if (pnModGetVar('Mailer', 'mailertype') == 4) {
         $mail->IsSMTP();  // set mailer to use SMTP
         $mail->Host = pnModGetVar('Mailer', 'smtpserver');  // specify server
-    $mail->Port = pnModGetVar('Mailer', 'smtpport');    // specify port
+        $mail->Port = pnModGetVar('Mailer', 'smtpport');    // specify port
     } else if (pnModGetVar('Mailer', 'mailertype') == 3) {
         $mail->IsQMail();  // set mailer to use QMail
         $mail->Host = pnModGetVar('Mailer', 'smtpserver');  // specify server
     } else if (pnModGetVar('Mailer', 'mailertype') == 2) {
         ini_set("sendmail_from", $from);
         $mail->IsSendMail();  // set mailer to use SendMail
-  } else {
+    } else {
         $mail->IsMail();  // set mailer to use php mail
-  }
+    }
 
     // set authentication paramters if required
     if (pnModGetVar('Mailer', 'smtpauth') == 1) {
@@ -108,81 +108,81 @@
     }
 
     // set HTML mail if required
-    if (isset($html)&&$html) {
-        $mail->IsHTML(true); // set email format to HTML
-  } else {
-        $mail->IsHTML(false); // set email format to text
-  }
+    if ((isset($html) && $html) || $mail->ContentType == 'text/html') {
+        $mail->IsHTML(true);  // set email format to HTML
+    } else {
+        $mail->IsHTML(false);  // set email format to plain text
+    }
 
     // set from address
     if (!isset($fromaddress)) {
-      $fromaddress = pnConfigGetVar('adminmail');
-  }
+        $fromaddress = pnConfigGetVar('adminmail');
+    }
     $mail->From = $fromaddress;
 
     // set from name
-  if (!isset($fromname)) {
+    if (!isset($fromname)) {
         $fromname = pnConfigGetVar('sitename');
-  }
+    }
     $mail->FromName = $fromname;
 
     // add to information
-  if (!isset($toname)) {
-    $toname = $toaddress;
-  }
+    if (!isset($toname)) {
+        $toname = $toaddress;
+    }
     $mail->AddAddress($toaddress, $toname);
     $mail->AddReplyTo($fromaddress, $fromname);
 
-  // add any cc addresses
-  if (isset($cc) && is_array($cc)) {
-    foreach ($cc as $email) {
-      if (isset($email['name'])) {
-        $mail->AddCC($email['address'], $email['name']);
-      } else {
-        $mail->AddCC($email['address']);
-      }
-    }
-  }
-
-  // add any bcc addresses
-  if (isset($bcc) && is_array($bcc)) {
-    foreach ($bcc as $email) {
-      if (isset($email['name'])) {
-        $mail->AddBCC($email['address'], $email['name']);
-      } else {
-        $mail->AddBCC($email['address']);
-      }
-    }
-  }
-
-  // add any custom headers
-  if (isset($headers) && is_string($headers)) {
-    $headers = explode ("\n", $headers);
-  }
-  if (isset($headers) && is_array($headers)) {
-    foreach ($headers as $header) {
-      $mail->AddCustomHeader($header);
+    // add any cc addresses
+    if (isset($cc) && is_array($cc)) {
+        foreach ($cc as $email) {
+            if (isset($email['name'])) {
+                $mail->AddCC($email['address'], $email['name']);
+            } else {
+                $mail->AddCC($email['address']);
+            }
+        }
+    }
+
+    // add any bcc addresses
+    if (isset($bcc) && is_array($bcc)) {
+        foreach ($bcc as $email) {
+            if (isset($email['name'])) {
+                $mail->AddBCC($email['address'], $email['name']);
+            } else {
+                $mail->AddBCC($email['address']);
+            }
+        }
+    }
+
+    // add any custom headers
+    if (isset($headers) && is_string($headers)) {
+        $headers = explode ("\n", $headers);
+    }
+    if (isset($headers) && is_array($headers)) {
+        foreach ($headers as $header) {
+            $mail->AddCustomHeader($header);
+        }
     }
-  }
 
-  // add message subject and body
+    // add message subject and body
     $mail->Subject = $subject;
     $mail->Body = $body;
 
     // add attachments
-  if (isset($attachments) && !empty($attachments)) {
-    foreach( $attachments as $attachment ) {
-      $mail->AddAttachment($attachment);
+    if (isset($attachments) && !empty($attachments)) {
+        foreach( $attachments as $attachment ) {
+            $mail->AddAttachment($attachment);
+        }
     }
-  }
 
     // send message
     if(!$mail->Send()) {
-    if ($mail->IsError()) {
-          return $mail->ErrorInfo; //message not sent and valid error generated
-    } else {
-      return false; // message not sent
-    }
+        if ($mail->IsError()) {
+            return $mail->ErrorInfo; //message not sent and valid error generated
+        } else {
+            return false; // message not sent
+        }
     }
     return true; //message sent
 }
diff -ruN 0.762/modules/Mailer/pnversion.php 0.763/modules/Mailer/pnversion.php
--- 0.762/modules/Mailer/pnversion.php	2005-02-04 00:35:11.000000000 -0600
+++ 0.763/modules/Mailer/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnversion.php,v 1.7 2005/02/04 06:35:11 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Members_List/pnadmin.php 0.763/modules/Members_List/pnadmin.php
--- 0.762/modules/Members_List/pnadmin.php	2006-01-12 07:30:58.000000000 -0600
+++ 0.763/modules/Members_List/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnadmin.php,v 1.21.2.1 2006/01/12 13:30:58 markwest Exp $
+// File: $Id: pnadmin.php 17527 2006-01-12 13:34:06Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Members_List/pninit.php 0.763/modules/Members_List/pninit.php
--- 0.762/modules/Members_List/pninit.php	2005-01-10 09:05:55.000000000 -0600
+++ 0.763/modules/Members_List/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.10 2005/01/10 15:05:55 markwest Exp $
+// $Id: pninit.php 15324 2005-01-10 15:11:12Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Members_List/pntemplates/memberslist_admin_main.htm 0.763/modules/Members_List/pntemplates/memberslist_admin_main.htm
--- 0.762/modules/Members_List/pntemplates/memberslist_admin_main.htm	2004-12-14 05:02:18.000000000 -0600
+++ 0.763/modules/Members_List/pntemplates/memberslist_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: memberslist_admin_main.htm,v 1.2 2004/12/14 11:02:18 markwest Exp $  *]-->
+<!--[*  $Id: memberslist_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=Members_List type=admin func=modifyconfig]-->
\ No newline at end of file
diff -ruN 0.762/modules/Members_List/pntemplates/memberslist_admin_menu.htm 0.763/modules/Members_List/pntemplates/memberslist_admin_menu.htm
--- 0.762/modules/Members_List/pntemplates/memberslist_admin_menu.htm	2005-01-19 07:09:56.000000000 -0600
+++ 0.763/modules/Members_List/pntemplates/memberslist_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: memberslist_admin_menu.htm,v 1.3 2005/01/19 13:09:56 landseer Exp $  *]-->
+<!--[*  $Id: memberslist_admin_menu.htm 15415 2005-01-19 13:14:01Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_MEMBERSLIST"]--></h1>
diff -ruN 0.762/modules/Members_List/pntemplates/memberslist_admin_modifyconfig.htm 0.763/modules/Members_List/pntemplates/memberslist_admin_modifyconfig.htm
--- 0.762/modules/Members_List/pntemplates/memberslist_admin_modifyconfig.htm	2005-03-07 05:08:21.000000000 -0600
+++ 0.763/modules/Members_List/pntemplates/memberslist_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: memberslist_admin_modifyconfig.htm,v 1.4 2005/03/07 11:08:21 markwest Exp $  *]-->
+<!--[*  $Id: memberslist_admin_modifyconfig.htm 15930 2005-03-07 11:08:21Z markwest $  *]-->
 <!--[include file="memberslist_admin_menu.htm"]-->
 <h2><!--[pnml name="_MEMBERSLISTEDITCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Members_List" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Members_List/pntemplates/memberslist_user_currentonline.htm 0.763/modules/Members_List/pntemplates/memberslist_user_currentonline.htm
--- 0.762/modules/Members_List/pntemplates/memberslist_user_currentonline.htm	2004-12-20 04:05:48.000000000 -0600
+++ 0.763/modules/Members_List/pntemplates/memberslist_user_currentonline.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: memberslist_user_currentonline.htm,v 1.2 2004/12/20 10:05:48 markwest Exp $  *]-->
+<!--[*  $Id: memberslist_user_currentonline.htm 15220 2004-12-20 10:05:48Z markwest $  *]-->
 <!--[include file="memberslist_user_menu.htm"]-->
 <h2><!--[pnml name=_MEMBERSLISTCURRENTONLINE]--></h2>
 <table class="memberslist-results">
diff -ruN 0.762/modules/Members_List/pntemplates/memberslist_user_view.htm 0.763/modules/Members_List/pntemplates/memberslist_user_view.htm
--- 0.762/modules/Members_List/pntemplates/memberslist_user_view.htm	2005-12-16 07:41:54.000000000 -0600
+++ 0.763/modules/Members_List/pntemplates/memberslist_user_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: memberslist_user_view.htm,v 1.7.2.1 2005/12/16 13:41:54 markwest Exp $  *]-->
+<!--[*  $Id: memberslist_user_view.htm 17969 2006-02-19 07:55:23Z landseer $  *]-->
 <!--[include file="memberslist_user_menu.htm"]-->
 <h2><!--[pnml name=_MEMBERSLISTVIEW]--></h2>
 <div class="memberslist-navmenu">
@@ -56,9 +56,9 @@
       </td>
 	  <!--[if $adminedit]-->
 	  <td>
-	  	[<a href="admin.php?module=User&amp;op=modifyUser&amp;chng_uid=<!--[$users[users].pn_uid]-->"><!--[pnml name=_EDIT]--></a>&nbsp;
+	  	[<a href="admin.php?module=User&amp;op=modifyUser&amp;chng_uname=<!--[$users[users].pn_uname]-->"><!--[pnml name=_EDIT]--></a>&nbsp;
 		<!--[if $admindelete]-->
-		|&nbsp;<a href="admin.php?module=User&amp;op=delUser&amp;chng_uid=<!--[$users[users].pn_uid]-->"><!--[pnml name=_DELETE]--></a>
+		|&nbsp;<a href="admin.php?module=User&amp;op=delUser&amp;chng_uname=<!--[$users[users].pn_uname]-->"><!--[pnml name=_DELETE]--></a>
 		<!--[/if]-->]
 	  </td>
 	  <!--[/if]-->
diff -ruN 0.762/modules/Members_List/pntemplates/memberslist_user_viewlast10.htm 0.763/modules/Members_List/pntemplates/memberslist_user_viewlast10.htm
--- 0.762/modules/Members_List/pntemplates/memberslist_user_viewlast10.htm	2005-12-16 07:41:54.000000000 -0600
+++ 0.763/modules/Members_List/pntemplates/memberslist_user_viewlast10.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: memberslist_user_viewlast10.htm,v 1.2.2.1 2005/12/16 13:41:54 markwest Exp $  *]-->
+<!--[*  $Id: memberslist_user_viewlast10.htm 17337 2005-12-16 13:41:54Z markwest $  *]-->
 <!--[include file="memberslist_user_menu.htm"]-->
 <h2><!--[pnml name="_MEMBERSLISTLAST10REG"]--></h2>
 <table class="memberslist-results">
diff -ruN 0.762/modules/Members_List/pntemplates/plugins/function.memberslistadminlinks.php 0.763/modules/Members_List/pntemplates/plugins/function.memberslistadminlinks.php
--- 0.762/modules/Members_List/pntemplates/plugins/function.memberslistadminlinks.php	2004-07-16 14:06:57.000000000 -0500
+++ 0.763/modules/Members_List/pntemplates/plugins/function.memberslistadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.memberslistadminlinks.php,v 1.2 2004/07/16 19:06:57 markwest Exp $
+// $Id: function.memberslistadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Members_List
- * @version      $Id: function.memberslistadminlinks.php,v 1.2 2004/07/16 19:06:57 markwest Exp $
+ * @version      $Id: function.memberslistadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Members_List/pnuser.php 0.763/modules/Members_List/pnuser.php
--- 0.762/modules/Members_List/pnuser.php	2005-02-09 04:13:11.000000000 -0600
+++ 0.763/modules/Members_List/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnuser.php,v 1.36 2005/02/09 10:13:11 markwest Exp $
+// File: $Id: pnuser.php 18056 2006-03-06 13:19:38Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -104,8 +104,17 @@
     // we can return it easily when required
 	$pnRender =& new pnRender('Members_List');
 
+    // get some permissions to use in the cache id and later to filter template output
+    if ( pnSecAuthAction(0, 'Users::', '::', ACCESS_DELETE) ) {
+        $edit=1; $delete=1;
+    } elseif ( pnSecAuthAction(0, 'Users::', '::', ACCESS_EDIT) ) {
+        $edit=1; $delete=0;
+    } else {
+        $edit=0; $delete=0;
+    }
+
 	// set the cache id
-	$pnRender->cache_id = md5($startnum .$letter.$sortby);
+	$pnRender->cache_id = md5((int)$edit.(int)$delete.$startnum.$letter.$sortby);
 	
 	// check out if the contents are cached.
 	// If this is the case, we do not need to make DB queries.
@@ -154,12 +163,8 @@
 	$pnRender->assign('loggedin', pnUserLoggedIn());
 
 	// check if we should show the extra admin column
-	if (pnSecAuthAction(0, 'Users::', '::', ACCESS_EDIT)) {
-		$pnRender->assign('adminedit', true);
-		if (pnSecAuthAction(0, 'Users::', '::', ACCESS_DELETE)) {
-			$pnRender->assign('admindelete', true);
-		}
-	}
+    $pnRender->assign('adminedit', $edit);
+    $pnRender->assign('admindelete', $delete);
 
     $pagedusers = array();
     foreach($users as $userid) {
diff -ruN 0.762/modules/Members_List/pnuserapi.php 0.763/modules/Members_List/pnuserapi.php
--- 0.762/modules/Members_List/pnuserapi.php	2005-02-04 00:35:39.000000000 -0600
+++ 0.763/modules/Members_List/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnuserapi.php,v 1.22 2005/02/04 06:35:39 jorg Exp $
+// File: $Id: pnuserapi.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Members_List/pnversion.php 0.763/modules/Members_List/pnversion.php
--- 0.762/modules/Members_List/pnversion.php	2005-02-04 00:35:39.000000000 -0600
+++ 0.763/modules/Members_List/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnversion.php,v 1.8 2005/02/04 06:35:39 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Messages/pninit.php 0.763/modules/Messages/pninit.php
--- 0.762/modules/Messages/pninit.php	2005-02-19 13:53:56.000000000 -0600
+++ 0.763/modules/Messages/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.8 2005/02/19 19:53:56 markwest Exp $
+// $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
 // ----------------------------------------------------------------------
 // POST-NUKE Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -33,7 +33,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Messages
- * @version      $Id: pninit.php,v 1.8 2005/02/19 19:53:56 markwest Exp $
+ * @version      $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Messages/pntables.php 0.763/modules/Messages/pntables.php
--- 0.762/modules/Messages/pntables.php	2004-06-02 10:08:51.000000000 -0500
+++ 0.763/modules/Messages/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.3 2004/06/02 15:08:51 markwest Exp $
+// $Id: pntables.php 13715 2004-06-02 15:08:51Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -34,7 +34,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Messages
- * @version      $Id: pntables.php,v 1.3 2004/06/02 15:08:51 markwest Exp $
+ * @version      $Id: pntables.php 13715 2004-06-02 15:08:51Z markwest $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Messages/pntemplates/messages_user_menu.htm 0.763/modules/Messages/pntemplates/messages_user_menu.htm
--- 0.762/modules/Messages/pntemplates/messages_user_menu.htm	2005-01-19 07:23:23.000000000 -0600
+++ 0.763/modules/Messages/pntemplates/messages_user_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,7 +1,7 @@
-<!--[*  $Id: messages_user_menu.htm,v 1.1 2005/01/19 13:23:23 markwest Exp $  *]-->
-<!--[pngetstatusmsg]-->
-<h1><!--[pnml name="_MESSAGES"]--></h1>
-<div class="pn-menu">
-[  <a href="<!--[pnmodurl modname="Messages" type="user" func="compose"]-->"><!--[pnml name="_MESSAGESSEND"]--></a> |
- <a href="<!--[pnmodurl modname="Messages" type="user" func="view"]-->"><!--[pnml name="_MESSAGESVIEW"]--></a> ]
+<!--[*  $Id: messages_user_menu.htm 15417 2005-01-19 13:23:23Z markwest $  *]-->
+<!--[pngetstatusmsg]-->
+<h1><!--[pnml name="_MESSAGES"]--></h1>
+<div class="pn-menu">
+[  <a href="<!--[pnmodurl modname="Messages" type="user" func="compose"]-->"><!--[pnml name="_MESSAGESSEND"]--></a> |
+ <a href="<!--[pnmodurl modname="Messages" type="user" func="view"]-->"><!--[pnml name="_MESSAGESVIEW"]--></a> ]
 </div>
\ No newline at end of file
diff -ruN 0.762/modules/Messages/pntemplates/plugins/function.pm.php 0.763/modules/Messages/pntemplates/plugins/function.pm.php
--- 0.762/modules/Messages/pntemplates/plugins/function.pm.php	2005-02-18 04:48:44.000000000 -0600
+++ 0.763/modules/Messages/pntemplates/plugins/function.pm.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pm.php,v 1.3 2005/02/18 10:48:44 landseer Exp $
+// $Id: function.pm.php 15728 2005-02-18 10:48:44Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pm.php,v 1.3 2005/02/18 10:48:44 landseer Exp $
+ * @version      $Id: function.pm.php 15728 2005-02-18 10:48:44Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Messages/pnuser.php 0.763/modules/Messages/pnuser.php
--- 0.762/modules/Messages/pnuser.php	2005-09-08 14:09:19.000000000 -0500
+++ 0.763/modules/Messages/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.33.2.1 2005/09/08 19:09:19 landseer Exp $
+// $Id: pnuser.php 16752 2005-09-08 19:09:19Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Messages
- * @version      $Id: pnuser.php,v 1.33.2.1 2005/09/08 19:09:19 landseer Exp $
+ * @version      $Id: pnuser.php 16752 2005-09-08 19:09:19Z landseer $
  * @author       Mark West
  * @author       Richard Tirtadji
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Messages/pnuserapi.php 0.763/modules/Messages/pnuserapi.php
--- 0.762/modules/Messages/pnuserapi.php	2005-04-28 03:25:38.000000000 -0500
+++ 0.763/modules/Messages/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.11 2005/04/28 08:25:38 markwest Exp $
+// $Id: pnuserapi.php 16155 2005-04-28 08:25:38Z markwest $
 // ----------------------------------------------------------------------
 // POST-NUKE Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -32,7 +32,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Messages
- * @version      $Id: pnuserapi.php,v 1.11 2005/04/28 08:25:38 markwest Exp $
+ * @version      $Id: pnuserapi.php 16155 2005-04-28 08:25:38Z markwest $
  * @author       Mark West
  * @author       Richard Tirtadji
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/Messages/pnversion.php 0.763/modules/Messages/pnversion.php
--- 0.762/modules/Messages/pnversion.php	2005-02-18 04:48:44.000000000 -0600
+++ 0.763/modules/Messages/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.3 2005/02/18 10:48:44 landseer Exp $
+// $Id: pnversion.php 15728 2005-02-18 10:48:44Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      PostNuke_Miscellaneous_Modules
  * @subpackage   Messages
- * @version      $Id: pnversion.php,v 1.3 2005/02/18 10:48:44 landseer Exp $
+ * @version      $Id: pnversion.php 15728 2005-02-18 10:48:44Z landseer $
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Modules/modreg.php 0.763/modules/Modules/modreg.php
--- 0.762/modules/Modules/modreg.php	2005-02-04 00:35:11.000000000 -0600
+++ 0.763/modules/Modules/modreg.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: modreg.php,v 1.6 2005/02/04 06:35:11 jorg Exp $
+// File: $Id: modreg.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Modules/pnadmin.php 0.763/modules/Modules/pnadmin.php
--- 0.762/modules/Modules/pnadmin.php	2006-01-12 07:12:57.000000000 -0600
+++ 0.763/modules/Modules/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnadmin.php,v 1.61.2.1 2006/01/12 13:12:57 markwest Exp $
+// File: $Id: pnadmin.php 17522 2006-01-12 13:22:17Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Modules/pnadminapi.php 0.763/modules/Modules/pnadminapi.php
--- 0.762/modules/Modules/pnadminapi.php	2005-10-30 15:31:37.000000000 -0600
+++ 0.763/modules/Modules/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnadminapi.php,v 1.73.2.2 2005/10/30 21:31:37 markwest Exp $
+// File: $Id: pnadminapi.php 19235 2006-06-08 14:47:19Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -59,13 +59,15 @@
     }
 
     // check for duplicate display names
-    if (pnModAvailable($displayname)) {
-        $moduleinfo = pnModGetInfo($mid);
-        // We have to allow to rename back to its original name
-        if ($moduleinfo['name'] != $displayname) {
-            pnSessionSetVar('errormsg', _MODULESDUPLICATEDEFINE);
-            return false;
-        }
+    // get the module info for the module being updated
+    $moduleinforeal = pnModGetInfo($mid);
+    // attempt to get module info for the module whose display name is the one
+    // entered into the form
+    $moduleinfodisplay = pnModGetInfo(pnModGetIDFromName($displayname));
+    // If the two real module name don't match then the new display name can't be used
+    if ($moduleinfodisplay && $moduleinforeal['name'] != $moduleinfodisplay['name']) {
+        pnSessionSetVar('errormsg', _MODULESDUPLICATEDEFINE);
+        return false;
     }
 
     // Rename operation
@@ -589,7 +591,7 @@
 					}
 		            $version = $modversion['version'];
 		            $description = $modversion['description'];
-		            if(isset($modversion['displayname']) && !empty($modversion['diplayname'])) {
+		            if(isset($modversion['displayname']) && !empty($modversion['displayname'])) {
 					    $displayname = $modversion['displayname'];
 					} else {
 					    $displayname = $modversion['name'];
@@ -759,11 +761,11 @@
 			    ($modinfo['description']  != $dbmodules[$name]['description']) ||
 			    ($modinfo['regid']        != $dbmodules[$name]['regid'])) {
 				$sql = "UPDATE $modulestable
-	                    SET $modulescolumn[directory] = '" . $modinfo['directory'] . "',
-				            $modulescolumn[type] = '" . $modinfo['type'] . "',
-				            $modulescolumn[admin_capable] = '" . $modinfo['admincapable'] . "',
-				            $modulescolumn[user_capable] = '" . $modinfo['usercapable'] . "',
-				            $modulescolumn[description] = '" . $modinfo['description'] . "',
+	                    SET $modulescolumn[directory] = '" . pnVarPrepForStore($modinfo['directory']) . "',
+				            $modulescolumn[type] = '" . pnVarPrepForStore($modinfo['type']) . "',
+				            $modulescolumn[admin_capable] = '" . pnVarPrepForStore($modinfo['admincapable']) . "',
+				            $modulescolumn[user_capable] = '" . pnVarPrepForStore($modinfo['usercapable']) . "',
+				            $modulescolumn[description] = '" . pnVarPrepForStore($modinfo['description']) . "',
                             $modulescolumn[regid] = '" . (int)pnVarPrepForStore($modinfo['regid']) . "'
 	                    WHERE $modulescolumn[id] = '" . pnVarPrepForStore($dbmodules[$name]['id']) . "'";
 	            $dbconn->Execute($sql);
diff -ruN 0.762/modules/Modules/pninit.php 0.763/modules/Modules/pninit.php
--- 0.762/modules/Modules/pninit.php	2005-03-04 09:42:32.000000000 -0600
+++ 0.763/modules/Modules/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.17 2005/03/04 15:42:32 markwest Exp $
+// $Id: pninit.php 15915 2005-03-04 15:42:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Modules/pnlang/eng/admin.php 0.763/modules/Modules/pnlang/eng/admin.php
--- 0.762/modules/Modules/pnlang/eng/admin.php	2005-08-19 11:30:54.000000000 -0500
+++ 0.763/modules/Modules/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.26 2005/08/19 16:30:54 markwest Exp $
+// $Id: admin.php 16651 2005-08-19 16:30:54Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Modules/pnlang/eng/adminapi.php 0.763/modules/Modules/pnlang/eng/adminapi.php
--- 0.762/modules/Modules/pnlang/eng/adminapi.php	2005-07-30 08:37:50.000000000 -0500
+++ 0.763/modules/Modules/pnlang/eng/adminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: adminapi.php,v 1.8 2005/07/30 13:37:50 jorg Exp $
+// $Id: adminapi.php 16571 2005-07-30 13:37:50Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Modules/pnlang/eng/init.php 0.763/modules/Modules/pnlang/eng/init.php
--- 0.762/modules/Modules/pnlang/eng/init.php	2005-03-04 09:42:33.000000000 -0600
+++ 0.763/modules/Modules/pnlang/eng/init.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.8 2005/03/04 15:42:33 markwest Exp $
+// $Id: init.php 15915 2005-03-04 15:42:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Modules/pntables.php 0.763/modules/Modules/pntables.php
--- 0.762/modules/Modules/pntables.php	2005-02-04 00:35:11.000000000 -0600
+++ 0.763/modules/Modules/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pntables.php,v 1.5 2005/02/04 06:35:11 jorg Exp $
+// File: $Id: pntables.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Modules/pntemplates/modules_admin_hooks.htm 0.763/modules/Modules/pntemplates/modules_admin_hooks.htm
--- 0.762/modules/Modules/pntemplates/modules_admin_hooks.htm	2005-04-08 06:38:15.000000000 -0500
+++ 0.763/modules/Modules/pntemplates/modules_admin_hooks.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: modules_admin_hooks.htm,v 1.4 2005/04/08 11:38:15 markwest Exp $  *]-->
+<!--[*  $Id: modules_admin_hooks.htm 16087 2005-04-08 11:38:15Z markwest $  *]-->
 <!--[include file="modules_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODULESENABLEHOOKS"]--> - <!--[$displayname|pnvarprepfordisplay]--></h2>
 <!--[if $hooks]-->
diff -ruN 0.762/modules/Modules/pntemplates/modules_admin_main.htm 0.763/modules/Modules/pntemplates/modules_admin_main.htm
--- 0.762/modules/Modules/pntemplates/modules_admin_main.htm	2004-12-13 09:53:08.000000000 -0600
+++ 0.763/modules/Modules/pntemplates/modules_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: modules_admin_main.htm,v 1.2 2004/12/13 15:53:08 markwest Exp $  *]-->
+<!--[*  $Id: modules_admin_main.htm 15146 2004-12-13 15:53:08Z markwest $  *]-->
 <!--[pnmodfunc modname=Modules type=admin func=view]-->
\ No newline at end of file
diff -ruN 0.762/modules/Modules/pntemplates/modules_admin_menu.htm 0.763/modules/Modules/pntemplates/modules_admin_menu.htm
--- 0.762/modules/Modules/pntemplates/modules_admin_menu.htm	2005-01-19 05:29:05.000000000 -0600
+++ 0.763/modules/Modules/pntemplates/modules_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: modules_admin_menu.htm,v 1.3 2005/01/19 11:29:05 landseer Exp $  *]-->
+<!--[*  $Id: modules_admin_menu.htm 15407 2005-01-19 11:29:05Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_MODULES"]--></h1>
diff -ruN 0.762/modules/Modules/pntemplates/modules_admin_modify.htm 0.763/modules/Modules/pntemplates/modules_admin_modify.htm
--- 0.762/modules/Modules/pntemplates/modules_admin_modify.htm	2005-07-02 12:43:39.000000000 -0500
+++ 0.763/modules/Modules/pntemplates/modules_admin_modify.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: modules_admin_modify.htm,v 1.3 2005/07/02 17:43:39 hammerhead Exp $  *]-->
+<!--[*  $Id: modules_admin_modify.htm 16359 2005-07-02 17:43:39Z hammerhead $  *]-->
 <!--[include file="modules_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODULESMODIFY"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Modules" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Modules/pntemplates/modules_admin_modifyconfig.htm 0.763/modules/Modules/pntemplates/modules_admin_modifyconfig.htm
--- 0.762/modules/Modules/pntemplates/modules_admin_modifyconfig.htm	2005-04-03 12:56:24.000000000 -0500
+++ 0.763/modules/Modules/pntemplates/modules_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: modules_admin_modifyconfig.htm,v 1.5 2005/04/03 17:56:24 larsneo Exp $  *]-->
+<!--[*  $Id: modules_admin_modifyconfig.htm 16057 2005-04-03 17:56:24Z larsneo $  *]-->
 <!--[include file="modules_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODULESMODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Modules" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Modules/pntemplates/modules_admin_view.htm 0.763/modules/Modules/pntemplates/modules_admin_view.htm
--- 0.762/modules/Modules/pntemplates/modules_admin_view.htm	2005-08-10 06:02:11.000000000 -0500
+++ 0.763/modules/Modules/pntemplates/modules_admin_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: modules_admin_view.htm,v 1.7 2005/08/10 11:02:11 markwest Exp $  *]-->
+<!--[*  $Id: modules_admin_view.htm 16628 2005-08-10 11:02:11Z markwest $  *]-->
 <!--[include file="modules_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODULESVIEW"]--></h2>
 <div style="float:right">
diff -ruN 0.762/modules/Modules/pntemplates/plugins/function.modulesadminlinks.php 0.763/modules/Modules/pntemplates/plugins/function.modulesadminlinks.php
--- 0.762/modules/Modules/pntemplates/plugins/function.modulesadminlinks.php	2004-07-16 10:10:15.000000000 -0500
+++ 0.763/modules/Modules/pntemplates/plugins/function.modulesadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.modulesadminlinks.php,v 1.4 2004/07/16 15:10:15 markwest Exp $
+// $Id: function.modulesadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Modules
- * @version      $Id: function.modulesadminlinks.php,v 1.4 2004/07/16 15:10:15 markwest Exp $
+ * @version      $Id: function.modulesadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Modules/pnversion.php 0.763/modules/Modules/pnversion.php
--- 0.762/modules/Modules/pnversion.php	2005-02-04 00:35:11.000000000 -0600
+++ 0.763/modules/Modules/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: pnversion.php,v 1.7 2005/02/04 06:35:11 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Multisites/Version.php 0.763/modules/Multisites/Version.php
--- 0.762/modules/Multisites/Version.php	2005-02-04 00:30:29.000000000 -0600
+++ 0.763/modules/Multisites/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: Version.php,v 1.2 2005/02/04 06:30:29 jorg Exp $
+// $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 $modversion['name'] = 'Multisites';
 $modversion['version'] = '0.1';
 $modversion['description'] = 'Create multiple sites using the same PN installation files';
diff -ruN 0.762/modules/NewUser/lang/eng/global.php 0.763/modules/NewUser/lang/eng/global.php
--- 0.762/modules/NewUser/lang/eng/global.php	2005-07-12 11:15:15.000000000 -0500
+++ 0.763/modules/NewUser/lang/eng/global.php	2006-10-17 16:24:08.000000000 -0500
@@ -28,6 +28,8 @@
 // Translation team: Read credits in /docs/CREDITS.txt
 // ----------------------------------------------------------------------
 $minage = pnConfigGetVar('minage');
+define('_REGQUESTIONFAILED', 'The question was not correctly answered!');
+define('_USERAGENTINVALID','Sorry - Useragent not allowed!');
 define('_2CHANGEINFO','to edit your information');
 define('_ALLOWEMAILVIEW','Allow other users to view your e-mail address');
 define('_ANDCONNECTOR','and');
@@ -98,5 +100,5 @@
 define('_WEDONTGIVE','Your personal information will not be sold or given to any other party.');
 define('_YOUAREREGISTERED','You are now registered. You should receive your password at the e-mail address you provided.');
 define('_YOURPASSIS','Your password is:');
-define('_YOUUSEDEMAIL','You or somebody else has already used this e-mail address to create an account.');
+define('_YOUUSEDEMAIL','You or somebody else has used this e-mail address to create an account.');
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/NewUser/user.php 0.763/modules/NewUser/user.php
--- 0.762/modules/NewUser/user.php	2006-01-07 06:12:14.000000000 -0600
+++ 0.763/modules/NewUser/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: user.php,v 1.25 2006/01/07 12:12:14 larsneo Exp $
+// File: $Id: user.php 19963 2006-09-03 21:38:05Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -154,7 +154,15 @@
       . _PRIVACYPOLICY . '</a></label></td>'
       .'</tr>'."\n";
   }
-
+  
+  if (pnConfigGetVar('reg_question') != '' && pnConfigGetVar('reg_answer') != '') {
+    // if there is a question/answer configured display and test 	
+    echo '<tr>'
+    .'<td align="right"><strong><label for="reg_answer">' . pnVarPrepForDisplay(pnConfigGetVar('reg_question')) . '</label></strong></td>'."\n"
+    .'<td><input type="text" name="reg_answer" id="reg_answer" size="'.pnVarPrepForDisplay($size).'" maxlength="60" tabindex="0" /></td>'."\n"
+    .'</tr>';
+  }
+  
   echo '<tr>'."\n"
     .'<td align="right">&nbsp;</td>'."\n"
     .'<td>'."\n"
@@ -229,6 +237,26 @@
        $stop = _EMAILINVALIDDOMAIN;
     }
     
+    // check for disallowed useragents (most often PERL scripts)
+    $useragent = strtolower(pnServerGetVar('HTTP_USER_AGENT'));
+    $illegaluseragents = pnConfigGetVar('reg_Illegaluseragents');
+    if (!empty($illegaluseragents)) {
+        $disallowed_useragents = str_replace(', ', ',', $illegaluseragents);
+        $checkdisallowed_useragents = explode(',', $disallowed_useragents);
+        $count = count($checkdisallowed_useragents);
+        $pregcondition = "/((";
+        for ($i = 0;$i < $count;$i++) {
+            if ($i != $count-1) {
+                $pregcondition .= $checkdisallowed_useragents[$i] . ")|(";
+            } else {
+                $pregcondition .= $checkdisallowed_useragents[$i] . "))/iAD";
+            }
+        }
+        if (preg_match($pregcondition, $useragent)) {
+            $stop = _USERAGENTINVALID;
+        }
+    }
+
     // Check for legal module
     if (pnModAvailable('legal')) {
         // If legal var agreetoterms checkbox not checked, value is 0 and results in error
@@ -310,7 +338,7 @@
     if (!$reg_verifyemail) {
         list($pass, $vpass) = pnVarCleanFromInput('pass', 'vpass');
     }
-
+    
     $reg_optitems = pnConfigGetVar('reg_optitems');
 
     if ($reg_optitems) {
@@ -386,6 +414,13 @@
         $stop = _EMAILSDIFF;
     }
 
+    if (pnConfigGetVar('reg_question') != '' && pnConfigGetVar('reg_answer') != '') {
+        // if there is a question/answer configured display and test 	
+        if (pnVarCleanFromInput('reg_answer') != pnConfigGetVar('reg_answer')) {
+            $stop = _REGQUESTIONFAILED;
+        }
+    }
+
     $user_regdate = time();
     if (empty($user_avatar)) $user_avatar = 'blank.gif';
     if (empty($stop)) {
diff -ruN 0.762/modules/News/Version.php 0.763/modules/News/Version.php
--- 0.762/modules/News/Version.php	2005-02-04 00:30:29.000000000 -0600
+++ 0.763/modules/News/Version.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.3 2005/02/04 06:30:29 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'News';
 $modversion['version'] = '1.3';
diff -ruN 0.762/modules/News/article.php 0.763/modules/News/article.php
--- 0.762/modules/News/article.php	2006-01-27 13:07:05.000000000 -0600
+++ 0.763/modules/News/article.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: article.php,v 1.41 2006/01/27 19:07:05 markwest Exp $
+// File: $Id: article.php 17740 2006-01-27 19:07:05Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/News/funcs.php 0.763/modules/News/funcs.php
--- 0.762/modules/News/funcs.php	2005-10-19 17:12:51.000000000 -0500
+++ 0.763/modules/News/funcs.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: funcs.php,v 1.53 2005/10/19 22:12:51 markwest Exp $
+// File: $Id: funcs.php 16874 2005-10-19 22:12:51Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/News/index.php 0.763/modules/News/index.php
--- 0.762/modules/News/index.php	2006-01-20 04:12:38.000000000 -0600
+++ 0.763/modules/News/index.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: index.php,v 1.50 2006/01/20 10:12:38 larsneo Exp $
+// File: $Id: index.php 19406 2006-07-12 08:29:28Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -31,25 +31,11 @@
     die ("You can't access this file directly...");
 }
 
-list ($catid, $topic, $name, $allstories) = pnVarCleanFromInput('catid', 'topic', 'name', 'allstories');
-
 if (strtolower($name) == 'news') {
-  $index = 0;
+    $index = 0;
 } else {
-  $index = 1;
-}
-
-// Check if the entered topic, catid and allstories vars are numeric
-if ((isset($topic) && !empty($topic) && !is_numeric($topic)) or
-  (isset($catid) && !empty($catid) && !is_numeric($catid)) or
-  (isset($allstories) && !empty($allstories) && !is_numeric($allstories))    )
-{
-  include 'header.php';
-  echo _MODARGSERROR;
-  include 'footer.php';
-  return;
+    $index = 1;
 }
-//End of check
 
 $ModName = basename(dirname( __FILE__ ));
 
@@ -67,24 +53,36 @@
  */
 function theindex()
 {
-  global $themeOverrideCategory;
+    global $themeOverrideCategory;
 
-  $allstories = &$GLOBALS['allstories'];
+    list ($catid, $topic, $name, $startrow) = pnVarCleanFromInput('catid', 'topic', 'name', 'startrow');
+    if (!isset($startrow) || !is_numeric($startrow)) {
+        $startrow = 1;
+    }
 
-  // Furbo: to stop hacking vars on the url
-    $topic = pnVarCleanFromInput('topic');
-    $catid = pnVarCleanFromInput('catid');
-  // end furbo hack stop
-  $startnum = pnVarCleanFromInput('startnum');
-  if (!isset($startnum) || !is_numeric($startnum)) {
-    $startnum = 1;
-  }
+    // Check if the entered topic, catid and allstories vars are numeric
+    if ((isset($topic) && !empty($topic) && !is_numeric($topic)) ||
+        (isset($catid) && !empty($catid) && !is_numeric($catid)) ||
+        (isset($allstories) && !empty($allstories) && !is_numeric($allstories))) {
+        include 'header.php';
+        echo _MODARGSERROR;
+        include 'footer.php';
+        return;
+    }
+    //End of check
 
     $dbconn =& pnDBGetConn(true);
     $pntable =& pnDBGetTables();
 
     $currentlang = pnUserGetLang();
 
+    if (pnUserLoggedIn()) {
+        $storynum = pnUserGetVar('storynum');
+    }
+    if (empty($storynum)) {
+        $storynum = pnConfigGetVar('storyhome');
+    }
+
     if (pnConfigGetVar('multilingual') == 1) {
         $column = &$pntable['stories_column'];
         $querylang = "AND ($column[alanguage]='$currentlang' OR $column[alanguage]='')"; /* the OR is needed to display stories who are posted to ALL languages */
@@ -104,46 +102,27 @@
 
     include 'header.php';
 
-    echo '<div style="text-align:center">';
-  if (isset($topic) && !empty($topic) && is_numeric($topic)) {
-    $column = &$pntable['topics_column'];
-    $result =& $dbconn->Execute("SELECT $column[topicid], $column[topicname], " .
+    echo '<div style="text-align:center;margin-bottom:10px;">';
+    if (isset($topic) && !empty($topic) && is_numeric($topic)) {
+        $column = &$pntable['topics_column'];
+        $result =& $dbconn->Execute("SELECT $column[topicid], $column[topicname], " .
                 "$column[topicimage], $column[topictext] FROM " .
                 "$pntable[topics] WHERE $column[topicid]='".(int)pnVarPrepForStore($topic)."'");
-    list($topicid, $topicname, $topicimage, $topictext) = $result->fields;
-    if (!empty($topicimage)) {
-      echo '<img style="float:right" src="'.pnConfigGetVar('tipath').$topicimage.'" alt="" />';
-    }
-    echo '<h1>' . _THISISTOPIC . pnVarPrepForDisplay($topictext) . '</h1>' . _FOLLOWINGNEWS;
-    echo '<div style="clear:both"></div>';
-    $GLOBALS['info']['title'] = $topictext;
-  } else if (!empty($catid) && $catid > 0 && is_numeric($catid)) {
-    $column = &$pntable['stories_cat_column'];
-    $result =& $dbconn->Execute("SELECT $column[title] FROM $pntable[stories_cat]
+        list($topicid, $topicname, $topicimage, $topictext) = $result->fields;
+        if (!empty($topicimage)) {
+            echo '<img style="float:right" src="'.pnConfigGetVar('tipath').$topicimage.'" alt="" />';
+        }
+        echo '<h1>' . _THISISTOPIC . pnVarPrepForDisplay($topictext) . '</h1>' . _FOLLOWINGNEWS;
+        echo '<div style="clear:both"></div>';
+        $GLOBALS['info']['title'] = $topictext;
+    } else if (isset($catid) && $catid >= 0 && is_numeric($catid)) {
+        $column = &$pntable['stories_cat_column'];
+        $result =& $dbconn->Execute("SELECT $column[title] FROM $pntable[stories_cat]
                   WHERE $column[catid]=".(int)pnVarPrepForStore($catid)."");
-    list($title) = $result->fields;
-    echo '<h1>'._THISISCATEGORY.pnVarPrepForDisplay($title).'</h1>'._FOLLOWINGNEWSCATEGORY;
-    $GLOBALS['info']['title'] = $title;
-  }
-  echo '</div>';
-
-    if (pnUserLoggedIn()) {
-        $storynum = pnUserGetVar('storynum');
+        list($title) = $result->fields;
+        echo '<h1>'._THISISCATEGORY.pnVarPrepForDisplay($title).'</h1>'._FOLLOWINGNEWSCATEGORY;
+        $GLOBALS['info']['title'] = $title;
     }
-    if (empty($storynum)) {
-        $storynum = pnConfigGetVar('storyhome');
-    }
-  //  start eugeniobaldi 20020310
-  //  When  you view stories for Catid or for topic , you can select of view all stories
-  if ((!empty($catid)) or (!empty($topic))) {
-      if(!empty($allstories) && $allstories == 1) {
-              $storynum = 999;
-      } else {
-        echo "<div style=\"text-align:center\"><a href=\"index.php?name=News&amp;catid=$catid&amp;topic=$topic&amp;allstories=1\">"._SEEALL."</a></div><br /><br />";
-      }
-    }
-    $allstories = 0;
-  // end  eugeniobaldi 20020310
 
     $storcol = &$pntable['stories_column'];
     $storcatcol = &$pntable['stories_cat_column'];
@@ -171,83 +150,107 @@
         if($dbconn->ErrorNo() != 0) {
             error_log("DB Error updating $pntable[topics]: ". $dbconn->ErrorNo() . ": ". $dbconn->ErrorMsg());
         }
-    // eugeniobaldi 2002-02-18 fixed sf patch # 511223 All Cat. doesn't work whenTopic=#
-    //        $whereclause = "($topiccol[topicid]='".pnVarPrepForStore($topic)."' OR $topiccol[topicid]=0) AND ($storcol[ihome]=0 OR $storcol[catid]=0) ";
+        // eugeniobaldi 2002-02-18 fixed sf patch # 511223 All Cat. doesn't work whenTopic=#
+        // $whereclause = "($topiccol[topicid]='".pnVarPrepForStore($topic)."' OR $topiccol[topicid]=0) AND ($storcol[ihome]=0 OR $storcol[catid]=0) ";
         $whereclause = "($topiccol[topicid]='".(int)pnVarPrepForStore($topic)."' OR $topiccol[topicid]=0) ";
     } else {
         $whereclause = "$storcol[ihome]=0";
     }
 
     switch (pnConfigGetVar('storyorder')) {
-      case '1':
-        $storyorder = "$storcol[time] DESC";
-        break;
-      default:
-        $storyorder = "$storcol[sid] DESC";
-        break;
-    }
-
-    $articles = getArticles($whereclause, $storyorder, $storynum, $startnum-1);
-  // count of stories only if newspager is enabled
-    if (pnConfigGetVar('newspager') == 1) {
-    $storycount = count(getArticles($whereclause, $storyorder, ''));
-  }
-
-  if (!$articles && $GLOBALS['index'] == 0) {
-      echo '<h2>'._NOARTICLESYET1;
-      if ((!empty($catid)) or (!empty($topic))) {
-          echo _NOARTICLESYET2;
-      }
-      echo '</h2>';
-  } else {
-    foreach ($articles as $row) {
-
-        // $info is array holding raw information.
-        // Used below and also passed to the theme - jgm
-        $info = genArticleInfo($row);
-
-        // Need to at least have overview permissions on this story
-        // February 19, 2002 -- Rabbitt (aka Carl P. Corliss) -- Added Topics permission check
-        if (pnSecAuthAction(0, 'Stories::Story', "$info[aid]:$info[cattitle]:$info[sid]", ACCESS_OVERVIEW) &&
-            pnSecAuthAction(0, 'Topics::Topic',"$info[topicname]::$info[tid]",ACCESS_OVERVIEW)) {
-
-            // $links is an array holding pure URLs to
-            // specific functions for this article.
-            // Used below and also passed to the theme - jgm
-            $links = genArticleLinks($info);
+        case '1':
+            $storyorder = "$storcol[time] DESC";
+            break;
+        default:
+            $storyorder = "$storcol[sid] DESC";
+            break;
+    }
 
-            // $preformat is an array holding chunks of
-            // preformatted text for this article.
-            // Used below and also passed to the theme - jgm
-            $preformat = genArticlePreformat($info, $links);
+    $articles = getArticles($whereclause, $storyorder, $storynum, $startrow-1);
 
-            if ($GLOBALS['postnuke_theme']) {
-                themeindex($info['aid'], $info['informant'], $info['longdatetime'], $info['catandtitle'], $info['counter'], $info['topic'], $preformat['hometext'], $info['notes'], $preformat['more'], $info['topicname'], $info['topicimage'], $info['topictext'], $info, $links, $preformat);
-            } else {
-                themeindex($info['aid'], $info['informant'], $info['longdatetime'], $info['catandtitle'], $info['counter'], $info['topic'], $preformat['hometext'], $info['notes'], $preformat['more'], $info['topicname'], $info['topicimage'], $info['topictext']);
-            }
-        }
+    // count of stories only if newspager is enabled
+    if ((pnConfigGetVar('newspager') == 1) || isset($topic) || isset($catid)) {
+        $storycount = count(getArticles($whereclause, $storyorder, ''));
+        $pnRender = new pnRender('News');
+        require_once $pnRender->_get_plugin_filepath('function','pager');
+        $params =  array ('show' => 'page', 'shift' => 1, 'posvar' => 'startrow', 'rowcount' => $storycount, 'limit' => $storynum);
+        $pagerstring = smarty_function_pager($params, $pnRender);
     }
-    if (pnConfigGetVar('newspager') == 1) {
+
+    // slightly different logic to the pager below
+    if (isset($topic) || isset($catid)) {
         echo '<div style="text-align:center">';
         // implement a pager if required
-        $output =& new pnHTML();
         if (isset($catid) && !empty($catid) && is_numeric($catid)) {
-          $catstring = '&amp;catid='. $catid;
+            $catstring = '&amp;catid='. $catid;
         } else {
-          $catstring = '';
+            $catstring = '';
         }
         if (isset($topic) && !empty($topic) && is_numeric($topic)) {
-          $topicstring = '&amp;topic='. $topic;
+            $topicstring = '&amp;topic='. $topic;
         } else {
-          $topicstring = '';
+            $topicstring = '';
         }
-        $pagerstring = 'index.php?name=News'.$catstring.''.$topicstring.'&amp;startnum=%%';
-        $output->Pager($startnum, $storycount, $pagerstring ,$storynum);
-        echo $output->GetOutput();
+        echo $pagerstring;
         echo '</div>';
     }
-  }
+
+    echo '</div>';
+
+    if (!$articles && $GLOBALS['index'] == 0) {
+        echo '<h2>'._NOARTICLESYET1;
+        if ((!empty($catid)) or (!empty($topic))) {
+            echo _NOARTICLESYET2;
+        }
+        echo '</h2>';
+    } else {
+
+        foreach ($articles as $row) {
+
+            // $info is array holding raw information.
+            // Used below and also passed to the theme - jgm
+            $info = genArticleInfo($row);
+
+            // Need to at least have overview permissions on this story
+            // February 19, 2002 -- Rabbitt (aka Carl P. Corliss) -- Added Topics permission check
+            if (pnSecAuthAction(0, 'Stories::Story', "$info[aid]:$info[cattitle]:$info[sid]", ACCESS_OVERVIEW) &&
+                pnSecAuthAction(0, 'Topics::Topic',"$info[topicname]::$info[tid]",ACCESS_OVERVIEW)) {
+
+                // $links is an array holding pure URLs to
+                // specific functions for this article.
+                // Used below and also passed to the theme - jgm
+                $links = genArticleLinks($info);
+
+                // $preformat is an array holding chunks of
+                // preformatted text for this article.
+                // Used below and also passed to the theme - jgm
+                $preformat = genArticlePreformat($info, $links);
+
+                if ($GLOBALS['postnuke_theme']) {
+                    themeindex($info['aid'], $info['informant'], $info['longdatetime'], $info['catandtitle'], $info['counter'], $info['topic'], $preformat['hometext'], $info['notes'], $preformat['more'], $info['topicname'], $info['topicimage'], $info['topictext'], $info, $links, $preformat);
+                } else {
+                    themeindex($info['aid'], $info['informant'], $info['longdatetime'], $info['catandtitle'], $info['counter'], $info['topic'], $preformat['hometext'], $info['notes'], $preformat['more'], $info['topicname'], $info['topicimage'], $info['topictext']);
+                }
+            }
+        }
+
+        if ((pnConfigGetVar('newspager') == 1) || isset($topic) || isset($catid)) {
+            echo '<div style="text-align:center">';
+            // implement a pager if required
+            if (isset($catid) && !empty($catid) && is_numeric($catid)) {
+                $catstring = '&amp;catid='. $catid;
+            } else {
+                $catstring = '';
+            }
+            if (isset($topic) && !empty($topic) && is_numeric($topic)) {
+                $topicstring = '&amp;topic='. $topic;
+            } else {
+                $topicstring = '';
+            }
+            echo $pagerstring;
+            echo '</div>';
+        }
+    }
 
     include 'footer.php';
 }
diff -ruN 0.762/modules/Permissions/pnadmin.php 0.763/modules/Permissions/pnadmin.php
--- 0.762/modules/Permissions/pnadmin.php	2005-12-29 11:02:43.000000000 -0600
+++ 0.763/modules/Permissions/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnadmin.php,v 1.35.2.1 2005/12/29 17:02:43 drak Exp $
+// File: $Id: pnadmin.php 17392 2005-12-29 17:02:43Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -41,7 +41,7 @@
  * designer feels should be the default function (often this is the
  * view() function)
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @return mixed HTML string or true
  */
 function permissions_admin_main()
@@ -58,7 +58,7 @@
 /**
  * view permissions
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @param string 'permtype' permissions type
  * @return string HTML string
  */
@@ -253,7 +253,7 @@
 /*
  * increment a permission
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @param string 'permtype' permissions type
  * @param int 'pid' permissions id
  * @return bool true
@@ -316,7 +316,7 @@
 /*
  * decrement a permission
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @param string 'permtype' permissions type
  * @param int 'pid' permissions id
  * @return bool true
@@ -645,7 +645,7 @@
 /*
  * @author Jim McDonald <jim@mcdee.net>
  * @link http://www.mcdee.net
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @param string 'permtype' permissions type
  * @param int 'pid' permissions id
  * @param int 'id' group or user id
@@ -742,7 +742,7 @@
 /**
  * create a new permission
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @param string 'permtype' permissions type
  * @param int 'id' group or user id
  * @param int 'realm' realm to which the permission belongs
@@ -831,7 +831,7 @@
 /**
  * delete a permission
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @param string 'permtype' permissions type
  * @param int 'pid' permissions id
  * @return bool true
@@ -912,7 +912,7 @@
  * getUsersInfo - get users information
  * Takes no parameters
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @return array users array
  * @todo remove calls to this function in favour of calls to the users module
  */
@@ -945,7 +945,7 @@
  * getGroupsInfo - get groups information
  * Takes no parameters
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @return array groups array
  * @todo remove calls to this function in favour of calls to the groups module
  */
@@ -977,7 +977,7 @@
  * getRealmsInfo - get realms information
  * Takes no parameters
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @todo Move to admin API
  * @return array realms array
  */
@@ -1014,7 +1014,7 @@
  *                             from blocks and modules
  * Takes no parameters
  * @author Jim McDonald
- * @version $Revision: 1.35.2.1 $
+ * @version $Revision: 17392 $
  * @return string HTML string
  */
 function permissions_admin_viewinstanceinfo()
diff -ruN 0.762/modules/Permissions/pnadminapi.php 0.763/modules/Permissions/pnadminapi.php
--- 0.762/modules/Permissions/pnadminapi.php	2004-12-09 05:16:21.000000000 -0600
+++ 0.763/modules/Permissions/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnadminapi.php,v 1.15 2004/12/09 11:16:21 markwest Exp $
+// File: $Id: pnadminapi.php 15082 2004-12-09 11:16:21Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -39,7 +39,7 @@
  * permissions sequence, thus making it more likely to be acted
  * against
  * @author Jim McDonald
- * @version $Revision: 1.15 $
+ * @version $Revision: 15082 $
  * @param string $args ['type'] the type of the permission to
  *         increment (user or group)
  * @param int $args ['pid'] the ID of the permission to increment
@@ -137,7 +137,7 @@
 /**
  * decrement sequence number of a permission
  * @author Jim McDonald
- * @version $Revision: 1.15 $
+ * @version $Revision: 15082 $
  * @param string $args ['type'] the type of the permission to
  *         decrement (user or group)
  * @param int $args ['pid'] the ID of the permission to decrement
@@ -235,7 +235,7 @@
 /**
  * update attributes of a permission
  * @author Jim McDonald
- * @version $Revision: 1.15 $
+ * @version $Revision: 15082 $
  * @param string $args ['type'] the type of the permission to update (user or group)
  * @param int $args ['pid'] the ID of the permission to update
  * @param string $args ['realm'] the new realm of the permission
@@ -309,7 +309,7 @@
 /**
  * create a new perm
  * @author Jim McDonald
- * @version $Revision: 1.15 $
+ * @version $Revision: 15082 $
  * @param string $args ['type'] the type of the permission to update (user or group)
  * @param string $args ['realm'] the new realm of the permission
  * @param int $args ['id'] the new group/user id of the permission
@@ -414,7 +414,7 @@
  * delete a perm
  * @author Jim McDonald <jim@mcdee.net>
  * @link http://www.mcdee.net
- * @version $Revision: 1.15 $
+ * @version $Revision: 15082 $
  * @param string $args ['type'] the type of the permission to update (user or group)
  * @param int $args ['pid'] the ID of the permission to delete
  * @return bool true on success, false on failure
@@ -471,7 +471,7 @@
  * get the maximum sequence number currently in a given table
  * @author Jim McDonald <jim@mcdee.net>
  * @link http://www.mcdee.net
- * @version $Revision: 1.15 $
+ * @version $Revision: 15082 $
  * @param string $args ['table'] the table name
  * @param string $args ['column'] the sequence column name
  * @return int the maximum sequence number
@@ -510,7 +510,7 @@
  * resequence a permissions table
  * @author Jim McDonald <jim@mcdee.net>
  * @link http://www.mcdee.net
- * @version $Revision: 1.15 $
+ * @version $Revision: 15082 $
  * @param string $args ['type'] the type of permissions to resequence
  * @return void
  */
@@ -577,7 +577,7 @@
  * called when a permission is assigned the same sequence number
  * as an existing permission
  * @author Chris Miller 
- * @version $Revision: 1.15 $
+ * @version $Revision: 15082 $
  * @param string $args ['type'] the type of permissions to resequence
  * @param string $args ['seq'] the desired sequence
  * @param string $args ['oldseq'] the original sequence number
diff -ruN 0.762/modules/Permissions/pninit.php 0.763/modules/Permissions/pninit.php
--- 0.762/modules/Permissions/pninit.php	2005-02-19 13:55:07.000000000 -0600
+++ 0.763/modules/Permissions/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.8 2005/02/19 19:55:07 markwest Exp $
+// $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -38,7 +38,7 @@
  * This function MUST exist in the pninit file for a module
  * 
  * @author       Mark West
- * @version      $Revision: 1.8 $
+ * @version      $Revision: 15762 $
  * @return       bool       true on success, false otherwise
  */
 function permissions_init()
@@ -142,7 +142,7 @@
  * This function MUST exist in the pninit file for a module
  * 
  * @author       Mark West
- * @version      $Revision: 1.8 $
+ * @version      $Revision: 15762 $
  * @return       bool       true on success, false otherwise
  */
 function permissions_upgrade($oldversion)
@@ -161,7 +161,7 @@
  * 
  * Since the permissions module should never be deleted we'all always return false here
  * @author       Mark West
- * @version      $Revision: 1.8 $
+ * @version      $Revision: 15762 $
  * @return       bool       false
  */
 function permissions_delete()
@@ -177,7 +177,7 @@
  * module instance
  * 
  * @author       Mark West
- * @version      $Revision: 1.8 $
+ * @version      $Revision: 15762 $
  * @return       bool       false
  */
 function permissions_defaultdata()
diff -ruN 0.762/modules/Permissions/pnlang/eng/admin.php 0.763/modules/Permissions/pnlang/eng/admin.php
--- 0.762/modules/Permissions/pnlang/eng/admin.php	2004-12-16 09:41:05.000000000 -0600
+++ 0.763/modules/Permissions/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.12 2004/12/16 15:41:05 markwest Exp $
+// $Id: admin.php 15197 2004-12-16 15:46:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Permissions/pnlang/eng/init.php 0.763/modules/Permissions/pnlang/eng/init.php
--- 0.762/modules/Permissions/pnlang/eng/init.php	2004-12-16 09:41:05.000000000 -0600
+++ 0.763/modules/Permissions/pnlang/eng/init.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.3 2004/12/16 15:41:05 markwest Exp $
+// $Id: init.php 15197 2004-12-16 15:46:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Permissions/pntables.php 0.763/modules/Permissions/pntables.php
--- 0.762/modules/Permissions/pntables.php	2004-04-22 07:21:08.000000000 -0500
+++ 0.763/modules/Permissions/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.2 2004/04/22 12:21:08 drak Exp $
+// $Id: pntables.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -32,7 +32,7 @@
  *
  * @package      PostNuke_System_Modules
  * @subpackage   Permissions
- * @version      $Id: pntables.php,v 1.2 2004/04/22 12:21:08 drak Exp $
+ * @version      $Id: pntables.php 13213 2004-04-22 12:28:05Z drak $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
@@ -48,7 +48,7 @@
  * It can be loaded explicitly using the pnModDBInfoLoad() API function.
  * 
  * @author       Mark West
- * @version      $Revision: 1.2 $
+ * @version      $Revision: 13213 $
  * @return       array       The table information.
  */
 function Permissions_pntables()
diff -ruN 0.762/modules/Permissions/pntemplates/permissions_admin_delete.htm 0.763/modules/Permissions/pntemplates/permissions_admin_delete.htm
--- 0.762/modules/Permissions/pntemplates/permissions_admin_delete.htm	2005-01-19 05:43:29.000000000 -0600
+++ 0.763/modules/Permissions/pntemplates/permissions_admin_delete.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: permissions_admin_delete.htm,v 1.2 2005/01/19 11:43:29 markwest Exp $  *]-->
+<!--[*  $Id: permissions_admin_delete.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="permissions_admin_menu.htm"]-->
 <h2><!--[pnml name="_PERMISSIONSDELETE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Permissions" type="admin" func="delete"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Permissions/pntemplates/permissions_admin_menu.htm 0.763/modules/Permissions/pntemplates/permissions_admin_menu.htm
--- 0.762/modules/Permissions/pntemplates/permissions_admin_menu.htm	2005-01-19 06:55:58.000000000 -0600
+++ 0.763/modules/Permissions/pntemplates/permissions_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: permissions_admin_menu.htm,v 1.3 2005/01/19 12:55:58 landseer Exp $  *]-->
+<!--[*  $Id: permissions_admin_menu.htm 15411 2005-01-19 12:55:58Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_PERMISSIONS"]--></h1>
diff -ruN 0.762/modules/Permissions/pntemplates/permissions_admin_view.htm 0.763/modules/Permissions/pntemplates/permissions_admin_view.htm
--- 0.762/modules/Permissions/pntemplates/permissions_admin_view.htm	2004-12-18 19:15:05.000000000 -0600
+++ 0.763/modules/Permissions/pntemplates/permissions_admin_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: permissions_admin_view.htm,v 1.5 2004/12/19 01:15:05 markwest Exp $  *]-->
+<!--[*  $Id: permissions_admin_view.htm 15208 2004-12-19 01:15:05Z markwest $  *]-->
 <!--[include file="permissions_admin_menu.htm" permgrp=$permgrp]-->
 <!--[include file="componentinstance.js"]-->
 <h2><!--[$title|pnvarprepfordisplay]--></h2>
diff -ruN 0.762/modules/Permissions/pntemplates/plugins/function.permissionsadminlinks.php 0.763/modules/Permissions/pntemplates/plugins/function.permissionsadminlinks.php
--- 0.762/modules/Permissions/pntemplates/plugins/function.permissionsadminlinks.php	2004-07-16 10:09:26.000000000 -0500
+++ 0.763/modules/Permissions/pntemplates/plugins/function.permissionsadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.permissionsadminlinks.php,v 1.8 2004/07/16 15:09:26 markwest Exp $
+// $Id: function.permissionsadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   Permissions
- * @version      $Id: function.permissionsadminlinks.php,v 1.8 2004/07/16 15:09:26 markwest Exp $
+ * @version      $Id: function.permissionsadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Permissions/pnversion.php 0.763/modules/Permissions/pnversion.php
--- 0.762/modules/Permissions/pnversion.php	2005-02-04 00:35:11.000000000 -0600
+++ 0.763/modules/Permissions/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnversion.php,v 1.7 2005/02/04 06:35:11 jorg Exp $
+// File: $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Polls/admin.php 0.763/modules/Polls/admin.php
--- 0.762/modules/Polls/admin.php	2006-01-12 08:29:40.000000000 -0600
+++ 0.763/modules/Polls/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.4 2006/01/12 14:29:40 larsneo Exp $
+// File: $Id: admin.php 17540 2006-01-12 14:29:40Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Polls/comments.php 0.763/modules/Polls/comments.php
--- 0.762/modules/Polls/comments.php	2006-01-14 08:32:02.000000000 -0600
+++ 0.763/modules/Polls/comments.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: comments.php,v 1.16 2006/01/14 14:32:02 larsneo Exp $
+// $Id: comments.php 17591 2006-01-14 14:32:02Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Polls/index.php 0.763/modules/Polls/index.php
--- 0.762/modules/Polls/index.php	2005-02-20 15:57:24.000000000 -0600
+++ 0.763/modules/Polls/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: index.php,v 1.4 2005/02/20 21:57:24 markwest Exp $
+<?php // $Id: index.php 15794 2005-02-20 21:57:24Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Polls/lang/eng/init.php 0.763/modules/Polls/lang/eng/init.php
--- 0.762/modules/Polls/lang/eng/init.php	2005-02-26 07:46:33.000000000 -0600
+++ 0.763/modules/Polls/lang/eng/init.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: init.php,v 1.1 2005/02/26 13:46:33 landseer Exp $
+// File: $Id: init.php 15864 2005-02-26 13:46:33Z landseer $
 // ----------------------------------------------------------------------
 // Original Author of file: ???
 // Purpose of file: Poll defines.
diff -ruN 0.762/modules/Polls/pninit.php 0.763/modules/Polls/pninit.php
--- 0.762/modules/Polls/pninit.php	2005-02-26 07:46:32.000000000 -0600
+++ 0.763/modules/Polls/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.2 2005/02/26 13:46:32 landseer Exp $ $Name:  $
+// $Id: pninit.php 15864 2005-02-26 13:46:33Z landseer $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
 /**
  * init polls module
  * @author Xiaoyu Huang
- * @version $Revision: 1.2 $
+ * @version $Revision: 15864 $
  * @return bool true if successful, false otherwise
  */
 function Polls_init()
@@ -118,7 +118,7 @@
 /**
  * upgrade
  * @author Xiaoyu Huang
- * @version $Revision: 1.2 $
+ * @version $Revision: 15864 $
  * @return bool true if successful, false otherwise
  */
 function Polls_upgrade($oldversion)
@@ -130,7 +130,7 @@
 /**
  * delete the polls module
  * @author Xiaoyu Huang
- * @version $Revision: 1.2 $
+ * @version $Revision: 15864 $
  * @return bool true if successful, false otherwise
  */
 function Polls_delete()
diff -ruN 0.762/modules/Quotes/pnadmin.php 0.763/modules/Quotes/pnadmin.php
--- 0.762/modules/Quotes/pnadmin.php	2006-01-12 07:40:37.000000000 -0600
+++ 0.763/modules/Quotes/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnadmin.php,v 1.29.2.1 2006/01/12 13:40:37 markwest Exp $
+// File: $Id: pnadmin.php 17529 2006-01-12 13:42:10Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Quotes/pnadminapi.php 0.763/modules/Quotes/pnadminapi.php
--- 0.762/modules/Quotes/pnadminapi.php	2005-02-04 00:35:40.000000000 -0600
+++ 0.763/modules/Quotes/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnadminapi.php,v 1.15 2005/02/04 06:35:40 jorg Exp $
+// File: $Id: pnadminapi.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Quotes/pnblocks/quote.php 0.763/modules/Quotes/pnblocks/quote.php
--- 0.762/modules/Quotes/pnblocks/quote.php	2005-02-04 00:35:40.000000000 -0600
+++ 0.763/modules/Quotes/pnblocks/quote.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: quote.php,v 1.14 2005/02/04 06:35:40 jorg Exp $
+// File: $Id: quote.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Quotes/pninit.php 0.763/modules/Quotes/pninit.php
--- 0.762/modules/Quotes/pninit.php	2005-02-19 13:53:57.000000000 -0600
+++ 0.763/modules/Quotes/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.18 2005/02/19 19:53:57 markwest Exp $
+// $Id: pninit.php 15762 2005-02-19 19:55:07Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Quotes/pntables.php 0.763/modules/Quotes/pntables.php
--- 0.762/modules/Quotes/pntables.php	2005-01-10 09:18:43.000000000 -0600
+++ 0.763/modules/Quotes/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.7 2005/01/10 15:18:43 markwest Exp $
+// $Id: pntables.php 15325 2005-01-10 15:18:45Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Quotes/pntemplates/plugins/function.quotesadminlinks.php 0.763/modules/Quotes/pntemplates/plugins/function.quotesadminlinks.php
--- 0.762/modules/Quotes/pntemplates/plugins/function.quotesadminlinks.php	2004-07-16 14:07:03.000000000 -0500
+++ 0.763/modules/Quotes/pntemplates/plugins/function.quotesadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.quotesadminlinks.php,v 1.3 2004/07/16 19:07:03 markwest Exp $
+// $Id: function.quotesadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_Content_Modules
  * @subpackage   Quotes
- * @version      $Id: function.quotesadminlinks.php,v 1.3 2004/07/16 19:07:03 markwest Exp $
+ * @version      $Id: function.quotesadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Quotes/pntemplates/quotes_admin_delete.htm 0.763/modules/Quotes/pntemplates/quotes_admin_delete.htm
--- 0.762/modules/Quotes/pntemplates/quotes_admin_delete.htm	2005-01-19 05:51:27.000000000 -0600
+++ 0.763/modules/Quotes/pntemplates/quotes_admin_delete.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: quotes_admin_delete.htm,v 1.2 2005/01/19 11:51:27 markwest Exp $  *]-->
+<!--[*  $Id: quotes_admin_delete.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="quotes_admin_menu.htm"]-->
 <h2><!--[pnml name="_QUOTESDELETE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Quotes" type="admin" func="delete"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Quotes/pntemplates/quotes_admin_main.htm 0.763/modules/Quotes/pntemplates/quotes_admin_main.htm
--- 0.762/modules/Quotes/pntemplates/quotes_admin_main.htm	2004-12-14 05:06:45.000000000 -0600
+++ 0.763/modules/Quotes/pntemplates/quotes_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: quotes_admin_main.htm,v 1.2 2004/12/14 11:06:45 markwest Exp $  *]-->
+<!--[*  $Id: quotes_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=Quotes type=admin func=view]-->
\ No newline at end of file
diff -ruN 0.762/modules/Quotes/pntemplates/quotes_admin_menu.htm 0.763/modules/Quotes/pntemplates/quotes_admin_menu.htm
--- 0.762/modules/Quotes/pntemplates/quotes_admin_menu.htm	2005-01-19 07:11:07.000000000 -0600
+++ 0.763/modules/Quotes/pntemplates/quotes_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: quotes_admin_menu.htm,v 1.3 2005/01/19 13:11:07 landseer Exp $  *]-->
+<!--[*  $Id: quotes_admin_menu.htm 15415 2005-01-19 13:14:01Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_QUOTES"]--></h1>
diff -ruN 0.762/modules/Quotes/pntemplates/quotes_admin_modify.htm 0.763/modules/Quotes/pntemplates/quotes_admin_modify.htm
--- 0.762/modules/Quotes/pntemplates/quotes_admin_modify.htm	2005-01-19 05:51:27.000000000 -0600
+++ 0.763/modules/Quotes/pntemplates/quotes_admin_modify.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: quotes_admin_modify.htm,v 1.2 2005/01/19 11:51:27 markwest Exp $  *]-->
+<!--[*  $Id: quotes_admin_modify.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="quotes_admin_menu.htm"]-->
 <h2><!--[pnml name="_QUOTESMODIFY"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Quotes" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Quotes/pntemplates/quotes_admin_modifyconfig.htm 0.763/modules/Quotes/pntemplates/quotes_admin_modifyconfig.htm
--- 0.762/modules/Quotes/pntemplates/quotes_admin_modifyconfig.htm	2005-01-19 05:51:27.000000000 -0600
+++ 0.763/modules/Quotes/pntemplates/quotes_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: quotes_admin_modifyconfig.htm,v 1.2 2005/01/19 11:51:27 markwest Exp $  *]-->
+<!--[*  $Id: quotes_admin_modifyconfig.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="quotes_admin_menu.htm"]-->
 <h2><!--[pnml name=_QUOTESMODIFYCONFIG]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Quotes" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Quotes/pntemplates/quotes_admin_new.htm 0.763/modules/Quotes/pntemplates/quotes_admin_new.htm
--- 0.762/modules/Quotes/pntemplates/quotes_admin_new.htm	2005-01-19 05:51:27.000000000 -0600
+++ 0.763/modules/Quotes/pntemplates/quotes_admin_new.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: quotes_admin_new.htm,v 1.2 2005/01/19 11:51:27 markwest Exp $  *]-->
+<!--[*  $Id: quotes_admin_new.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="quotes_admin_menu.htm"]-->
 <h2><!--[pnml name="_QUOTESCREATE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Quotes" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Quotes/pntemplates/quotes_admin_search.htm 0.763/modules/Quotes/pntemplates/quotes_admin_search.htm
--- 0.762/modules/Quotes/pntemplates/quotes_admin_search.htm	2004-12-05 10:54:49.000000000 -0600
+++ 0.763/modules/Quotes/pntemplates/quotes_admin_search.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: quotes_admin_search.htm,v 1.1 2004/12/05 16:54:49 markwest Exp $  *]-->
+<!--[*  $Id: quotes_admin_search.htm 15031 2004-12-05 16:54:49Z markwest $  *]-->
 <!--[include file="quotes_admin_menu.htm"]-->
 <h2><!--[pnml name=_QUOTESSEARCHRESULTS]--></h2>
 <form action="<!--[pnmodurl modname=Quotes type=admin func=search]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Quotes/pntemplates/quotes_admin_view.htm 0.763/modules/Quotes/pntemplates/quotes_admin_view.htm
--- 0.762/modules/Quotes/pntemplates/quotes_admin_view.htm	2004-12-14 05:08:05.000000000 -0600
+++ 0.763/modules/Quotes/pntemplates/quotes_admin_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: quotes_admin_view.htm,v 1.2 2004/12/14 11:08:05 markwest Exp $  *]-->
+<!--[*  $Id: quotes_admin_view.htm 15156 2004-12-14 11:08:05Z markwest $  *]-->
 <!--[include file="quotes_admin_menu.htm"]-->
 <h2><!--[pnml name="_QUOTESVIEW"]--></h2>
 <form action="<!--[pnmodurl modname=Quotes type=admin func=search]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Quotes/pnuserapi.php 0.763/modules/Quotes/pnuserapi.php
--- 0.762/modules/Quotes/pnuserapi.php	2005-01-10 09:18:43.000000000 -0600
+++ 0.763/modules/Quotes/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.10 2005/01/10 15:18:43 markwest Exp $
+// $Id: pnuserapi.php 15325 2005-01-10 15:18:45Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Quotes/pnversion.php 0.763/modules/Quotes/pnversion.php
--- 0.762/modules/Quotes/pnversion.php	2005-02-04 00:35:40.000000000 -0600
+++ 0.763/modules/Quotes/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.4 2005/02/04 06:35:40 jorg Exp $
+// $Id: pnversion.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pnadmin.php 0.763/modules/RSS/pnadmin.php
--- 0.762/modules/RSS/pnadmin.php	2006-01-12 07:47:57.000000000 -0600
+++ 0.763/modules/RSS/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.16.2.1 2006/01/12 13:47:57 markwest Exp $
+// $Id: pnadmin.php 17533 2006-01-12 13:49:21Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pnadminapi.php 0.763/modules/RSS/pnadminapi.php
--- 0.762/modules/RSS/pnadminapi.php	2005-08-21 06:01:23.000000000 -0500
+++ 0.763/modules/RSS/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.18 2005/08/21 11:01:23 markwest Exp $
+// $Id: pnadminapi.php 16659 2005-08-21 11:01:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pnblocks/displayfeed.php 0.763/modules/RSS/pnblocks/displayfeed.php
--- 0.762/modules/RSS/pnblocks/displayfeed.php	2005-01-10 09:29:58.000000000 -0600
+++ 0.763/modules/RSS/pnblocks/displayfeed.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: displayfeed.php,v 1.10 2005/01/10 15:29:58 markwest Exp $
+// $Id: displayfeed.php 15327 2005-01-10 15:29:58Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pnincludes/CHANGES 0.763/modules/RSS/pnincludes/CHANGES
--- 0.762/modules/RSS/pnincludes/CHANGES	2005-01-08 14:35:41.000000000 -0600
+++ 0.763/modules/RSS/pnincludes/CHANGES	2006-10-17 16:24:08.000000000 -0500
@@ -1,3 +1,7 @@
+Version 0.72
+-----------
+    - fix security exploit: http://www.sec-consult.com/216.html
+    
 Version 0.7
 -----------
     - support for input and output charset encoding
diff -ruN 0.762/modules/RSS/pnincludes/ChangeLog 0.763/modules/RSS/pnincludes/ChangeLog
--- 0.762/modules/RSS/pnincludes/ChangeLog	2005-01-08 14:35:41.000000000 -0600
+++ 0.763/modules/RSS/pnincludes/ChangeLog	2006-10-17 16:24:08.000000000 -0500
@@ -1,3 +1,35 @@
+2005-10-28 14:11  kellan
+
+	* extlib/Snoopy.class.inc: a better solution
+
+2005-10-28 11:51  kellan
+
+	* extlib/Snoopy.class.inc: fix arbtriary code execution
+	  vulnerability when using curl+ssl
+
+	  http://www.sec-consult.com/216.html
+
+2005-03-08 10:46  kellan
+
+	* rss_parse.inc: fix bug w/ atom and date normalization
+
+2005-02-09 14:59  kellan
+
+	* rss_fetch.inc: fix stale cache bug
+
+2005-01-28 02:27  kellan
+
+	* rss_parse.inc: support php w/o array_change_case
+
+2005-01-23 20:02  kellan
+
+	* rss_fetch.inc: fix cache bug introduced by charset encoding
+
+2005-01-12 09:14  kellan
+
+	* rss_cache.inc, rss_fetch.inc: more sanity checks for when things
+	  go wrong
+
 2004-12-12 13:44  kellan
 
 	* INSTALL, rss_cache.inc, rss_utils.inc: detab
diff -ruN 0.762/modules/RSS/pnincludes/extlib/Snoopy.class.inc 0.763/modules/RSS/pnincludes/extlib/Snoopy.class.inc
--- 0.762/modules/RSS/pnincludes/extlib/Snoopy.class.inc	2005-10-26 10:43:46.000000000 -0500
+++ 0.763/modules/RSS/pnincludes/extlib/Snoopy.class.inc	2006-10-17 16:24:08.000000000 -0500
@@ -48,7 +48,7 @@
 	var $proxy_user		=	"";					// proxy user to use
 	var $proxy_pass		=	"";					// proxy password to use
 	
-	var $agent			=	"Snoopy v1.01";		// agent we masquerade as
+	var $agent			=	"Snoopy v1.2.3";	// agent we masquerade as
 	var	$referer		=	"";					// referer info to pass
 	var $cookies		=	array();			// array of cookies to pass
 												// $cookies["username"]="joe";
@@ -140,7 +140,7 @@
 		if (empty($URI_PARTS["path"]))
 			$URI_PARTS["path"] = '';
 				
-		switch($URI_PARTS["scheme"])
+		switch(strtolower($URI_PARTS["scheme"]))
 		{
 			case "http":
 				$this->host = $URI_PARTS["host"];
@@ -292,7 +292,7 @@
 		if (empty($URI_PARTS["path"]))
 			$URI_PARTS["path"] = '';
 
-		switch($URI_PARTS["scheme"])
+		switch(strtolower($URI_PARTS["scheme"]))
 		{
 			case "http":
 				$this->host = $URI_PARTS["host"];
@@ -793,8 +793,12 @@
 		$headers = $http_method." ".$url." ".$this->_httpversion."\r\n";		
 		if(!empty($this->agent))
 			$headers .= "User-Agent: ".$this->agent."\r\n";
-		if(!empty($this->host) && !isset($this->rawheaders['Host']))
-			$headers .= "Host: ".$this->host."\r\n";
+		if(!empty($this->host) && !isset($this->rawheaders['Host'])) {
+			$headers .= "Host: ".$this->host;
+			if(!empty($this->port))
+				$headers .= ":".$this->port;
+			$headers .= "\r\n";
+		}
 		if(!empty($this->accept))
 			$headers .= "Accept: ".$this->accept."\r\n";
 		if(!empty($this->referer))
@@ -863,7 +867,7 @@
 			if(preg_match("/^(Location:|URI:)/i",$currentHeader))
 			{
 				// get URL portion of the redirect
-				preg_match("/^(Location:|URI:)[ ]+(.*)/",chop($currentHeader),$matches);
+				preg_match("/^(Location:|URI:)[ ]+(.*)/i",chop($currentHeader),$matches);
 				// look for :// in the Location header to see if hostname is included
 				if(!preg_match("|\:\/\/|",$matches[2]))
 				{
@@ -955,7 +959,10 @@
 		if(!empty($this->agent))
 			$headers[] = "User-Agent: ".$this->agent;
 		if(!empty($this->host))
-			$headers[] = "Host: ".$this->host;
+			if(!empty($this->port))
+				$headers[] = "Host: ".$this->host.":".$this->port;
+			else
+				$headers[] = "Host: ".$this->host;
 		if(!empty($this->accept))
 			$headers[] = "Accept: ".$this->accept;
 		if(!empty($this->referer))
@@ -992,9 +999,10 @@
 		if(!empty($this->user) || !empty($this->pass))	
 			$headers[] = "Authorization: BASIC ".base64_encode($this->user.":".$this->pass);
 			
-		for($curr_header = 0; $curr_header < count($headers); $curr_header++)
+		for($curr_header = 0; $curr_header < count($headers); $curr_header++) {
 			$safer_header = strtr( $headers[$curr_header], "\"", " " );
 			$cmdline_params .= " -H \"".$safer_header."\"";
+		}
 		
 		if(!empty($body))
 			$cmdline_params .= " -d \"$body\"";
diff -ruN 0.762/modules/RSS/pnincludes/rss_cache.inc 0.763/modules/RSS/pnincludes/rss_cache.inc
--- 0.762/modules/RSS/pnincludes/rss_cache.inc	2005-01-08 14:35:41.000000000 -0600
+++ 0.763/modules/RSS/pnincludes/rss_cache.inc	2006-10-17 16:24:08.000000000 -0500
@@ -93,10 +93,14 @@
             return 0;
         }
         
-        $data = fread( $fp, filesize($cache_file) );
-        $rss = $this->unserialize( $data );
+        if ($filesize = filesize($cache_file) ) {
+        	$data = fread( $fp, filesize($cache_file) );
+        	$rss = $this->unserialize( $data );
         
-        return $rss;
+        	return $rss;
+    	}
+    	
+    	return 0;
     }
 
 /*=======================================================================*\
@@ -130,6 +134,18 @@
         }
     }
 
+	function cache_age( $cache_key ) {
+		$filename = $this->file_name( $url );
+		if ( file_exists( $filename ) ) {
+			$mtime = filemtime( $filename );
+            $age = time() - $mtime;
+			return $age;
+		}
+		else {
+			return -1;	
+		}
+	}
+	
 /*=======================================================================*\
     Function:   serialize
 \*=======================================================================*/     
diff -ruN 0.762/modules/RSS/pnincludes/rss_fetch.inc 0.763/modules/RSS/pnincludes/rss_fetch.inc
--- 0.762/modules/RSS/pnincludes/rss_fetch.inc	2005-01-08 14:35:41.000000000 -0600
+++ 0.763/modules/RSS/pnincludes/rss_fetch.inc	2006-10-17 16:24:08.000000000 -0500
@@ -41,8 +41,6 @@
     require_once(MAGPIE_EXTLIB . 'Snoopy.class.inc');
 }
 
-
-
 /* 
  * CONSTANTS - redefine these in your script to change the
  * behaviour of fetch_rss() currently, most options effect the cache
@@ -89,7 +87,7 @@
     version will be return, if it exists (and if MAGPIE_CACHE_FRESH_ONLY is off)
 \*=======================================================================*/
 
-define('MAGPIE_VERSION', '0.7');
+define('MAGPIE_VERSION', '0.72');
 
 $MAGPIE_ERROR = "";
 
@@ -142,15 +140,16 @@
             // return cache HIT, MISS, or STALE
             $cache_status = $cache->check_cache( $cache_key);
         }
-        
+                
         // if object cached, and cache is fresh, return cached obj
         if ( $cache_status == 'HIT' ) {
             $rss = $cache->get( $cache_key );
             if ( isset($rss) and $rss ) {
+                // should be cache age
                 $rss->from_cache = 1;
                 if ( MAGPIE_DEBUG > 1) {
-                debug("MagpieRSS: Cache HIT", E_USER_NOTICE);
-            }
+                    debug("MagpieRSS: Cache HIT", E_USER_NOTICE);
+                }
                 return $rss;
             }
         }
@@ -159,8 +158,8 @@
         
         // setup headers
         if ( $cache_status == 'STALE' ) {
-            $rss = $cache->get( $url );
-            if ( $rss->etag and $rss->last_modified ) {
+            $rss = $cache->get( $cache_key );
+            if ( $rss and $rss->etag and $rss->last_modified ) {
                 $request_headers['If-None-Match'] = $rss->etag;
                 $request_headers['If-Last-Modified'] = $rss->last_modified;
             }
@@ -169,7 +168,7 @@
         $resp = _fetch_remote_file( $url, $request_headers );
         
         if (isset($resp) and $resp) {
-            if ($resp->status == '304' ) {
+          if ($resp->status == '304' ) {
                 // we have the most current copy
                 if ( MAGPIE_DEBUG > 1) {
                     debug("Got 304 for $url");
@@ -190,7 +189,7 @@
                 }
             }
             else {
-                $errormsg = "Failed to fetch $url. ";
+                $errormsg = "Failed to fetch $url ";
                 if ( $resp->status == '-100' ) {
                     $errormsg .= "(Request timed out after " . MAGPIE_FETCH_TIME_OUT . " seconds)";
                 }
diff -ruN 0.762/modules/RSS/pnincludes/rss_parse.inc 0.763/modules/RSS/pnincludes/rss_parse.inc
--- 0.762/modules/RSS/pnincludes/rss_parse.inc	2005-01-08 14:35:41.000000000 -0600
+++ 0.763/modules/RSS/pnincludes/rss_parse.inc	2006-10-17 16:24:08.000000000 -0500
@@ -60,7 +60,6 @@
     var $incontent          = false; // if in Atom <content mode="xml"> field 
     var $intextinput        = false;
     var $inimage            = false;
-    var $current_field      = '';
     var $current_namespace  = false;
     
 
@@ -259,7 +258,6 @@
 
     
     function feed_cdata ($p, $text) {
-        
         if ($this->feed_type == ATOM and $this->incontent) 
         {
             $this->append_content( $text );
@@ -391,7 +389,7 @@
                 
                 $atom_date = (isset($item['issued']) ) ? $item['issued'] : $item['modified'];
                 if ( $atom_date ) {
-                    $epoch = @parse_w3cdtf($item['modified']);
+                    $epoch = @parse_w3cdtf($atom_date);
                     if ($epoch and $epoch > 0) {
                         $item['date_timestamp'] = $epoch;
                     }
@@ -560,7 +558,7 @@
 
     function error ($errormsg, $lvl=E_USER_WARNING) {
         // append PHP's error message if track_errors enabled
-        if ( $php_errormsg ) { 
+        if ( isset($php_errormsg) ) { 
             $errormsg .= " ($php_errormsg)";
         }
         if ( MAGPIE_DEBUG ) {
@@ -585,5 +583,23 @@
     return "$k=\"$v\"";
 }
 
+// patch to support medieval versions of PHP4.1.x, 
+// courtesy, Ryan Currie, ryan@digibliss.com
+
+if (!function_exists('array_change_key_case')) {
+	define("CASE_UPPER",1);
+	define("CASE_LOWER",0);
+
+
+	function array_change_key_case($array,$case=CASE_LOWER) {
+       if ($case=CASE_LOWER) $cmd=strtolower;
+       elseif ($case=CASE_UPPER) $cmd=strtoupper;
+       foreach($array as $key=>$value) {
+               $output[$cmd($key)]=$value;
+       }
+       return $output;
+	}
+
+}
 
 ?>
diff -ruN 0.762/modules/RSS/pninit.php 0.763/modules/RSS/pninit.php
--- 0.762/modules/RSS/pninit.php	2005-08-21 06:01:23.000000000 -0500
+++ 0.763/modules/RSS/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.12 2005/08/21 11:01:23 markwest Exp $
+// $Id: pninit.php 16659 2005-08-21 11:01:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pnlang/eng/admin.php 0.763/modules/RSS/pnlang/eng/admin.php
--- 0.762/modules/RSS/pnlang/eng/admin.php	2005-08-21 06:01:23.000000000 -0500
+++ 0.763/modules/RSS/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.9 2005/08/21 11:01:23 markwest Exp $
+// $Id: admin.php 16659 2005-08-21 11:01:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pnlang/eng/displayfeed.php 0.763/modules/RSS/pnlang/eng/displayfeed.php
--- 0.762/modules/RSS/pnlang/eng/displayfeed.php	2003-10-13 05:12:24.000000000 -0500
+++ 0.763/modules/RSS/pnlang/eng/displayfeed.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: displayfeed.php,v 1.2 2003/10/13 10:12:24 markwest Exp $
+<?php // $Id: displayfeed.php 11596 2003-10-13 10:12:24Z markwest $
 // ----------------------------------------------------------------------
 // Original Author of file: Jim McDonald
 // Purpose of file:  Language defines for first.php block
diff -ruN 0.762/modules/RSS/pnlang/eng/user.php 0.763/modules/RSS/pnlang/eng/user.php
--- 0.762/modules/RSS/pnlang/eng/user.php	2005-07-02 13:45:00.000000000 -0500
+++ 0.763/modules/RSS/pnlang/eng/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: user.php,v 1.6 2005/07/02 18:45:00 jorg Exp $
+// $Id: user.php 16362 2005-07-02 18:45:00Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pntables.php 0.763/modules/RSS/pntables.php
--- 0.762/modules/RSS/pntables.php	2004-06-02 11:13:45.000000000 -0500
+++ 0.763/modules/RSS/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.3 2004/06/02 16:13:45 markwest Exp $
+// $Id: pntables.php 13719 2004-06-02 16:21:28Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pntemplates/plugins/function.rssadminlinks.php 0.763/modules/RSS/pntemplates/plugins/function.rssadminlinks.php
--- 0.762/modules/RSS/pntemplates/plugins/function.rssadminlinks.php	2004-07-16 14:07:03.000000000 -0500
+++ 0.763/modules/RSS/pntemplates/plugins/function.rssadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.rssadminlinks.php,v 1.2 2004/07/16 19:07:03 markwest Exp $
+// $Id: function.rssadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_Content_Modules
  * @subpackage   RSS
- * @version      $Id: function.rssadminlinks.php,v 1.2 2004/07/16 19:07:03 markwest Exp $
+ * @version      $Id: function.rssadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/RSS/pntemplates/rss_admin_delete.htm 0.763/modules/RSS/pntemplates/rss_admin_delete.htm
--- 0.762/modules/RSS/pntemplates/rss_admin_delete.htm	2005-01-19 05:51:25.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_admin_delete.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_admin_delete.htm,v 1.2 2005/01/19 11:51:25 markwest Exp $  *]-->
+<!--[*  $Id: rss_admin_delete.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="rss_admin_menu.htm"]-->
 <h2><!--[pnml name="_RSSDELETE"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="RSS" type="admin" func="delete"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/RSS/pntemplates/rss_admin_main.htm 0.763/modules/RSS/pntemplates/rss_admin_main.htm
--- 0.762/modules/RSS/pntemplates/rss_admin_main.htm	2004-12-14 05:12:40.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: rss_admin_main.htm,v 1.2 2004/12/14 11:12:40 markwest Exp $  *]-->
+<!--[*  $Id: rss_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=RSS type=admin func=view]-->
\ No newline at end of file
diff -ruN 0.762/modules/RSS/pntemplates/rss_admin_menu.htm 0.763/modules/RSS/pntemplates/rss_admin_menu.htm
--- 0.762/modules/RSS/pntemplates/rss_admin_menu.htm	2005-01-19 07:12:14.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_admin_menu.htm,v 1.2 2005/01/19 13:12:14 landseer Exp $  *]-->
+<!--[*  $Id: rss_admin_menu.htm 15415 2005-01-19 13:14:01Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_RSS"]--></h1>
diff -ruN 0.762/modules/RSS/pntemplates/rss_admin_modify.htm 0.763/modules/RSS/pntemplates/rss_admin_modify.htm
--- 0.762/modules/RSS/pntemplates/rss_admin_modify.htm	2005-01-19 05:51:25.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_admin_modify.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_admin_modify.htm,v 1.2 2005/01/19 11:51:25 markwest Exp $  *]-->
+<!--[*  $Id: rss_admin_modify.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="rss_admin_menu.htm"]-->
 <h2><!--[pnml name="_RSSEDIT"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="RSS" type="admin" func="update"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/RSS/pntemplates/rss_admin_modifyconfig.htm 0.763/modules/RSS/pntemplates/rss_admin_modifyconfig.htm
--- 0.762/modules/RSS/pntemplates/rss_admin_modifyconfig.htm	2005-01-19 05:51:25.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_admin_modifyconfig.htm,v 1.2 2005/01/19 11:51:25 markwest Exp $  *]-->
+<!--[*  $Id: rss_admin_modifyconfig.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="rss_admin_menu.htm"]-->
 <h2><!--[pnml name="_RSSMODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="RSS" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/RSS/pntemplates/rss_admin_new.htm 0.763/modules/RSS/pntemplates/rss_admin_new.htm
--- 0.762/modules/RSS/pntemplates/rss_admin_new.htm	2005-05-21 12:57:18.000000000 -0500
+++ 0.763/modules/RSS/pntemplates/rss_admin_new.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_admin_new.htm,v 1.3 2005/05/21 17:57:18 markwest Exp $  *]-->
+<!--[*  $Id: rss_admin_new.htm 16263 2005-05-21 17:57:18Z markwest $  *]-->
 <!--[include file="rss_admin_menu.htm"]-->
 <h2><!--[pnml name="_RSSADD"]--></h2>
 <form  class="pn-adminform" action="<!--[pnmodurl modname="RSS" type="admin" func="create"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/RSS/pntemplates/rss_admin_view.htm 0.763/modules/RSS/pntemplates/rss_admin_view.htm
--- 0.762/modules/RSS/pntemplates/rss_admin_view.htm	2004-12-14 05:14:23.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_admin_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_admin_view.htm,v 1.2 2004/12/14 11:14:23 markwest Exp $  *]-->
+<!--[*  $Id: rss_admin_view.htm 15158 2004-12-14 11:14:23Z markwest $  *]-->
 <!--[include file="rss_admin_menu.htm"]-->
 <h2><!--[pnml name="_RSSVIEW"]--></h2>
 <table class="pn-admintable">
diff -ruN 0.762/modules/RSS/pntemplates/rss_user_display.htm 0.763/modules/RSS/pntemplates/rss_user_display.htm
--- 0.762/modules/RSS/pntemplates/rss_user_display.htm	2005-06-03 04:23:58.000000000 -0500
+++ 0.763/modules/RSS/pntemplates/rss_user_display.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_user_display.htm,v 1.3 2005/06/03 09:23:58 markwest Exp $  *]-->
+<!--[*  $Id: rss_user_display.htm 16291 2005-06-03 09:23:58Z markwest $  *]-->
 <!--[include file="rss_user_menu.htm"]-->
 <!--[if $feed->image.url neq ""]-->
 	<div class="rss-image">
diff -ruN 0.762/modules/RSS/pntemplates/rss_user_main.htm 0.763/modules/RSS/pntemplates/rss_user_main.htm
--- 0.762/modules/RSS/pntemplates/rss_user_main.htm	2004-12-05 13:33:45.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_user_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: rss_user_main.htm,v 1.1 2004/12/05 19:33:45 markwest Exp $  *]-->
+<!--[*  $Id: rss_user_main.htm 15040 2004-12-05 19:33:45Z markwest $  *]-->
 <!--[$main]-->
\ No newline at end of file
diff -ruN 0.762/modules/RSS/pntemplates/rss_user_menu.htm 0.763/modules/RSS/pntemplates/rss_user_menu.htm
--- 0.762/modules/RSS/pntemplates/rss_user_menu.htm	2004-12-05 13:33:45.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_user_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_user_menu.htm,v 1.1 2004/12/05 19:33:45 markwest Exp $  *]-->
+<!--[*  $Id: rss_user_menu.htm 15040 2004-12-05 19:33:45Z markwest $  *]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_RSS"]--></h1>
 <div class="pn-menu">
diff -ruN 0.762/modules/RSS/pntemplates/rss_user_view.htm 0.763/modules/RSS/pntemplates/rss_user_view.htm
--- 0.762/modules/RSS/pntemplates/rss_user_view.htm	2004-12-05 13:33:45.000000000 -0600
+++ 0.763/modules/RSS/pntemplates/rss_user_view.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: rss_user_view.htm,v 1.1 2004/12/05 19:33:45 markwest Exp $  *]-->
+<!--[*  $Id: rss_user_view.htm 15040 2004-12-05 19:33:45Z markwest $  *]-->
 <!--[include file="rss_user_menu.htm"]-->
 <h2><!--[pnml name=_RSSAVAILABLEFEEDS]--></h2>
 <!--[pnmodurl modname=RSS func=view startnum=$startnum assign=returnurl]-->
diff -ruN 0.762/modules/RSS/pnuser.php 0.763/modules/RSS/pnuser.php
--- 0.762/modules/RSS/pnuser.php	2005-06-03 04:23:58.000000000 -0500
+++ 0.763/modules/RSS/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.18 2005/06/03 09:23:58 markwest Exp $
+// $Id: pnuser.php 16291 2005-06-03 09:23:58Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pnuserapi.php 0.763/modules/RSS/pnuserapi.php
--- 0.762/modules/RSS/pnuserapi.php	2005-10-24 10:37:20.000000000 -0500
+++ 0.763/modules/RSS/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.17.2.1 2005/10/24 15:37:20 markwest Exp $
+// $Id: pnuserapi.php 16928 2005-10-24 15:37:20Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/RSS/pnversion.php 0.763/modules/RSS/pnversion.php
--- 0.762/modules/RSS/pnversion.php	2004-06-02 11:13:45.000000000 -0500
+++ 0.763/modules/RSS/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.2 2004/06/02 16:13:45 markwest Exp $
+// $Id: pnversion.php 13719 2004-06-02 16:21:28Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pnadmin.php 0.763/modules/Ratings/pnadmin.php
--- 0.762/modules/Ratings/pnadmin.php	2006-01-12 07:42:45.000000000 -0600
+++ 0.763/modules/Ratings/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.19.2.1 2006/01/12 13:42:45 markwest Exp $
+// $Id: pnadmin.php 17530 2006-01-12 13:42:45Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pnadminapi.php 0.763/modules/Ratings/pnadminapi.php
--- 0.762/modules/Ratings/pnadminapi.php	2005-03-15 03:39:04.000000000 -0600
+++ 0.763/modules/Ratings/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.5 2005/03/15 09:39:04 markwest Exp $
+// $Id: pnadminapi.php 15985 2005-03-15 09:39:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pninit.php 0.763/modules/Ratings/pninit.php
--- 0.762/modules/Ratings/pninit.php	2006-02-03 03:28:10.000000000 -0600
+++ 0.763/modules/Ratings/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.17.2.1 2006/02/03 09:28:10 markwest Exp $
+// $Id: pninit.php 17835 2006-02-03 09:28:10Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pnlang/eng/adminapi.php 0.763/modules/Ratings/pnlang/eng/adminapi.php
--- 0.762/modules/Ratings/pnlang/eng/adminapi.php	2004-05-28 09:08:58.000000000 -0500
+++ 0.763/modules/Ratings/pnlang/eng/adminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: adminapi.php,v 1.3 2004/05/28 14:08:58 markwest Exp $
+// $Id: adminapi.php 13690 2004-05-28 14:12:09Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pnlang/eng/userapi.php 0.763/modules/Ratings/pnlang/eng/userapi.php
--- 0.762/modules/Ratings/pnlang/eng/userapi.php	2004-04-22 07:28:03.000000000 -0500
+++ 0.763/modules/Ratings/pnlang/eng/userapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: userapi.php,v 1.2 2004/04/22 12:28:03 drak Exp $
+// $Id: userapi.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pntables.php 0.763/modules/Ratings/pntables.php
--- 0.762/modules/Ratings/pntables.php	2005-01-10 09:25:04.000000000 -0600
+++ 0.763/modules/Ratings/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.8 2005/01/10 15:25:04 markwest Exp $
+// $Id: pntables.php 15326 2005-01-10 15:25:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pntemplates/plugins/function.ratingsadminlinks.php 0.763/modules/Ratings/pntemplates/plugins/function.ratingsadminlinks.php
--- 0.762/modules/Ratings/pntemplates/plugins/function.ratingsadminlinks.php	2004-07-16 14:07:03.000000000 -0500
+++ 0.763/modules/Ratings/pntemplates/plugins/function.ratingsadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.ratingsadminlinks.php,v 1.2 2004/07/16 19:07:03 markwest Exp $
+// $Id: function.ratingsadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_Utility_Modules
  * @subpackage   Ratings
- * @version      $Id: function.ratingsadminlinks.php,v 1.2 2004/07/16 19:07:03 markwest Exp $
+ * @version      $Id: function.ratingsadminlinks.php 14025 2004-07-16 19:07:04Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Ratings/pntemplates/ratings_admin_main.htm 0.763/modules/Ratings/pntemplates/ratings_admin_main.htm
--- 0.762/modules/Ratings/pntemplates/ratings_admin_main.htm	2004-12-14 05:11:43.000000000 -0600
+++ 0.763/modules/Ratings/pntemplates/ratings_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: ratings_admin_main.htm,v 1.2 2004/12/14 11:11:43 markwest Exp $  *]-->
+<!--[*  $Id: ratings_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=Ratings type=admin func=modifyconfig]-->
\ No newline at end of file
diff -ruN 0.762/modules/Ratings/pntemplates/ratings_admin_menu.htm 0.763/modules/Ratings/pntemplates/ratings_admin_menu.htm
--- 0.762/modules/Ratings/pntemplates/ratings_admin_menu.htm	2005-02-02 06:26:55.000000000 -0600
+++ 0.763/modules/Ratings/pntemplates/ratings_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ratings_admin_menu.htm,v 1.3 2005/02/02 12:26:55 landseer Exp $  *]-->
+<!--[*  $Id: ratings_admin_menu.htm 15590 2005-02-02 12:26:55Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name=_RATINGS]--></h1>
diff -ruN 0.762/modules/Ratings/pntemplates/ratings_admin_modifyconfig.htm 0.763/modules/Ratings/pntemplates/ratings_admin_modifyconfig.htm
--- 0.762/modules/Ratings/pntemplates/ratings_admin_modifyconfig.htm	2005-01-19 05:51:28.000000000 -0600
+++ 0.763/modules/Ratings/pntemplates/ratings_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ratings_admin_modifyconfig.htm,v 1.2 2005/01/19 11:51:28 markwest Exp $  *]-->
+<!--[*  $Id: ratings_admin_modifyconfig.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="ratings_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="Ratings" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/Ratings/pntemplates/ratings_user_display.htm 0.763/modules/Ratings/pntemplates/ratings_user_display.htm
--- 0.762/modules/Ratings/pntemplates/ratings_user_display.htm	2005-03-15 03:48:53.000000000 -0600
+++ 0.763/modules/Ratings/pntemplates/ratings_user_display.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: ratings_user_display.htm,v 1.4 2005/03/15 09:48:53 markwest Exp $  *]-->
+<!--[*  $Id: ratings_user_display.htm 15986 2005-03-15 09:48:54Z markwest $  *]-->
 <!--[if $showrating eq 1]-->
   <!--[pnml name="_RATING"]-->
   <!--[if $style eq 'percentage']-->
diff -ruN 0.762/modules/Ratings/pnuser.php 0.763/modules/Ratings/pnuser.php
--- 0.762/modules/Ratings/pnuser.php	2006-02-03 06:21:53.000000000 -0600
+++ 0.763/modules/Ratings/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.27.2.1 2006/02/03 12:21:53 markwest Exp $
+// $Id: pnuser.php 17838 2006-02-03 12:21:53Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pnuserapi.php 0.763/modules/Ratings/pnuserapi.php
--- 0.762/modules/Ratings/pnuserapi.php	2005-07-29 09:41:28.000000000 -0500
+++ 0.763/modules/Ratings/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.18 2005/07/29 14:41:28 markwest Exp $
+// $Id: pnuserapi.php 16561 2005-07-29 14:41:28Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Ratings/pnversion.php 0.763/modules/Ratings/pnversion.php
--- 0.762/modules/Ratings/pnversion.php	2005-03-15 03:39:04.000000000 -0600
+++ 0.763/modules/Ratings/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.4 2005/03/15 09:39:04 markwest Exp $
+// $Id: pnversion.php 15985 2005-03-15 09:39:04Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Recommend_Us/Version.php 0.763/modules/Recommend_Us/Version.php
--- 0.762/modules/Recommend_Us/Version.php	2005-02-04 00:30:31.000000000 -0600
+++ 0.763/modules/Recommend_Us/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.2 2005/02/04 06:30:31 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Recommend_Us';
 $modversion['version'] = '1.0';
diff -ruN 0.762/modules/Recommend_Us/index.php 0.763/modules/Recommend_Us/index.php
--- 0.762/modules/Recommend_Us/index.php	2005-03-22 05:05:16.000000000 -0600
+++ 0.763/modules/Recommend_Us/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: index.php,v 1.33 2005/03/22 11:05:16 markwest Exp $
+// $Id: index.php 16001 2005-03-22 11:05:16Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Referers/Version.php 0.763/modules/Referers/Version.php
--- 0.762/modules/Referers/Version.php	2005-02-19 09:53:27.000000000 -0600
+++ 0.763/modules/Referers/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: Version.php,v 1.3 2005/02/19 15:53:27 markwest Exp $
+// $Id: Version.php 15742 2005-02-19 15:53:27Z markwest $
 $modversion['name'] = 'HTTP Referers Admin';
 $modversion['version'] = '1.3';
 $modversion['description'] = 'View HTTP referer statistics.';
diff -ruN 0.762/modules/Referers/admin.php 0.763/modules/Referers/admin.php
--- 0.762/modules/Referers/admin.php	2005-07-19 16:28:37.000000000 -0500
+++ 0.763/modules/Referers/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.8 2005/07/19 21:28:37 chestnut Exp $
+// File: $Id: admin.php 16424 2005-07-19 21:28:37Z chestnut $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Referers/lang/eng/manual.html 0.763/modules/Referers/lang/eng/manual.html
--- 0.762/modules/Referers/lang/eng/manual.html	2004-11-27 13:58:10.000000000 -0600
+++ 0.763/modules/Referers/lang/eng/manual.html	2006-10-17 16:24:08.000000000 -0500
@@ -9,10 +9,9 @@
 This page will show you who has been linking to your site.<br><br>
 
 This list tends to get large quite fast, so you might want to delete them often. You
-can also deactivate this feature in the site <i>Preferences</i>.<br><br>
+can also deactivate this feature in the module <i>Configuration</i>.<br><br>
 
-You can delete the referers when you want by clicking on the <i>Delete Referrers</i> button, or you can
-setup a maximum number of referrers in the site <i>Preferences</i>.<br><br>
+You can delete the referers when you want by clicking on the <i>Delete Referrers</i> button<br><br>
 
 <center><img src=../../../../images/global/manual.jpg border=0></center>
 </font>
diff -ruN 0.762/modules/Referers/pninit.php 0.763/modules/Referers/pninit.php
--- 0.762/modules/Referers/pninit.php	2005-02-19 11:19:54.000000000 -0600
+++ 0.763/modules/Referers/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pninit.php,v 1.2 2005/02/19 17:19:54 markwest Exp $
+// File: $Id: pninit.php 15752 2005-02-19 17:19:54Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Reviews/Version.php 0.763/modules/Reviews/Version.php
--- 0.762/modules/Reviews/Version.php	2005-02-04 00:30:32.000000000 -0600
+++ 0.763/modules/Reviews/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.3 2005/02/04 06:30:32 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Reviews';
 $modversion['version'] = '1.0';
diff -ruN 0.762/modules/Reviews/admin.php 0.763/modules/Reviews/admin.php
--- 0.762/modules/Reviews/admin.php	2005-02-04 00:30:32.000000000 -0600
+++ 0.763/modules/Reviews/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.26 2005/02/04 06:30:32 jorg Exp $
+// File: $Id: admin.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Reviews/index.php 0.763/modules/Reviews/index.php
--- 0.762/modules/Reviews/index.php	2006-01-05 07:02:18.000000000 -0600
+++ 0.763/modules/Reviews/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: index.php,v 1.52 2006/01/05 13:02:18 landseer Exp $
+// $Id: index.php 17466 2006-01-05 13:02:18Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Reviews/pninit.php 0.763/modules/Reviews/pninit.php
--- 0.762/modules/Reviews/pninit.php	2005-06-08 04:32:49.000000000 -0500
+++ 0.763/modules/Reviews/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.3 2005/06/08 09:32:49 chestnut Exp $ $Name:  $
+// $Id: pninit.php 16321 2005-06-08 09:32:49Z chestnut $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Search/Version.php 0.763/modules/Search/Version.php
--- 0.762/modules/Search/Version.php	2005-02-04 00:30:33.000000000 -0600
+++ 0.763/modules/Search/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.2 2005/02/04 06:30:33 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Search';
 $modversion['version'] = '1.0';
diff -ruN 0.762/modules/Search/index.php 0.763/modules/Search/index.php
--- 0.762/modules/Search/index.php	2005-09-13 03:32:10.000000000 -0500
+++ 0.763/modules/Search/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: index.php,v 1.18 2005/09/13 08:32:10 jorg Exp $
+// $Id: index.php 16754 2005-09-13 08:32:10Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Sections/Version.php 0.763/modules/Sections/Version.php
--- 0.762/modules/Sections/Version.php	2005-02-04 00:30:34.000000000 -0600
+++ 0.763/modules/Sections/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.2 2005/02/04 06:30:34 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Sections';
 $modversion['version'] = '1.0';
diff -ruN 0.762/modules/Sections/admin.php 0.763/modules/Sections/admin.php
--- 0.762/modules/Sections/admin.php	2005-11-25 19:20:37.000000000 -0600
+++ 0.763/modules/Sections/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.40 2005/11/26 01:20:37 markwest Exp $
+// File: $Id: admin.php 19414 2006-07-16 15:11:37Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -381,14 +381,15 @@
         return;
     }
 
-    if(empty($secname)) {
+    $secname = trim($secname);
+    if (empty($secname)) {
         pnSessionSetVar( 'errormsg', _SECTIONMISSINGNAME);
         pnRedirect('admin.php?module='.$GLOBALS['module'].'&op=sections');
         return true;
     }
 
-    if ( ($image == "") or ($image== "none") ) {
-          $image = "transparent.gif";
+    if ($image == '' || $image == 'none') {
+        $image = 'transparent.gif';
     }
 
     $column = &$pntable['sections_column'];
diff -ruN 0.762/modules/Sections/index.php 0.763/modules/Sections/index.php
--- 0.762/modules/Sections/index.php	2006-01-03 03:53:29.000000000 -0600
+++ 0.763/modules/Sections/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: index.php,v 1.45 2006/01/03 09:53:29 markwest Exp $ 
+// $Id: index.php 17448 2006-01-03 09:53:29Z markwest $ 
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Sections/lang/eng/global.php 0.763/modules/Sections/lang/eng/global.php
--- 0.762/modules/Sections/lang/eng/global.php	2005-02-04 00:30:34.000000000 -0600
+++ 0.763/modules/Sections/lang/eng/global.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: global.php,v 1.8 2005/02/04 06:30:34 jorg Exp $
+// $Id: global.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
diff -ruN 0.762/modules/Sections/pninit.php 0.763/modules/Sections/pninit.php
--- 0.762/modules/Sections/pninit.php	2005-02-19 12:32:20.000000000 -0600
+++ 0.763/modules/Sections/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.1 2005/02/19 18:32:20 markwest Exp $ $Name:  $
+// $Id: pninit.php 15757 2005-02-19 18:32:20Z markwest $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Settings/Version.php 0.763/modules/Settings/Version.php
--- 0.762/modules/Settings/Version.php	2005-09-13 06:09:21.000000000 -0500
+++ 0.763/modules/Settings/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: Version.php,v 1.4 2005/09/13 11:09:21 markwest Exp $
+// $Id: Version.php 16760 2005-09-13 11:09:21Z markwest $
 $modversion['name'] = 'Preferences Admin';
 $modversion['version'] = '1.4';
 $modversion['description'] = 'Administer site settings/preferences.';
diff -ruN 0.762/modules/Settings/admin.php 0.763/modules/Settings/admin.php
--- 0.762/modules/Settings/admin.php	2006-01-21 14:59:06.000000000 -0600
+++ 0.763/modules/Settings/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.16 2006/01/21 20:59:06 larsneo Exp $
+// File: $Id: admin.php 17665 2006-01-21 21:02:11Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Settings/lang/eng/global.php 0.763/modules/Settings/lang/eng/global.php
--- 0.762/modules/Settings/lang/eng/global.php	2006-01-21 15:00:03.000000000 -0600
+++ 0.763/modules/Settings/lang/eng/global.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: global.php,v 1.7 2006/01/21 21:00:03 larsneo Exp $
+// File: $Id: global.php 17665 2006-01-21 21:02:11Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
diff -ruN 0.762/modules/Settings/pninit.php 0.763/modules/Settings/pninit.php
--- 0.762/modules/Settings/pninit.php	2005-09-13 06:09:21.000000000 -0500
+++ 0.763/modules/Settings/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.2 2005/09/13 11:09:21 markwest Exp $
+// $Id: pninit.php 16760 2005-09-13 11:09:21Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -38,7 +38,7 @@
  * module instance
  * @author Patrick Kellum
  * @author Simon Wunderlin
- * @version $Revision: 1.2 $
+ * @version $Revision: 16760 $
  * @return bool true if successful, false otherwise
  */
 function settings_init()
@@ -52,7 +52,7 @@
  * This function can be called multiple times
  * @author Patrick Kellum
  * @author Simon Wunderlin
- * @version $Revision: 1.2 $
+ * @version $Revision: 16760 $
  * @param int $oldversion version to upgrade from
  * @return bool true if successful, false otherwise
  */
@@ -83,7 +83,7 @@
  * module instance
  * @author Patrick Kellum
  * @author Simon Wunderlin
- * @version $Revision: 1.2 $
+ * @version $Revision: 16760 $
  * @return bool true if successful, false otherwise
  */
 function settings_delete()
diff -ruN 0.762/modules/Sniffer/pnadmin.php 0.763/modules/Sniffer/pnadmin.php
--- 0.762/modules/Sniffer/pnadmin.php	2005-02-04 00:35:05.000000000 -0600
+++ 0.763/modules/Sniffer/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnadmin.php,v 1.4 2005/02/04 06:35:05 jorg Exp $
+// File: $Id: pnadmin.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // POST-NUKE Content Management System
 // Copyright (C) 2001 by the Post-Nuke Development Team.
@@ -32,7 +32,7 @@
  *
  * @package      PostNuke_Utility_Modules
  * @subpackage   Sniffer
- * @version      $Id: pnadmin.php,v 1.4 2005/02/04 06:35:05 jorg Exp $
+ * @version      $Id: pnadmin.php 15630 2005-02-04 06:35:42Z jorg $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Sniffer/pnblocks/sniffer.php 0.763/modules/Sniffer/pnblocks/sniffer.php
--- 0.762/modules/Sniffer/pnblocks/sniffer.php	2005-02-08 11:28:34.000000000 -0600
+++ 0.763/modules/Sniffer/pnblocks/sniffer.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: sniffer.php,v 1.3 2005/02/08 17:28:34 markwest Exp $
+// $Id: sniffer.php 15680 2005-02-08 17:28:34Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -29,7 +29,7 @@
  *
  * @package      PostNuke_Utility_Modules
  * @subpackage   Sniffer
- * @version      $Id: sniffer.php,v 1.3 2005/02/08 17:28:34 markwest Exp $
+ * @version      $Id: sniffer.php 15680 2005-02-08 17:28:34Z markwest $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Sniffer/pndocs/CHANGES 0.763/modules/Sniffer/pndocs/CHANGES
--- 0.762/modules/Sniffer/pndocs/CHANGES	2004-09-29 08:49:41.000000000 -0500
+++ 0.763/modules/Sniffer/pndocs/CHANGES	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-$Id: CHANGES,v 1.1 2004/09/29 13:49:41 markwest Exp $
+$Id: CHANGES 14663 2004-09-29 13:49:42Z markwest $
 ========================================================================
 Changes for version 2.1.4
 ========================================================================
diff -ruN 0.762/modules/Sniffer/pnincludes/phpSniff.class.php 0.763/modules/Sniffer/pnincludes/phpSniff.class.php
--- 0.762/modules/Sniffer/pnincludes/phpSniff.class.php	2004-09-29 08:49:41.000000000 -0500
+++ 0.763/modules/Sniffer/pnincludes/phpSniff.class.php	2006-10-17 16:24:08.000000000 -0500
@@ -17,7 +17,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  *  @author Roger Raymond <epsilon7@users.sourceforge.net>
- *  @version $Id: phpSniff.class.php,v 1.1 2004/09/29 13:49:41 markwest Exp $
+ *  @version $Id: phpSniff.class.php 14663 2004-09-29 13:49:42Z markwest $
  *  @copyright Copyright &copy; 2002-2004 Roger Raymond
  *  @package phpSniff
  *  @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License
diff -ruN 0.762/modules/Sniffer/pninit.php 0.763/modules/Sniffer/pninit.php
--- 0.762/modules/Sniffer/pninit.php	2005-01-10 09:52:05.000000000 -0600
+++ 0.763/modules/Sniffer/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.2 2005/01/10 15:52:05 markwest Exp $
+// $Id: pninit.php 15328 2005-01-10 15:54:09Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      PostNuke_Utility_Modules
  * @subpackage   Sniffer
- * @version      $Id: pninit.php,v 1.2 2005/01/10 15:52:05 markwest Exp $
+ * @version      $Id: pninit.php 15328 2005-01-10 15:54:09Z markwest $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Sniffer/pnlang/eng/admin.php 0.763/modules/Sniffer/pnlang/eng/admin.php
--- 0.762/modules/Sniffer/pnlang/eng/admin.php	2004-09-29 08:49:41.000000000 -0500
+++ 0.763/modules/Sniffer/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: admin.php,v 1.1 2004/09/29 13:49:41 markwest Exp $
+// $Id: admin.php 14663 2004-09-29 13:49:42Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by The PostNuke Development Team.
@@ -29,7 +29,7 @@
 
 /**
  * @author       Mark West
- * @version      $Revision: 1.1 $
+ * @version      $Revision: 14663 $
  * @package      PostNuke_System_Modules
  * @subpackage   Sniffer
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Sniffer/pnlang/eng/sniffer.php 0.763/modules/Sniffer/pnlang/eng/sniffer.php
--- 0.762/modules/Sniffer/pnlang/eng/sniffer.php	2004-09-29 08:49:41.000000000 -0500
+++ 0.763/modules/Sniffer/pnlang/eng/sniffer.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: sniffer.php,v 1.1 2004/09/29 13:49:41 markwest Exp $
+// $Id: sniffer.php 14663 2004-09-29 13:49:42Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by The PostNuke Development Team.
@@ -29,7 +29,7 @@
 
 /**
  * @author       Mark West
- * @version      $Revision: 1.1 $
+ * @version      $Revision: 14663 $
  * @package      PostNuke_System_Modules
  * @subpackage   Sniffer
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/Sniffer/pntables.php 0.763/modules/Sniffer/pntables.php
--- 0.762/modules/Sniffer/pntables.php	2005-05-10 15:11:06.000000000 -0500
+++ 0.763/modules/Sniffer/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.3 2005/05/10 20:11:06 markwest Exp $
+// $Id: pntables.php 16221 2005-05-10 20:11:06Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -29,7 +29,7 @@
  *
  * @package      PostNuke_Utility_Modules
  * @subpackage   Sniffer
- * @version      $Id: pntables.php,v 1.3 2005/05/10 20:11:06 markwest Exp $
+ * @version      $Id: pntables.php 16221 2005-05-10 20:11:06Z markwest $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Sniffer/pnuserapi.php 0.763/modules/Sniffer/pnuserapi.php
--- 0.762/modules/Sniffer/pnuserapi.php	2005-02-04 00:35:05.000000000 -0600
+++ 0.763/modules/Sniffer/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pnuserapi.php,v 1.6 2005/02/04 06:35:05 jorg Exp $
+// File: $Id: pnuserapi.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // POST-NUKE Content Management System
 // Copyright (C) 2001 by the Post-Nuke Development Team.
@@ -32,7 +32,7 @@
  *
  * @package      PostNuke_Utility_Modules
  * @subpackage   Sniffer
- * @version      $Id: pnuserapi.php,v 1.6 2005/02/04 06:35:05 jorg Exp $
+ * @version      $Id: pnuserapi.php 15630 2005-02-04 06:35:42Z jorg $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Sniffer/pnversion.php 0.763/modules/Sniffer/pnversion.php
--- 0.762/modules/Sniffer/pnversion.php	2004-09-29 08:49:40.000000000 -0500
+++ 0.763/modules/Sniffer/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.1 2004/09/29 13:49:40 markwest Exp $
+// $Id: pnversion.php 14663 2004-09-29 13:49:42Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      PostNuke_Utility_Modules
  * @subpackage   Sniffer
- * @version      $Id: pnversion.php,v 1.1 2004/09/29 13:49:40 markwest Exp $
+ * @version      $Id: pnversion.php 14663 2004-09-29 13:49:42Z markwest $
  * @author       Mark West
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Stats/Version.php 0.763/modules/Stats/Version.php
--- 0.762/modules/Stats/Version.php	2005-02-04 00:30:35.000000000 -0600
+++ 0.763/modules/Stats/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.4 2005/02/04 06:30:35 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Stats';
 $modversion['version'] = '1.13';
diff -ruN 0.762/modules/Stats/index.php 0.763/modules/Stats/index.php
--- 0.762/modules/Stats/index.php	2005-02-07 07:06:54.000000000 -0600
+++ 0.763/modules/Stats/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: index.php,v 1.27 2005/02/07 13:06:54 markwest Exp $
+// $Id: index.php 15668 2005-02-07 13:11:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Stats/pninit.php 0.763/modules/Stats/pninit.php
--- 0.762/modules/Stats/pninit.php	2005-02-19 11:14:03.000000000 -0600
+++ 0.763/modules/Stats/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.1 2005/02/19 17:14:03 markwest Exp $ $Name:  $
+// $Id: pninit.php 15750 2005-02-19 17:14:03Z markwest $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Submit_News/Version.php 0.763/modules/Submit_News/Version.php
--- 0.762/modules/Submit_News/Version.php	2005-02-04 00:30:36.000000000 -0600
+++ 0.763/modules/Submit_News/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.2 2005/02/04 06:30:36 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Submit_News';
 $modversion['version'] = '1.13';
diff -ruN 0.762/modules/Submit_News/admin.php 0.763/modules/Submit_News/admin.php
--- 0.762/modules/Submit_News/admin.php	2006-01-12 08:13:53.000000000 -0600
+++ 0.763/modules/Submit_News/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?PHP
-// File: $Id: admin.php,v 1.17 2006/01/12 14:13:53 larsneo Exp $
+// File: $Id: admin.php 17539 2006-01-12 14:18:37Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Submit_News/index.php 0.763/modules/Submit_News/index.php
--- 0.762/modules/Submit_News/index.php	2005-10-21 08:26:02.000000000 -0500
+++ 0.763/modules/Submit_News/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: index.php,v 1.53 2005/10/21 13:26:02 landseer Exp $
+// $Id: index.php 16879 2005-10-21 13:26:02Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Top_List/Version.php 0.763/modules/Top_List/Version.php
--- 0.762/modules/Top_List/Version.php	2005-02-04 00:30:37.000000000 -0600
+++ 0.763/modules/Top_List/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.3 2005/02/04 06:30:37 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Top_List';
 $modversion['version'] = '1.0';
diff -ruN 0.762/modules/Top_List/admin.php 0.763/modules/Top_List/admin.php
--- 0.762/modules/Top_List/admin.php	2006-01-12 08:07:26.000000000 -0600
+++ 0.763/modules/Top_List/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?PHP
-// File: $Id: admin.php,v 1.16 2006/01/12 14:07:26 larsneo Exp $
+// File: $Id: admin.php 17538 2006-01-12 14:07:26Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Top_List/index.php 0.763/modules/Top_List/index.php
--- 0.762/modules/Top_List/index.php	2005-08-19 03:23:03.000000000 -0500
+++ 0.763/modules/Top_List/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: index.php,v 1.27 2005/08/19 08:23:03 landseer Exp $
+// $Id: index.php 16647 2005-08-19 08:23:03Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Topics/Version.php 0.763/modules/Topics/Version.php
--- 0.762/modules/Topics/Version.php	2005-02-04 00:30:37.000000000 -0600
+++ 0.763/modules/Topics/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.2 2005/02/04 06:30:37 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Topics';
 $modversion['version'] = '1.0';
diff -ruN 0.762/modules/Topics/admin.php 0.763/modules/Topics/admin.php
--- 0.762/modules/Topics/admin.php	2006-01-12 07:58:00.000000000 -0600
+++ 0.763/modules/Topics/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.41 2006/01/12 13:58:00 larsneo Exp $
+// File: $Id: admin.php 17537 2006-01-12 13:58:00Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Topics/index.php 0.763/modules/Topics/index.php
--- 0.762/modules/Topics/index.php	2005-12-14 10:01:34.000000000 -0600
+++ 0.763/modules/Topics/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: index.php,v 1.24 2005/12/14 16:01:34 markwest Exp $
+// $Id: index.php 17332 2005-12-14 16:01:34Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Topics/pninit.php 0.763/modules/Topics/pninit.php
--- 0.762/modules/Topics/pninit.php	2005-02-19 13:28:18.000000000 -0600
+++ 0.763/modules/Topics/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.1 2005/02/19 19:28:18 markwest Exp $ $Name:  $
+// $Id: pninit.php 18046 2006-03-04 17:54:00Z drak $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
@@ -45,7 +45,7 @@
     $dbconn->Execute($sql);
     // Check database result
     if ($dbconn->ErrorNo() != 0) {
-        // Report failed initialisation attempt
+        pnSessionSetVar('errormsg', _CREATETABLEFAILED);
         return false;
     }
 
@@ -54,20 +54,20 @@
     $dbconn->Execute($sql);
     // Check database result
     if ($dbconn->ErrorNo() != 0) {
-        // Report failed initialisation attempt
+        pnSessionSetVar('errormsg', _CREATETABLEFAILED);
         return false;
     }
 	$sql = "INSERT INTO $topics_table VALUES (1, 'PostNuke', 'PostNuke.gif', 'PostNuke', 0)";
     $dbconn->Execute($sql);
     // Check database result
     if ($dbconn->ErrorNo() != 0) {
-        // Report failed initialisation attempt
+        pnSessionSetVar('errormsg', _CREATETABLEFAILED);
         return false;
     }
 
     // Set up config variables
     pnConfigSetVar('topicsinrow', 5);
-    
+
     // Initialisation successful
     return true;
 }
@@ -95,7 +95,7 @@
 
     // Check database result
     if ($dbconn->ErrorNo() != 0) {
-        // Report failed deletion attempt
+        pnSessionSetVar('errormsg', _DELETETABLEFAILED);
         return false;
     }
 
diff -ruN 0.762/modules/Topics/pntables.php 0.763/modules/Topics/pntables.php
--- 0.762/modules/Topics/pntables.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/Topics/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,42 @@
+<?php
+// $Id: pntables.php 18047 2006-03-04 18:15:46Z drak $
+// ----------------------------------------------------------------------
+// For PostNuke Application Framework
+// Copyright (C) 2002 by the PostNuke Development Team.
+// http://www.postnuke.com/
+// ----------------------------------------------------------------------
+// LICENSE
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License (GPL)
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// To read the license please visit http://www.gnu.org/copyleft/gpl.html
+// =======================================================================
+
+function topics_pntables()
+{
+    $pntables = array();
+    $pntables['topics'] = pnConfigGetVar('prefix') . '_topics';
+
+    // this is a nasty hack, probably wont work with DBUtil,
+    // so for future reference, remove the 'tid' line or maybe if this
+    // module is updated to use DBUtil, change references to the id to be tid rather
+    // than topicid (better idea) - drak
+    $pntables['topics_column'] = array('topicid'    => 'pn_topicid',
+                                       'tid'        => 'pn_topicid',
+                                       'topicname'  => 'pn_topicname',
+                                       'topicimage' => 'pn_topicimage',
+                                       'topictext'  => 'pn_topictext',
+                                       'counter'    => 'pn_counter');
+
+    return $pntables;
+}
+
+?>
\ No newline at end of file
diff -ruN 0.762/modules/User/admin.php 0.763/modules/User/admin.php
--- 0.762/modules/User/admin.php	2006-01-06 15:03:13.000000000 -0600
+++ 0.763/modules/User/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.34 2006/01/06 21:03:13 larsneo Exp $
+// File: $Id: admin.php 19963 2006-09-03 21:38:05Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -405,6 +405,9 @@
             error_log("DB Error: " . $dbconn->ErrorMsg());
         }
     }
+
+    pnModCallHooks('item', 'update', $chng_uid, '');
+
     // update group membership
     $group_membership_table  =  $pntable['group_membership'];
     $group_membership_column = &$pntable['group_membership_column'];
@@ -610,12 +613,13 @@
                 return;
             }
 
+            // get the generated id
+            $uid = $dbconn->PO_Insert_ID($pntable['users'], $column['uid']);
+
             // Let any hooks know that we have created a new link
             pnModCallHooks('item', 'create', $uid, 'uid');
 
             // Add user to group
-            // get the generated id
-            $uid = $dbconn->PO_Insert_ID($pntable['users'], $column['uid']);
             $column = &$pntable['groups_column'];
             $result =& $dbconn->Execute("SELECT $column[gid]
                                          FROM   $pntable[groups]
@@ -1283,10 +1287,13 @@
           $reg_notifyemail,
           $reg_Illegalusername,
           $reg_Illegaldomains,
+          $reg_Illegaluseragents,
           $minage,
           $minpass,
           $idnnames,
-          $login_redirect ) = pnVarCleanFromInput('xreg_uniemail',
+          $login_redirect,
+          $reg_question,
+          $reg_answer ) = pnVarCleanFromInput('xreg_uniemail',
                                             'xreg_optitems',
                                             'xreg_allowreg',
                                             'xreg_noregreasons',
@@ -1294,10 +1301,13 @@
                                             'xreg_notifyemail',
                                             'xreg_Illegalusername',
                                             'xreg_Illegaldomains',
+                                            'xreg_Illegaluseragents',
                                             'xminage',
                                             'xminpass',
                                             'xidnnames',
-                                            'xlogin_redirect');
+                                            'xlogin_redirect',
+                                            'xreg_question',
+                                            'xreg_answer');
 
     // check input for a minimum of validity
     if(!empty($reg_notifyemail)) {
@@ -1320,6 +1330,7 @@
     pnConfigSetVar('reg_Illegalusername', trim($reg_Illegalusername));
     pnConfigSetVar('reg_noregreasons', $reg_noregreasons);
     pnConfigSetVar('reg_Illegaldomains', $reg_Illegaldomains);
+    pnConfigSetVar('reg_Illegaluseragents', $reg_Illegaluseragents);
     if(!empty($minage)) {
         $minage = (is_numeric($minage)) ? $minage : 18;
     }
@@ -1332,6 +1343,8 @@
     if(($login_redirect==0) || ($login_redirect==1)) {
         pnConfigSetVar('login_redirect',$login_redirect);
     }
+    pnConfigSetVar('reg_question', $reg_question);
+    pnConfigSetVar('reg_answer', $reg_answer);
     pnRedirect("admin.php?module=User&op=main");
 }
 
@@ -1384,8 +1397,14 @@
         . "<input type=\"text\" name=\"xreg_notifyemail\" value=\"" . pnVarPrepForDisplay(pnConfigGetVar('reg_notifyemail')) . "\" size=\"20\" maxlength=\"200\" />" . _NOTIFYEMAILDESC . "\n"
         . "</td></tr><tr><td>" . _ILLEGALUNAME . "</td><td>"
         . "<input type=\"text\" name=\"xreg_Illegalusername\" value=\"" . pnVarPrepForDisplay(pnConfigGetVar('reg_Illegalusername')) . "\" size=\"20\" />" . _ILLEGALUNAMEDESC . "\n"
-        . "</td></tr><tr><td>" . _ILLEGALMAILDOMAINS . "</td><td>"
+        . '</td></tr><tr><td>' . _REG_QUESTION . "</td><td>"
+        . "<input type=\"text\" name=\"xreg_question\" value=\"" . pnVarPrepForDisplay(pnConfigGetVar('reg_question')) . "\" size=\"50\" /> " . _REG_QUESTIONDESC . "\n"
+        . '</td></tr><tr><td>' . _REG_ANSWER . "</td><td>"
+        . "<input type=\"text\" name=\"xreg_answer\" value=\"" . pnVarPrepForDisplay(pnConfigGetVar('reg_answer')) . "\" size=\"50\" /> " . _REG_ANSWERDESC . "\n"
+        . '</td></tr><tr><td>' . _ILLEGALMAILDOMAINS . "</td><td>"
         . "<textarea name=\"xreg_Illegaldomains\" rows=\"5\" cols=\"50\">" . pnVarPrepForDisplay(pnConfigGetVar('reg_Illegaldomains')) . "</textarea><br />" . _ILLEGALDOMAINDESC . "\n"
+        . '</td></tr><tr><td>' . _ILLEGALUSERAGENTS . "</td><td>"
+        . "<textarea name=\"xreg_Illegaluseragents\" rows=\"5\" cols=\"50\">" . pnVarPrepForDisplay(pnConfigGetVar('reg_Illegaluseragents')) . "</textarea><br />" . _ILLEGALUSERAGENTDESC . "\n"
         . '</td></tr><tr><td>' . _MINAGE . "</td><td><input type=\"text\" name=\"xminage\" value=\""
         . pnConfigGetVar('minage') . "\" size=\"2\" maxlength=\"2\" /> " . _MINAGEDESCR . "\n"
         . '</td></tr><tr><td>' . _PASSWDLEN . '</td><td>' . '<select name="xminpass" size="1">'
@@ -1482,4 +1501,4 @@
     }
 }
 
-?>
\ No newline at end of file
+?>
diff -ruN 0.762/modules/User/lang/eng/global.php 0.763/modules/User/lang/eng/global.php
--- 0.762/modules/User/lang/eng/global.php	2005-09-28 04:09:38.000000000 -0500
+++ 0.763/modules/User/lang/eng/global.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: global.php,v 1.9 2005/09/28 09:09:38 chestnut Exp $
+// $Id: global.php 19963 2006-09-03 21:38:05Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
@@ -27,6 +27,12 @@
 // Purpose of file: Translation files
 // Translation team: Read credits in /docs/CREDITS.txt
 // ----------------------------------------------------------------------
+define('_REG_QUESTION', 'Spamprotect Question');
+define('_REG_ANSWER', 'Spamprotect Answer');
+define('_REG_QUESTIONDESC', '(set an individual question to protect against spam-registrations)');
+define('_REG_ANSWERDESC', '(answer for the spamprotect question during user registration)');
+define('_ILLEGALUSERAGENTS', 'Banned Useragents');
+define('_ILLEGALUSERAGENTDESC', 'Comma seperated list of useragents from which registration will not be allowed');
 define('_LOGIN_REDIRECT_WCAG', 'WCAG-compliant Log-in/Log-off');
 define('_LOGIN_REDIRECT_DESC', 'use of meta-refresh');
 define('_COOKIEHINTFORLOGIN', 'Cookies must be enabled past this point.');
diff -ruN 0.762/modules/User/password.php 0.763/modules/User/password.php
--- 0.762/modules/User/password.php	2005-01-16 13:34:22.000000000 -0600
+++ 0.763/modules/User/password.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: password.php,v 1.2 2005/01/16 19:34:22 markwest Exp $
+// File: $Id: password.php 15382 2005-01-16 19:34:22Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/User/pninit.php 0.763/modules/User/pninit.php
--- 0.762/modules/User/pninit.php	2005-06-19 10:20:02.000000000 -0500
+++ 0.763/modules/User/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pninit.php,v 1.4 2005/06/19 15:20:02 markwest Exp $
+// File: $Id: pninit.php 16337 2005-06-19 15:20:02Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/User/tools.php 0.763/modules/User/tools.php
--- 0.762/modules/User/tools.php	2005-09-25 08:39:54.000000000 -0500
+++ 0.763/modules/User/tools.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: tools.php,v 1.6 2005/09/25 13:39:54 chestnut Exp $
+// File: $Id: tools.php 16796 2005-09-25 13:39:54Z chestnut $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/User/user/access.php 0.763/modules/User/user/access.php
--- 0.762/modules/User/user/access.php	2005-02-04 00:30:39.000000000 -0600
+++ 0.763/modules/User/user/access.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// File: $Id: access.php,v 1.3 2005/02/04 06:30:39 jorg Exp $
+// File: $Id: access.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/User/user/menu.php 0.763/modules/User/user/menu.php
--- 0.762/modules/User/user/menu.php	2005-02-04 00:30:39.000000000 -0600
+++ 0.763/modules/User/user/menu.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: menu.php,v 1.2 2005/02/04 06:30:39 jorg Exp $
+// $Id: menu.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/User/user.php 0.763/modules/User/user.php
--- 0.762/modules/User/user.php	2005-07-28 06:21:39.000000000 -0500
+++ 0.763/modules/User/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: user.php,v 1.11 2005/07/28 11:21:39 landseer Exp $
+// File: $Id: user.php 19273 2006-06-22 19:05:48Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -352,7 +352,7 @@
       .'</tr>'."\n";
     }
     echo '</table>'."\n"
-     . '<input type="hidden" name="url" value="' . pnServerGetVar("HTTP_REFERER") . '" />'."\n";
+     . '<input type="hidden" name="url" value="' . pnVarPrepForDisplay(pnServerGetVar('HTTP_REFERER')) . '" />'."\n";
     echo '<input type="hidden" name="module" value="User" />' . "\n"
      . '<input type="hidden" name="op" value="Login" />' . "\n"
      . '<input type="submit" value="' . _LOGIN . '" />' . "\n";
diff -ruN 0.762/modules/Web_Links/Version.php 0.763/modules/Web_Links/Version.php
--- 0.762/modules/Web_Links/Version.php	2005-02-04 00:30:39.000000000 -0600
+++ 0.763/modules/Web_Links/Version.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: Version.php,v 1.2 2005/02/04 06:30:39 jorg Exp $
+<?php // $Id: Version.php 15630 2005-02-04 06:35:42Z jorg $
 
 $modversion['name'] = 'Web_Links';
 $modversion['version'] = '1.0';
diff -ruN 0.762/modules/Web_Links/admin.php 0.763/modules/Web_Links/admin.php
--- 0.762/modules/Web_Links/admin.php	2006-01-12 07:53:25.000000000 -0600
+++ 0.763/modules/Web_Links/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: admin.php,v 1.47 2006/01/12 13:53:25 larsneo Exp $
+// File: $Id: admin.php 19702 2006-08-16 20:27:49Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -171,7 +171,7 @@
                     .'<input type="hidden" name="authid" value="' . pnSecGenAuthKey() . '" />'
                     ."<input type=\"hidden\" name=\"op\" value=\"LinksAddLink\" />"
 					."<input type=\"submit\" value=" ._ADD." />"
-					." [ <a href=\"admin.php?module=".$GLOBALS['module']."&amp;op=LinksDelNew&lid=".pnVarPrepForDisplay($lid)."&amp;authid=".pnSecGenAuthKey()."\">"
+					." [ <a href=\"admin.php?module=".$GLOBALS['module']."&amp;op=LinksDelNew&amp;lid=".pnVarPrepForDisplay($lid)."&amp;authid=".pnSecGenAuthKey()."\">"
                     ._DELETE."</a> ]</div></form><br /><hr /><br />";
             }
             CloseTable();
@@ -402,7 +402,7 @@
             $timestamp = mktime(0, 0, 0, $date_array["1"], $date_array["2"], $date_array["0"]);
             $formatted_date = ml_ftime(_DATEBRIEF, $timestamp);
             echo "<td colspan=\"2\" style=\"background-color:$colorswitch\">".pnVarPrepForDisplay($ratinghostname)
-                ."</td><td colspan=\"3\" style=\"background-color:$colorswitch\">".pnVarPrepForDisplay($rating)."</td><td style=\"background-color:$colorswitch\">$formatted_date  </span></strong></td><td style=\"background-color:$colorswitch\"><div style=\"text-align:center\"><strong><a href=admin.php?module=".$GLOBALS['module']."&amp;op=LinksDelVote&lid=".pnVarPrepForDisplay($lid)."&amp;rid=".pnVarPrepForDisplay($ratingdbid)."&amp;authid=".pnSecGenAuthKey().">X</a></strong></div></td></tr><br />";
+                ."</td><td colspan=\"3\" style=\"background-color:$colorswitch\">".pnVarPrepForDisplay($rating)."</td><td style=\"background-color:$colorswitch\">$formatted_date  </span></strong></td><td style=\"background-color:$colorswitch\"><div style=\"text-align:center\"><strong><a href=admin.php?module=".$GLOBALS['module']."&amp;op=LinksDelVote&amp;lid=".pnVarPrepForDisplay($lid)."&amp;rid=".pnVarPrepForDisplay($ratingdbid)."&amp;authid=".pnSecGenAuthKey().">X</a></strong></div></td></tr><br />";
             $x++;
             if ($colorswitch=="dddddd") {
                 $colorswitch="ffffff";
@@ -434,7 +434,7 @@
             $date_array = explode("-", $ratingtime);
             $timestamp = mktime(0, 0, 0, $date_array["1"], $date_array["2"], $date_array["0"]);
             $formatted_date = ml_ftime(_DATEBRIEF, $timestamp);
-            echo "<tr><td colspan=\"2\" style=\"background-color:$colorswitch\">".pnVarPrepForDisplay($ratinghostname)."</td><td colspan=\"3\" style=\"background-color:$colorswitch\">".pnVarPrepForDisplay($rating)."</td><td bgcolor=$colorswitch>$formatted_date  </span></strong></td><td bgcolor=$colorswitch><div style=\"text-align:center\"><strong><a href=admin.php?module=".$GLOBALS['module']."&amp;op=LinksDelVote&lid=".pnVarPrepForDisplay($lid)."&amp;rid=".pnVarPrepForDisplay($ratingdbid)."&amp;authid=".pnSecGenAuthKey().">X</a></strong></div></td></tr><br />";
+            echo "<tr><td colspan=\"2\" style=\"background-color:$colorswitch\">".pnVarPrepForDisplay($ratinghostname)."</td><td colspan=\"3\" style=\"background-color:$colorswitch\">".pnVarPrepForDisplay($rating)."</td><td bgcolor=$colorswitch>$formatted_date  </span></strong></td><td bgcolor=$colorswitch><div style=\"text-align:center\"><strong><a href=admin.php?module=".$GLOBALS['module']."&amp;op=LinksDelVote&amp;lid=".pnVarPrepForDisplay($lid)."&amp;rid=".pnVarPrepForDisplay($ratingdbid)."&amp;authid=".pnSecGenAuthKey().">X</a></strong></div></td></tr><br />";
             $x++;
             if ($colorswitch=="dddddd") $colorswitch="ffffff";
                 else $colorswitch="dddddd";
@@ -1003,7 +1003,7 @@
 							$column[description]='".pnVarPrepForStore($description)."', 
 							$column[name]='".pnVarPrepForStore($name)."', 
 							$column[email]='".pnVarPrepForStore($email)."', 
-							$column[hits]='".pnVarPrepForStore($hits)."' 
+							$column[hits]='".(int)pnVarPrepForStore($hits)."' 
 						WHERE $column[lid]='".(int)pnVarPrepForStore($lid)."'");
     pnRedirect('admin.php?module='.$GLOBALS['module'].'&op=links');
 }
diff -ruN 0.762/modules/Web_Links/index.php 0.763/modules/Web_Links/index.php
--- 0.762/modules/Web_Links/index.php	2005-02-04 00:30:39.000000000 -0600
+++ 0.763/modules/Web_Links/index.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: index.php,v 1.13 2005/02/04 06:30:39 jorg Exp $
+// $Id: index.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/pninit.php 0.763/modules/Web_Links/pninit.php
--- 0.762/modules/Web_Links/pninit.php	2005-02-19 12:27:31.000000000 -0600
+++ 0.763/modules/Web_Links/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.1 2005/02/19 18:27:31 markwest Exp $ $Name:  $
+// $Id: pninit.php 15756 2005-02-19 18:27:31Z markwest $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-addlink.php 0.763/modules/Web_Links/wl-addlink.php
--- 0.762/modules/Web_Links/wl-addlink.php	2005-09-29 16:37:13.000000000 -0500
+++ 0.763/modules/Web_Links/wl-addlink.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-addlink.php,v 1.31 2005/09/29 21:37:13 hammerhead Exp $
+// File: $Id: wl-addlink.php 16832 2005-09-29 21:37:13Z hammerhead $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-categories.php 0.763/modules/Web_Links/wl-categories.php
--- 0.762/modules/Web_Links/wl-categories.php	2005-02-04 00:30:39.000000000 -0600
+++ 0.763/modules/Web_Links/wl-categories.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-categories.php,v 1.27 2005/02/04 06:30:39 jorg Exp $
+// File: $Id: wl-categories.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-linkdetails.php 0.763/modules/Web_Links/wl-linkdetails.php
--- 0.762/modules/Web_Links/wl-linkdetails.php	2005-07-26 17:45:23.000000000 -0500
+++ 0.763/modules/Web_Links/wl-linkdetails.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-linkdetails.php,v 1.45 2005/07/26 22:45:23 markwest Exp $
+// File: $Id: wl-linkdetails.php 19178 2006-06-01 13:00:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -329,6 +329,7 @@
 
 	//transform hooks
 	list($description) = pnModCallHooks('item', 'transform', '', array($description));
+    $GLOBALS['info']['title'] = pnVarPrepForDisplay($displaytitle);
 
     OpenTable();
 	echo '<h2>'._LINKPROFILE.": ".pnVarPrepForDisplay($displaytitle)."</h2><br />"
diff -ruN 0.762/modules/Web_Links/wl-linkeditorial.php 0.763/modules/Web_Links/wl-linkeditorial.php
--- 0.762/modules/Web_Links/wl-linkeditorial.php	2005-03-08 15:48:59.000000000 -0600
+++ 0.763/modules/Web_Links/wl-linkeditorial.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-linkeditorial.php,v 1.20 2005/03/08 21:48:59 larsneo Exp $
+// File: $Id: wl-linkeditorial.php 15953 2005-03-08 21:48:59Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-mostpopular.php 0.763/modules/Web_Links/wl-mostpopular.php
--- 0.762/modules/Web_Links/wl-mostpopular.php	2005-07-26 17:45:23.000000000 -0500
+++ 0.763/modules/Web_Links/wl-mostpopular.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-mostpopular.php,v 1.31 2005/07/26 22:45:23 markwest Exp $
+// File: $Id: wl-mostpopular.php 16525 2005-07-26 22:45:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-navigation.php 0.763/modules/Web_Links/wl-navigation.php
--- 0.762/modules/Web_Links/wl-navigation.php	2005-07-26 17:45:23.000000000 -0500
+++ 0.763/modules/Web_Links/wl-navigation.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-navigation.php,v 1.43 2005/07/26 22:45:23 markwest Exp $
+// File: $Id: wl-navigation.php 19178 2006-06-01 13:00:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -56,9 +56,8 @@
         echo _LINKSNOCATS;
         include 'footer.php';
     } else {
-
+        $GLOBALS['info']['title'] = _LINKPAGETITLE;
         menu($mainlink);
-
         OpenTable();
 
         echo '<h2>'._LINKSMAINCAT.'</h2>';
@@ -149,7 +148,7 @@
 	//patch [ #471 ] Web Module Fix Wil Schultz (xwil)
     echo '<div style="text-align:center"><h1>'._LINKPAGETITLE."</h1>";
     //echo "<div style=\"text-align:center\"><a  href=\"".$GLOBALS['modurl']."\">"._LINKPAGETITLE."</a><br />";
-    echo "<form action=\"".$GLOBALS['modurl']."&amp;req=search\" method=\"post\" name=\""._LINKS."\"><div>"
+    echo "<form action=\"".$GLOBALS['modurl']."&amp;req=search\" method=\"post\" id=\"".str_replace(' ','_',_LINKS)."\"><div>"
 		."<label for=\"query\">"._LINKS."</label>"
 		." <input type=\"text\" size=\"25\" name=\"query\" id=\"query\" tabindex=\"0\" 
 										value=\""._SEARCH_KEYWORDS."\" 
diff -ruN 0.762/modules/Web_Links/wl-newlinks.php 0.763/modules/Web_Links/wl-newlinks.php
--- 0.762/modules/Web_Links/wl-newlinks.php	2005-07-26 17:45:23.000000000 -0500
+++ 0.763/modules/Web_Links/wl-newlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-newlinks.php,v 1.31 2005/07/26 22:45:23 markwest Exp $
+// File: $Id: wl-newlinks.php 16525 2005-07-26 22:45:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-randomlink.php 0.763/modules/Web_Links/wl-randomlink.php
--- 0.762/modules/Web_Links/wl-randomlink.php	2005-02-04 00:30:39.000000000 -0600
+++ 0.763/modules/Web_Links/wl-randomlink.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-randomlink.php,v 1.18 2005/02/04 06:30:39 jorg Exp $
+// File: $Id: wl-randomlink.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-rating.php 0.763/modules/Web_Links/wl-rating.php
--- 0.762/modules/Web_Links/wl-rating.php	2005-03-08 15:48:59.000000000 -0600
+++ 0.763/modules/Web_Links/wl-rating.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-rating.php,v 1.34 2005/03/08 21:48:59 larsneo Exp $
+// File: $Id: wl-rating.php 15953 2005-03-08 21:48:59Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-search.php 0.763/modules/Web_Links/wl-search.php
--- 0.762/modules/Web_Links/wl-search.php	2005-07-26 17:45:23.000000000 -0500
+++ 0.763/modules/Web_Links/wl-search.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-search.php,v 1.31 2005/07/26 22:45:23 markwest Exp $
+// File: $Id: wl-search.php 20182 2006-10-03 13:10:10Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -44,7 +44,7 @@
 
     $perpage = pnConfigGetVar('perpage');
     $locale = pnConfigGetVar('locale');
-    $linkresults = pnConfigGetVar('linksresults');
+    $linksresults = pnConfigGetVar('linksresults');
     $mainvotedecimal = pnConfigGetVar('mainvotedecimal');
 
     if (!isset($min) || !is_numeric($min)) $min=0;
@@ -54,7 +54,7 @@
     } else {
         $orderby = $pntable['links_links_column']['title'] . ' ASC';
     }
-    if ($show != "") {
+    if ($show != '') {
         $linksresults = $show;
     } else {
         $show = $linksresults;
@@ -76,7 +76,7 @@
 				OR $column[description] LIKE '%".pnVarPrepForStore($query)."%'
 				ORDER BY $orderby";
 
-    $result = $dbconn->SelectLimit($sql, $linkresults, (int)$min);
+    $result = $dbconn->SelectLimit($sql, (int)$linksresults, (int)$min);
     $nrows  = $result->PO_RecordCount();
 
 	$fullcountsql = "SELECT count(*) 
@@ -84,7 +84,9 @@
 					WHERE $column[title] LIKE '%".pnVarPrepForStore($query)."%' 
 					OR $column[description] LIKE '%".pnVarPrepForStore($query)."%'";
     $fullcountresult =& $dbconn->Execute($fullcountsql);
-    $totalselectedlinks = $fullcountresult->PO_RecordCount();
+    // fix for showing the pager, credits to Petzi-Juist
+    //$totalselectedlinks = $fullcountresult->PO_RecordCount();
+    list($totalselectedlinks) = $fullcountresult->fields;	
 	
     $column = &$pntable['links_categories_column'];
     $resultx =& $dbconn->Execute("SELECT count(*) 
@@ -198,7 +200,8 @@
             $currentpage = ($max / $linksresults);
             while ($counter<=$linkpages ) {
                 $cpage = $counter;
-                $mintemp = ($perpage * $counter) - $linksresults;
+                //$mintemp = ($perpage * $counter) - $linksresults;
+                $mintemp = ($linksresults * $counter) - $linksresults;
                 if ($counter == $currentpage) {
                     echo '<strong>'.pnVarPrepForDisplay($counter).'</strong> ';
                 } else {
@@ -207,7 +210,8 @@
                 $counter++;
             }
             $next=$min+$linksresults;
-            if ($x>=$perpage) {
+            if ($x>=$linksresults) {
+            //if ($x>=$perpage) {
                 echo "&nbsp;&nbsp;<strong>[ <a href=\"".$GLOBALS['modurl']."&amp;req=search&amp;query=".pnVarPrepForDisplay($query)."&amp;min=".pnVarPrepForDisplay($max)."&amp;orderby=".pnVarPrepForDisplay($orderby)."&amp;show=".pnVarPrepForDisplay($show)."\">"
                     ." "._NEXT." &gt;&gt;</a> ]</strong>";
             }
diff -ruN 0.762/modules/Web_Links/wl-toprated.php 0.763/modules/Web_Links/wl-toprated.php
--- 0.762/modules/Web_Links/wl-toprated.php	2005-07-26 17:45:23.000000000 -0500
+++ 0.763/modules/Web_Links/wl-toprated.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-toprated.php,v 1.31 2005/07/26 22:45:23 markwest Exp $
+// File: $Id: wl-toprated.php 16525 2005-07-26 22:45:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-util.php 0.763/modules/Web_Links/wl-util.php
--- 0.762/modules/Web_Links/wl-util.php	2005-07-26 17:45:23.000000000 -0500
+++ 0.763/modules/Web_Links/wl-util.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-util.php,v 1.38 2005/07/26 22:45:23 markwest Exp $
+// File: $Id: wl-util.php 16525 2005-07-26 22:45:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Web_Links/wl-viewlink.php 0.763/modules/Web_Links/wl-viewlink.php
--- 0.762/modules/Web_Links/wl-viewlink.php	2006-01-06 14:55:52.000000000 -0600
+++ 0.763/modules/Web_Links/wl-viewlink.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: wl-viewlink.php,v 1.47 2006/01/06 20:55:52 larsneo Exp $
+// File: $Id: wl-viewlink.php 19178 2006-06-01 13:00:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -101,6 +101,7 @@
 			WHERE $column[cat_id]='".(int)pnVarPrepForStore($cid)."'";
     $result =& $dbconn->Execute($sql);
     list($title, $description) = $result->fields;
+    $GLOBALS['info']['title'] = CatPath($cid,0,1,0);
     echo '<div style="text-align:center"><h2>'._CATEGORY.": ".CatPath($cid,1,1,0).'</h2>';
     if ($description <> "") {
     	echo "".pnVarPrepHTMLDisplay($description).'<br />';
diff -ruN 0.762/modules/Wiki/pninit.php 0.763/modules/Wiki/pninit.php
--- 0.762/modules/Wiki/pninit.php	2005-01-10 09:54:09.000000000 -0600
+++ 0.763/modules/Wiki/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,14 +1,10 @@
 <?php
-// $Id: pninit.php,v 1.8 2005/01/10 15:54:09 markwest Exp $
+// $Id: pninit.php 19296 2006-06-26 12:50:51Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
 // http://www.postnuke.com/
 // ----------------------------------------------------------------------
-// Based on:
-// PHP-NUKE Web Portal System - http://phpnuke.org/
-// Thatware - http://thatware.org/
-// ----------------------------------------------------------------------
 // LICENSE
 //
 // This program is free software; you can redistribute it and/or
@@ -28,7 +24,7 @@
 // ----------------------------------------------------------------------
 
 /**
- * @package PostNuke_Utility_Modules
+ * @package PostNuke_Value_Addons
  * @subpackage Wiki
  * @license http://www.gnu.org/copyleft/gpl.html
 */
@@ -48,7 +44,9 @@
     // if a link is http://something, it can be directed in a new window, or in the same one.
     pnModSetVar('Wiki', 'ExtlinkNewWindow', true);
     pnModSetVar('Wiki', 'IntlinkNewWindow', false);
-    // dont touch this one.
+    // todo: check what this one actually does...
+    pnModSetVar('Wiki', 'WithHTML', true);
+    // don't touch this one.
     pnModSetVar('Wiki', 'FieldSeparator', "\263");
 
     // Set up module hooks
@@ -97,11 +95,7 @@
     }
 
     // Remove module variables
-    pnModDelVar('Wiki', 'FieldSeparator');
-    pnModDelVar('Wiki', 'IntlinkNewWindow');
-    pnModDelVar('Wiki', 'ExtlinkNewWindow');
-    pnModDelVar('Wiki', 'AllowedProtocols');
-    pnModDelVar('Wiki', 'InlineImages');
+    pnModDelVar('Wiki');
 
     // Deletion successful
     return true;
diff -ruN 0.762/modules/Wiki/pnuserapi.php 0.763/modules/Wiki/pnuserapi.php
--- 0.762/modules/Wiki/pnuserapi.php	2005-01-10 09:54:09.000000000 -0600
+++ 0.763/modules/Wiki/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,14 +1,10 @@
 <?php
-// $Id: pnuserapi.php,v 1.14 2005/01/10 15:54:09 markwest Exp $
+// $Id: pnuserapi.php 19298 2006-06-26 13:34:51Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
 // http://www.postnuke.com/
 // ----------------------------------------------------------------------
-// Based on:
-// PHP-NUKE Web Portal System - http://phpnuke.org/
-// Thatware - http://thatware.org/
-// ----------------------------------------------------------------------
 // LICENSE
 //
 // This program is free software; you can redistribute it and/or
@@ -28,7 +24,7 @@
 // ----------------------------------------------------------------------
 
 /**
- * @package PostNuke_Utility_Modules
+ * @package PostNuke_Value_Addons
  * @subpackage Wiki
  * @license http://www.gnu.org/copyleft/gpl.html
 */
@@ -46,7 +42,7 @@
  * @link http://www.mcdee.net
  * @return array wiki link
  */
-function PNParseAndLink($bracketlink) 
+function PNParseAndLink($bracketlink)
 {
     static $PNAllowedProtocols;
     if (!isset($PNAllowedProtocols)) {
@@ -72,13 +68,13 @@
     // ou bien du texte, si bbcode.
 
     // strip brackets and leading space
-    preg_match("/(\[\s*)(.+?)(\s*\])/", $bracketlink, $match);
+    preg_match("/(\[)\s*(.+?)\s*(\])/", $bracketlink, $match);
 
     if ( isset($match[3]) and ($match[3]==']') and ( ($match[2]=='b') or ($match[2]=='i') or ($match[2]=='/b') or ($match[2]=='/i') ) ) {
         $link[type] = "bbcode";
         $link[link] = "<".$match[2].">";
     } else {
-        // match the contents 
+        // match the contents
         preg_match("/([^|]+)(\|)?([^|]+)?/", $match[2], $matches);
 
         if (isset($matches[3])) {
@@ -120,7 +116,7 @@
             $link['type'] = "url-$linktype";
             $link['link'] = PNLinkURL($URL, $linkname, $PNlIntlinkNewWindow );
         }
-    }		
+    }
     return $link;
 }
 
@@ -134,7 +130,7 @@
  * @param 'ntokens' starting token number
  * @return string tokenised string
  */
-function PNwikiTokenize($str, $pattern, &$orig, &$ntokens) 
+function PNwikiTokenize($str, $pattern, &$orig, &$ntokens)
 {
     static $PNFieldSeparator;
     if (!isset($PNFieldSeparator)) {
@@ -144,16 +140,16 @@
     // Find any strings in $str that match $pattern and
     // store them in $orig, replacing them with tokens
     // starting at number $ntokens - returns tokenized string
-    $new = '';        
+    $new = '';
     while (preg_match("/^(.*?)($pattern)/", $str, $matches)) {
-        $linktoken = $PNFieldSeparator . $PNFieldSeparator . ($ntokens++) . $PNFieldSeparator;         
+        $linktoken = $PNFieldSeparator . $PNFieldSeparator . ($ntokens++) . $PNFieldSeparator;
         $new .= $matches[1] . $linktoken;
         $orig[] = $matches[2];
         $str = substr($str, strlen($matches[0]));
     }
-    $new .= $str;     
+    $new .= $str;
     return $new;
-}                    
+}
 
 /**
  * Tabulate string
@@ -162,12 +158,13 @@
  * @param 'retour' string to tabulate
  * @return string HTML string
  */
-function PNwikiInclude($retour) 
+function PNwikiInclude($retour)
 {
     $retour = preg_replace("|(%%%%)(.*?)(%%%%)|", "\\2",  $retour);
-    $retour = transform( $retour, $this->typeCoding );
+//  not sure what this line does... there's no transform function and we're not an object either.... [markwest]
+//    $retour = transform( $retour, $this->typeCoding );
     $retour = '<table border="0" cellpadding="8" cellspacing="1" width="100%"><tr><td align="left">' . $retour . "</td></tr></table>";
-    return $retour;         
+    return $retour;
 }
 
 /**
@@ -188,8 +185,7 @@
     }
 
     // Argument check
-    if ((!isset($objectid)) ||
-        (!isset($extrainfo))) {
+    if (!isset($extrainfo)) {
         pnSessionSetVar('errormsg', _MODARGSERROR);
         return;
     }
@@ -225,11 +221,11 @@
 {
     static $PNFieldSeparator;
     if (!isset($PNFieldSeparator)) {
-        $PNFieldSeparator = pnModGetVar('wiki', 'FieldSeparator');
+        $PNFieldSeparator = pnModGetVar('Wiki', 'FieldSeparator');
     }
     static $PNlWithHtml;
-    if (!isset($PNWithHtml)) {
-        $PNWithHtml = pnModGetVar('Wiki', 'WithHTML');
+    if (!isset($PNlWithHtml)) {
+        $PNlWithHtml = pnModGetVar('Wiki', 'WithHTML');
     }
     static $PNAllowedProtocols;
     if (!isset($PNAllowedProtocols)) {
@@ -273,13 +269,13 @@
         // New linking scheme: links are in brackets. This will
         // emulate typical HTML linking as well as Wiki linking.
 
-        // First need to protect [[. 
+        // First need to protect [[.
         $oldn = $ntokens;
         $tmpline = PNwikiTokenize($tmpline, '\[\[', $replacements, $ntokens);
         while ($oldn < $ntokens)
             $replacements[$oldn++] = '[';
 
-        // Now process the [\d+] links which are numeric references       
+        // Now process the [\d+] links which are numeric references
         $oldn = $ntokens;
         $tmpline = PNwikiTokenize($tmpline, '\[\s*\d+\s*\]', $replacements, $ntokens);
         while ($oldn < $ntokens) {
@@ -289,7 +285,7 @@
             $oldn++;
         }
 
-        // match anything else between brackets 
+        // match anything else between brackets
         $oldn = $ntokens;
         $tmpline = PNwikiTokenize($tmpline, '\[.+?\]', $replacements, $ntokens);
         while ($oldn < $ntokens) {
@@ -319,7 +315,7 @@
 //        $tmpline = str_replace('<', '&lt;', $tmpline);
 
         // four or more dashes to <hr>
-        $tmpline = ereg_replace("^-{4,}", 
+        $tmpline = ereg_replace("^-{4,}",
                                 '<hr noshade>',
                                 $tmpline);
 
@@ -337,16 +333,16 @@
         }
 
         // %%% are linebreaks
-		if (strstr($tmpline,'%%%')) { 
-			// i dont want ' %%%' or '%%% '
-			str_replace("%%% ","%%%",$tmpline);
-			str_replace(" %%%","%%%",$tmpline);
-			// i want to check i dont have '%%%<br />'
-			str_replace("%%%<br />","%%%",$tmpline);
-	        $tmpline = str_replace('%%%', 
-								'<br />',
-       			              $tmpline);
-			}
+        if (strstr($tmpline,'%%%')) {
+            // i dont want ' %%%' or '%%% '
+            str_replace("%%% ","%%%",$tmpline);
+            str_replace(" %%%","%%%",$tmpline);
+            // i want to check i dont have '%%%<br />'
+            str_replace("%%%<br />","%%%",$tmpline);
+            $tmpline = str_replace('%%%',
+                                '<br />',
+                                 $tmpline);
+            }
 
         // bold italics (old way)
         $tmpline = preg_replace("|(''''')(.*?)(''''')|",
@@ -373,7 +369,7 @@
                                 "<em>\\2</em>",
                                 $tmpline);
 
-        // bold italics 
+        // bold italics
         $tmpline = preg_replace("|(_____)(.*?)(_____)|",
                                 "<strong><em>\\2</em></strong>",
                                 $tmpline);
@@ -444,7 +440,7 @@
 
 
             //////////////////////////////////////////////////////////
-            // remaining modes: preformatted text, headings, normal text      
+            // remaining modes: preformatted text, headings, normal text
             // preformated mode was a pb. So ...
             //        } elseif (preg_match("/^\s+/", $tmpline)) {
             // this is preformatted text, i.e. <pre>
@@ -485,7 +481,7 @@
  * @param 'autreFenetre' breakout link into new window
  * @return mixed HTML string url if successful, error if false
  */
-function PNLinkURL($url, $linktext='', $autreFenetre=false ) 
+function PNLinkURL($url, $linktext='', $autreFenetre=false )
 {
     if(ereg("[<>\"]", $url)) {
         return "<strong><em>BAD URL -- remove all of &lt;, &gt;, &quot;</em></strong>";
@@ -496,7 +492,7 @@
         $target = " target=\"sb\"";
     } else {
         $target = "";
-    }	 
+    }
     return "<a href=\"$url\"". $target.">$linktext</a>";
 }
 
@@ -508,7 +504,7 @@
  * @param 'alt' ALT text
  * @return string HTML string
  */
-function PNLinkImage($url, $alt='' ) 
+function PNLinkImage($url, $alt='' )
 {
     static $PNlExtlinkNewWindow;
     if (!isset($PNlExtlinkNewWindow)) {
@@ -525,7 +521,7 @@
     $link = '';
 
     $chaine = substr ($alt, 0, strpos($alt, '+'));
-    if (!(empty($chaine))) { 
+    if (!(empty($chaine))) {
         $link = substr ($alt, strpos($alt, '+') + 1);
         $alt =  substr ($alt, 0, strpos($alt, '+'));
     }
@@ -538,11 +534,11 @@
 
     if (!(empty($link))) {
         $cRetour .= "<a href=".$link ;
-        if (strstr($link,"http://") and $PNlExtlinkNewWindow ) { 
-			$cRetour .= " target=\"_blank\" "; 
-		} elseif ( ($PNlIntlinkNewWindow) ) { 
-			$cRetour .= " target=\"_blank\" "; 
-		} 
+        if (strstr($link,"http://") and $PNlExtlinkNewWindow ) {
+            $cRetour .= " target=\"_blank\" ";
+        } elseif ( ($PNlIntlinkNewWindow) ) {
+            $cRetour .= " target=\"_blank\" ";
+        }
         $cRetour .= ">" ;
     }
     $cRetour .= "<img src=\"$url\" alt=\"$alt\">\n";
@@ -562,7 +558,7 @@
  * @param 'alt' ALT text
  * @return string HTML string
  */
-function PNCookSpaces($pagearray) 
+function PNCookSpaces($pagearray)
 {
     return preg_replace("/ {3,8}/", "\t", $pagearray);
 }
@@ -580,34 +576,34 @@
         $this->items[$this->size] = $item;
         $this->size++;
         return true;
-    }  
+    }
 
     function pop() {
         if ($this->size == 0) {
             return false; // stack is empty
-        }  
+        }
         $this->size--;
         return $this->items[$this->size];
-    }  
+    }
 
     function cnt() {
         return $this->size;
-    }  
+    }
 
     function top() {
         if($this->size)
             return $this->items[$this->size - 1];
         else
             return '';
-    }  
+    }
 
-}  
+}
 // end class definition
 
 // globalize it here cause pninclude_once.
 $GLOBALS['PNstack'] =& new PNStack;
 
-/* 
+/*
    Wiki HTML output can, at any given time, be in only one mode.
    It will be something like Unordered List, Preformatted Text,
    plain text etc. When we change modes we have to issue close tags
@@ -697,7 +693,7 @@
     } else { // unknown $tagtype
         pnSessionSetVar('errormsg', 'Passed bad tag type value in SetHTMLOutputMode');
     }
-	return $retvar;
+    return $retvar;
 }
 
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/Wiki/pnversion.php 0.763/modules/Wiki/pnversion.php
--- 0.762/modules/Wiki/pnversion.php	2004-06-02 11:30:24.000000000 -0500
+++ 0.763/modules/Wiki/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.2 2004/06/02 16:30:24 markwest Exp $
+// $Id: pnversion.php 13720 2004-06-02 16:32:29Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Xanthia/plugins/function.additional_header.php 0.763/modules/Xanthia/plugins/function.additional_header.php
--- 0.762/modules/Xanthia/plugins/function.additional_header.php	2004-02-06 09:26:11.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.additional_header.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: function.additional_header.php,v 1.1 2004/02/06 15:26:11 jorg Exp $
+// $Id: function.additional_header.php 12575 2004-02-06 15:26:11Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  * 
  * @package        Xanthia_Templating_Environment
  * @subpackage     Xanthia
- * @version        $Id: function.additional_header.php,v 1.1 2004/02/06 15:26:11 jorg Exp $
+ * @version        $Id: function.additional_header.php 12575 2004-02-06 15:26:11Z jorg $
  * @author         The PostNuke development team 
  * @link           http://www.postnuke.com The PostNuke Home Page
  * @copyright      Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.articleadminlinks.php 0.763/modules/Xanthia/plugins/function.articleadminlinks.php
--- 0.762/modules/Xanthia/plugins/function.articleadminlinks.php	2005-09-05 04:48:00.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.articleadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.articleadminlinks.php,v 1.8.2.1.2.1 2005/09/05 09:48:00 markwest Exp $
+// $Id: function.articleadminlinks.php 16748 2005-09-05 09:48:00Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.articleadminlinks.php,v 1.8.2.1.2.1 2005/09/05 09:48:00 markwest Exp $
+ * @version      $Id: function.articleadminlinks.php 16748 2005-09-05 09:48:00Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.charset.php 0.763/modules/Xanthia/plugins/function.charset.php
--- 0.762/modules/Xanthia/plugins/function.charset.php	2004-02-06 09:26:11.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.charset.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: function.charset.php,v 1.1 2004/02/06 15:26:11 jorg Exp $
+// $Id: function.charset.php 12575 2004-02-06 15:26:11Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  * 
  * @package        Xanthia_Templating_Environment
  * @subpackage     Xanthia
- * @version        $Id: function.charset.php,v 1.1 2004/02/06 15:26:11 jorg Exp $
+ * @version        $Id: function.charset.php 12575 2004-02-06 15:26:11Z jorg $
  * @author         The PostNuke development team 
  * @link           http://www.postnuke.com The PostNuke Home Page
  * @copyright      Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.datetime.php 0.763/modules/Xanthia/plugins/function.datetime.php
--- 0.762/modules/Xanthia/plugins/function.datetime.php	2005-07-23 12:03:28.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.datetime.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.datetime.php,v 1.7.2.1 2005/07/23 17:03:28 markwest Exp $
+// $Id: function.datetime.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.datetime.php,v 1.7.2.1 2005/07/23 17:03:28 markwest Exp $
+ * @version      $Id: function.datetime.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.displaygreeting.php 0.763/modules/Xanthia/plugins/function.displaygreeting.php
--- 0.762/modules/Xanthia/plugins/function.displaygreeting.php	2005-08-04 15:31:19.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.displaygreeting.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.displaygreeting.php,v 1.12.2.6 2005/08/04 20:31:19 markwest Exp $
+// $Id: function.displaygreeting.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.displaygreeting.php,v 1.12.2.6 2005/08/04 20:31:19 markwest Exp $
+ * @version      $Id: function.displaygreeting.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.footmsg.php 0.763/modules/Xanthia/plugins/function.footmsg.php
--- 0.762/modules/Xanthia/plugins/function.footmsg.php	2004-04-22 07:21:37.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.footmsg.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.footmsg.php,v 1.4 2004/04/22 12:21:37 drak Exp $
+// $Id: function.footmsg.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.footmsg.php,v 1.4 2004/04/22 12:21:37 drak Exp $
+ * @version      $Id: function.footmsg.php 13213 2004-04-22 12:28:05Z drak $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.htmlareav30load.php 0.763/modules/Xanthia/plugins/function.htmlareav30load.php
--- 0.762/modules/Xanthia/plugins/function.htmlareav30load.php	2004-05-11 03:13:53.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.htmlareav30load.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.htmlareav30load.php,v 1.3 2004/05/11 08:13:53 markwest Exp $
+// $Id: function.htmlareav30load.php 13469 2004-05-11 08:13:53Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.htmlareav30load.php,v 1.3 2004/05/11 08:13:53 markwest Exp $
+ * @version      $Id: function.htmlareav30load.php 13469 2004-05-11 08:13:53Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.htmlareav30script.php 0.763/modules/Xanthia/plugins/function.htmlareav30script.php
--- 0.762/modules/Xanthia/plugins/function.htmlareav30script.php	2004-05-11 03:13:53.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.htmlareav30script.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.htmlareav30script.php,v 1.3 2004/05/11 08:13:53 markwest Exp $
+// $Id: function.htmlareav30script.php 13469 2004-05-11 08:13:53Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.htmlareav30script.php,v 1.3 2004/05/11 08:13:53 markwest Exp $
+ * @version      $Id: function.htmlareav30script.php 13469 2004-05-11 08:13:53Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.keywords.php 0.763/modules/Xanthia/plugins/function.keywords.php
--- 0.762/modules/Xanthia/plugins/function.keywords.php	2004-07-20 16:20:01.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.keywords.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: function.keywords.php,v 1.3 2004/07/20 21:20:01 markwest Exp $
+// $Id: function.keywords.php 14076 2004-07-20 21:20:01Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  * 
  * @package        Xanthia_Templating_Environment
  * @subpackage     Xanthia
- * @version        $Id: function.keywords.php,v 1.3 2004/07/20 21:20:01 markwest Exp $
+ * @version        $Id: function.keywords.php 14076 2004-07-20 21:20:01Z markwest $
  * @author         The PostNuke development team 
  * @link           http://www.postnuke.com The PostNuke Home Page
  * @copyright      Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.lang.php 0.763/modules/Xanthia/plugins/function.lang.php
--- 0.762/modules/Xanthia/plugins/function.lang.php	2004-02-06 09:26:11.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.lang.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
-<?php 
-// $Id: function.lang.php,v 1.1 2004/02/06 15:26:11 jorg Exp $
+<?php
+// $Id: function.lang.php 20253 2006-10-09 12:08:06Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -26,13 +26,13 @@
 
 /**
  * Xanthia plugin
- * 
+ *
  * This file is a plugin for pnRender, the PostNuke implementation of Smarty
- * 
+ *
  * @package        Xanthia_Templating_Environment
  * @subpackage     Xanthia
- * @version        $Id: function.lang.php,v 1.1 2004/02/06 15:26:11 jorg Exp $
- * @author         The PostNuke development team 
+ * @version        $Id: function.lang.php 20253 2006-10-09 12:08:06Z markwest $
+ * @author         The PostNuke development team
  * @link           http://www.postnuke.com The PostNuke Home Page
  * @copyright      Copyright (C) 2004 by the PostNuke Development Team
  * @license        http://www.gnu.org/copyleft/gpl.html GNU General Public License
@@ -40,14 +40,14 @@
 
 /**
  * Smarty function to get the site's language
- * 
+ *
  * available parameters:
  *  - assign      if set, the language will be assigned to this variable
- * 
+ *
  * Example
  * <html lang="<!--[lang]-->">
- * 
- * @author   Jrg Napp 
+ *
+ * @author   Jrg Napp
  * @since    03. Feb. 04
  * @param    array    $params     All attributes passed to this function from the template
  * @param    object   $smarty     Reference to the Smarty object
@@ -56,15 +56,7 @@
  */
 function smarty_function_lang($params, &$smarty)
 {
-    // Don't we have another parameter for the site language?
-    // what about pnUserGetLang()?
-    
-    $return = pnConfigGetVar('backend_language');
-    if (isset($params['assign'])) {
-        $smarty->assign($params['assign'], $return);
-    } else {
-        return $return;
-    }
-} 
+    return pnVarPrepForDisplay(_LOCALE);
+}
 
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/Xanthia/plugins/function.modulejavascript.php 0.763/modules/Xanthia/plugins/function.modulejavascript.php
--- 0.762/modules/Xanthia/plugins/function.modulejavascript.php	2004-06-13 09:02:04.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.modulejavascript.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.modulejavascript.php,v 1.1 2004/06/13 14:02:04 landseer Exp $
+// $Id: function.modulejavascript.php 13808 2004-06-13 14:02:04Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.modulejavascript.php,v 1.1 2004/06/13 14:02:04 landseer Exp $
+ * @version      $Id: function.modulejavascript.php 13808 2004-06-13 14:02:04Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.modulestylesheet.php 0.763/modules/Xanthia/plugins/function.modulestylesheet.php
--- 0.762/modules/Xanthia/plugins/function.modulestylesheet.php	2004-11-15 09:12:28.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.modulestylesheet.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.modulestylesheet.php,v 1.4.2.1 2004/11/15 15:12:28 markwest Exp $
+// $Id: function.modulestylesheet.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.modulestylesheet.php,v 1.4.2.1 2004/11/15 15:12:28 markwest Exp $
+ * @version      $Id: function.modulestylesheet.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.pagerendertime.php 0.763/modules/Xanthia/plugins/function.pagerendertime.php
--- 0.762/modules/Xanthia/plugins/function.pagerendertime.php	2004-12-20 10:39:44.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.pagerendertime.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,93 +1,93 @@
-<?php 
-// $Id: function.pagerendertime.php,v 1.6.2.3 2004/12/20 16:39:44 markwest Exp $
-// ----------------------------------------------------------------------
-// PostNuke Content Management System
-// Copyright (C) 2002 by the PostNuke Development Team.
-// http://www.postnuke.com/
-// ----------------------------------------------------------------------
-// Based on:
-// PHP-NUKE Web Portal System - http://phpnuke.org/
-// Thatware - http://thatware.org/
-// ----------------------------------------------------------------------
-// LICENSE
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License (GPL)
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// To read the license please visit http://www.gnu.org/copyleft/gpl.html
-// ----------------------------------------------------------------------
-
-/**
- * Xanthia plugin
- * 
- * This file is a plugin for pnRender, the PostNuke implementation of Smarty
- * 
- * @package        Xanthia_Templating_Environment
- * @subpackage     Xanthia
- * @version        $Id: function.pagerendertime.php,v 1.6.2.3 2004/12/20 16:39:44 markwest Exp $
- * @author         The PostNuke development team 
- * @link           http://www.postnuke.com The PostNuke Home Page
- * @copyright      Copyright (C) 2004 by the PostNuke Development Team
- * @license        http://www.gnu.org/copyleft/gpl.html GNU General Public License
- */
-
-/**
- * Smarty function to get the site's page render time
- * 
- * available parameters:
- *  - assign      if set, the message will be assigned to this variable
- * 
- * Example
- * <!--[pagerendertime]--> outputs 'Page created in 0.18122792243958 seconds.'
- * 
- * <!--[pagerendertime round=2]--> outputs 'Page created in 0.18 seconds.'
- *
- * @author   Mark West
- * @since    08/02/04
- * @param    array    $params     All attributes passed to this function from the template
- * @param    object   $smarty     Reference to the Smarty object
- * @param    string   $round      format to apply to the number (based on the round php function)
- * @return   string   the page render time in seconds
- * @todo change to ML as language is hardcoded (as per .726).
- */
-function smarty_function_pagerendertime($params, &$smarty)
-{
-    // get the parameters
-    extract($params); 
-	unset($params['round']);
-
-	// show time to render
-    if ($GLOBALS['pndebug']['pagerendertime']){
-
-		// calcultate time to render
-		$mtime = explode(" ",microtime());
-		$dbg_endtime = $mtime[1] + $mtime[0];
-		$dbg_totaltime = ($dbg_endtime - $GLOBALS['dbg_starttime']);
-	
-		// log time to render
-		if ($GLOBALS['pndebug']['debug']){
-			$GLOBALS['dbg']->v($dbg_totaltime,"Page created in (seconds)");
-		}
-
-		if (isset($round)) {
-			$dbg_totaltime = round($dbg_totaltime, $round);
-		}
-
-	    if (isset($params['assign'])) {
-			$smarty->assign('rendertime', $dbg_totaltime);
-		} else {
-			$message = '<div class="pn-sub" style="text-align:center;">Page created in  ' . $dbg_totaltime . ' seconds.</div>';
-			return $message;
-		}			
-	}		
-
-} 
-
+<?php 
+// $Id: function.pagerendertime.php 16722 2005-08-27 12:35:10Z  $
+// ----------------------------------------------------------------------
+// PostNuke Content Management System
+// Copyright (C) 2002 by the PostNuke Development Team.
+// http://www.postnuke.com/
+// ----------------------------------------------------------------------
+// Based on:
+// PHP-NUKE Web Portal System - http://phpnuke.org/
+// Thatware - http://thatware.org/
+// ----------------------------------------------------------------------
+// LICENSE
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License (GPL)
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// To read the license please visit http://www.gnu.org/copyleft/gpl.html
+// ----------------------------------------------------------------------
+
+/**
+ * Xanthia plugin
+ * 
+ * This file is a plugin for pnRender, the PostNuke implementation of Smarty
+ * 
+ * @package        Xanthia_Templating_Environment
+ * @subpackage     Xanthia
+ * @version        $Id: function.pagerendertime.php 16722 2005-08-27 12:35:10Z  $
+ * @author         The PostNuke development team 
+ * @link           http://www.postnuke.com The PostNuke Home Page
+ * @copyright      Copyright (C) 2004 by the PostNuke Development Team
+ * @license        http://www.gnu.org/copyleft/gpl.html GNU General Public License
+ */
+
+/**
+ * Smarty function to get the site's page render time
+ * 
+ * available parameters:
+ *  - assign      if set, the message will be assigned to this variable
+ * 
+ * Example
+ * <!--[pagerendertime]--> outputs 'Page created in 0.18122792243958 seconds.'
+ * 
+ * <!--[pagerendertime round=2]--> outputs 'Page created in 0.18 seconds.'
+ *
+ * @author   Mark West
+ * @since    08/02/04
+ * @param    array    $params     All attributes passed to this function from the template
+ * @param    object   $smarty     Reference to the Smarty object
+ * @param    string   $round      format to apply to the number (based on the round php function)
+ * @return   string   the page render time in seconds
+ * @todo change to ML as language is hardcoded (as per .726).
+ */
+function smarty_function_pagerendertime($params, &$smarty)
+{
+    // get the parameters
+    extract($params); 
+	unset($params['round']);
+
+	// show time to render
+    if ($GLOBALS['pndebug']['pagerendertime']){
+
+		// calcultate time to render
+		$mtime = explode(" ",microtime());
+		$dbg_endtime = $mtime[1] + $mtime[0];
+		$dbg_totaltime = ($dbg_endtime - $GLOBALS['dbg_starttime']);
+	
+		// log time to render
+		if ($GLOBALS['pndebug']['debug']){
+			$GLOBALS['dbg']->v($dbg_totaltime,"Page created in (seconds)");
+		}
+
+		if (isset($round)) {
+			$dbg_totaltime = round($dbg_totaltime, $round);
+		}
+
+	    if (isset($params['assign'])) {
+			$smarty->assign('rendertime', $dbg_totaltime);
+		} else {
+			$message = '<div class="pn-sub" style="text-align:center;">Page created in  ' . $dbg_totaltime . ' seconds.</div>';
+			return $message;
+		}			
+	}		
+
+} 
+
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/Xanthia/plugins/function.pncountnewmessages.php 0.763/modules/Xanthia/plugins/function.pncountnewmessages.php
--- 0.762/modules/Xanthia/plugins/function.pncountnewmessages.php	2004-07-25 14:48:33.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.pncountnewmessages.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pncountnewmessages.php,v 1.2 2004/07/25 19:48:33 markwest Exp $
+// $Id: function.pncountnewmessages.php 14122 2004-07-25 19:48:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pncountnewmessages.php,v 1.2 2004/07/25 19:48:33 markwest Exp $
+ * @version      $Id: function.pncountnewmessages.php 14122 2004-07-25 19:48:33Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.pngetrecentpath.php 0.763/modules/Xanthia/plugins/function.pngetrecentpath.php
--- 0.762/modules/Xanthia/plugins/function.pngetrecentpath.php	2004-06-12 06:02:14.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.pngetrecentpath.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pngetrecentpath.php,v 1.1 2004/06/12 11:02:14 landseer Exp $
+// $Id: function.pngetrecentpath.php 13806 2004-06-12 11:02:14Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pngetrecentpath.php,v 1.1 2004/06/12 11:02:14 landseer Exp $
+ * @version      $Id: function.pngetrecentpath.php 13806 2004-06-12 11:02:14Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.search.php 0.763/modules/Xanthia/plugins/function.search.php
--- 0.762/modules/Xanthia/plugins/function.search.php	2005-01-17 13:23:09.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.search.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.search.php,v 1.13.2.2 2005/01/17 19:23:09 markwest Exp $
+// $Id: function.search.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.search.php,v 1.13.2.2 2005/01/17 19:23:09 markwest Exp $
+ * @version      $Id: function.search.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.sitename.php 0.763/modules/Xanthia/plugins/function.sitename.php
--- 0.762/modules/Xanthia/plugins/function.sitename.php	2004-04-22 07:21:37.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.sitename.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.sitename.php,v 1.3 2004/04/22 12:21:37 drak Exp $
+// $Id: function.sitename.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.sitename.php,v 1.3 2004/04/22 12:21:37 drak Exp $
+ * @version      $Id: function.sitename.php 13213 2004-04-22 12:28:05Z drak $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.slogan.php 0.763/modules/Xanthia/plugins/function.slogan.php
--- 0.762/modules/Xanthia/plugins/function.slogan.php	2004-04-22 07:21:37.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.slogan.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.slogan.php,v 1.3 2004/04/22 12:21:37 drak Exp $
+// $Id: function.slogan.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.slogan.php,v 1.3 2004/04/22 12:21:37 drak Exp $
+ * @version      $Id: function.slogan.php 13213 2004-04-22 12:28:05Z drak $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.themeinfo.php 0.763/modules/Xanthia/plugins/function.themeinfo.php
--- 0.762/modules/Xanthia/plugins/function.themeinfo.php	2005-03-23 05:13:21.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.themeinfo.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.themeinfo.php,v 1.3.2.1 2005/03/23 11:13:21 markwest Exp $
+// $Id: function.themeinfo.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.themeinfo.php,v 1.3.2.1 2005/03/23 11:13:21 markwest Exp $
+ * @version      $Id: function.themeinfo.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.thememenujs.php 0.763/modules/Xanthia/plugins/function.thememenujs.php
--- 0.762/modules/Xanthia/plugins/function.thememenujs.php	2004-08-10 07:32:11.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.thememenujs.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.thememenujs.php,v 1.2 2004/08/10 12:32:11 markwest Exp $
+// $Id: function.thememenujs.php 14250 2004-08-10 12:35:48Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.thememenujs.php,v 1.2 2004/08/10 12:32:11 markwest Exp $
+ * @version      $Id: function.thememenujs.php 14250 2004-08-10 12:35:48Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.themestylesheet.php 0.763/modules/Xanthia/plugins/function.themestylesheet.php
--- 0.762/modules/Xanthia/plugins/function.themestylesheet.php	2004-08-10 07:31:24.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.themestylesheet.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.themestylesheet.php,v 1.2 2004/08/10 12:31:24 markwest Exp $
+// $Id: function.themestylesheet.php 14250 2004-08-10 12:35:48Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.themestylesheet.php,v 1.2 2004/08/10 12:31:24 markwest Exp $
+ * @version      $Id: function.themestylesheet.php 14250 2004-08-10 12:35:48Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2004 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.title.php 0.763/modules/Xanthia/plugins/function.title.php
--- 0.762/modules/Xanthia/plugins/function.title.php	2005-05-10 09:36:18.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.title.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.title.php,v 1.3.2.1 2005/05/10 14:36:18 markwest Exp $
+// $Id: function.title.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.title.php,v 1.3.2.1 2005/05/10 14:36:18 markwest Exp $
+ * @version      $Id: function.title.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.typetoolv55.php 0.763/modules/Xanthia/plugins/function.typetoolv55.php
--- 0.762/modules/Xanthia/plugins/function.typetoolv55.php	2004-04-22 07:21:37.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.typetoolv55.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.typetoolv55.php,v 1.2 2004/04/22 12:21:37 drak Exp $
+// $Id: function.typetoolv55.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.typetoolv55.php,v 1.2 2004/04/22 12:21:37 drak Exp $
+ * @version      $Id: function.typetoolv55.php 13213 2004-04-22 12:28:05Z drak $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.typetoolv80.php 0.763/modules/Xanthia/plugins/function.typetoolv80.php
--- 0.762/modules/Xanthia/plugins/function.typetoolv80.php	2005-01-31 09:07:23.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.typetoolv80.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.typetoolv80.php,v 1.5.2.1 2005/01/31 15:07:23 markwest Exp $
+// $Id: function.typetoolv80.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.typetoolv80.php,v 1.5.2.1 2005/01/31 15:07:23 markwest Exp $
+ * @version      $Id: function.typetoolv80.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.user.php 0.763/modules/Xanthia/plugins/function.user.php
--- 0.762/modules/Xanthia/plugins/function.user.php	2004-04-22 07:21:37.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.user.php,v 1.3 2004/04/22 12:21:37 drak Exp $
+// $Id: function.user.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.user.php,v 1.3 2004/04/22 12:21:37 drak Exp $
+ * @version      $Id: function.user.php 13213 2004-04-22 12:28:05Z drak $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.userlinks.php 0.763/modules/Xanthia/plugins/function.userlinks.php
--- 0.762/modules/Xanthia/plugins/function.userlinks.php	2004-12-13 09:30:08.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.userlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.userlinks.php,v 1.6.2.1 2004/12/13 15:30:08 markwest Exp $
+// $Id: function.userlinks.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.userlinks.php,v 1.6.2.1 2004/12/13 15:30:08 markwest Exp $
+ * @version      $Id: function.userlinks.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.userlogin.php 0.763/modules/Xanthia/plugins/function.userlogin.php
--- 0.762/modules/Xanthia/plugins/function.userlogin.php	2005-11-11 02:06:27.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/function.userlogin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.userlogin.php,v 1.10.2.4.2.1 2005/11/11 08:06:27 landseer Exp $
+// $Id: function.userlogin.php 17000 2005-11-11 08:06:27Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.userlogin.php,v 1.10.2.4.2.1 2005/11/11 08:06:27 landseer Exp $
+ * @version      $Id: function.userlogin.php 17000 2005-11-11 08:06:27Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/function.userwelcome.php 0.763/modules/Xanthia/plugins/function.userwelcome.php
--- 0.762/modules/Xanthia/plugins/function.userwelcome.php	2004-04-22 07:21:37.000000000 -0500
+++ 0.763/modules/Xanthia/plugins/function.userwelcome.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.userwelcome.php,v 1.4 2004/04/22 12:21:37 drak Exp $
+// $Id: function.userwelcome.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.userwelcome.php,v 1.4 2004/04/22 12:21:37 drak Exp $
+ * @version      $Id: function.userwelcome.php 13213 2004-04-22 12:28:05Z drak $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/plugins/outputfilter.shorturls.php 0.763/modules/Xanthia/plugins/outputfilter.shorturls.php
--- 0.762/modules/Xanthia/plugins/outputfilter.shorturls.php	2006-02-15 14:02:52.000000000 -0600
+++ 0.763/modules/Xanthia/plugins/outputfilter.shorturls.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: outputfilter.shorturls.php,v 1.5.2.7.2.6 2006/02/15 20:02:52 jmvedrine Exp $
+// $Id: outputfilter.shorturls.php 19371 2006-07-04 12:05:56Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: outputfilter.shorturls.php,v 1.5.2.7.2.6 2006/02/15 20:02:52 jmvedrine Exp $
+ * @version      $Id: outputfilter.shorturls.php 19371 2006-07-04 12:05:56Z markwest $
  * @author       Craig R. Saunders (coldrolledsteel)
  * @author       Martin Anderson (msanderson)
  * @author       Luca Longinotti (CHTEKK)
@@ -212,8 +212,8 @@
   $prefix . 'index.php\?module=daily_archive&(?:amp;)?func=display&(?:amp;)?req=get&(?:amp;)?year=([\w\d\.\:\_\/]+)&(?:amp;)?month=([\w\d\.\:\_\/]+)"|',
   $prefix . 'index.php\?module=daily_archive&(?:amp;)?func=display&(?:amp;)?req=get&(?:amp;)?year=([\w\d\.\:\_\/]+)&(?:amp;)?month=([\w\d\.\:\_\/]+)&(?:amp;)?day=([\w\d\.\:\_\/]+)"|',
   $prefix . 'index.php\?module=daily_archive&(?:amp;)?func=display&(?:amp;)?req=get&(?:amp;)?year=([\w\d\.\:\_\/]+)&(?:amp;)?month=([\w\d\.\:\_\/]+)&(?:amp;)?day=([\w\d\.\:\_\/]+)&(?:amp;)?page=([\w\d\.\:\_\/]+)"|',
-  $prefix . 'index.php\?name=News&(?:amp;)?catid=&(?:amp;)?topic=&(?:amp;)?startrow=(\d{1,2})"|',
-  $prefix . 'index.php\?name=News&(?:amp;)?catid=&(?:amp;)?topic=(\d{1,2})&(?:amp;)?startrow=(\d{1,2})"|',
+  $prefix . 'index.php\?name=News&(?:amp;)?startrow=(\d{1,2})"|',
+  $prefix . 'index.php\?name=News&(?:amp;)?topic=(\d{1,2})&(?:amp;)?startrow=(\d{1,2})"|',
   $prefix . 'index.php\?module=PostCalendar&(?:amp;)?func=view&(?:amp;)?Date=(\d{4})(\d{2})(\d{2})(?:&(?:amp;)?tplview=)?&(?:amp;)?viewtype=details&(?:amp;)?eid=(\d+)&(?:amp;)?print="|',
   $prefix . 'index.php\?module=PostCalendar&(?:amp;)?func=view&(?:amp;)?tplview=default&(?:amp;)?viewtype=month&(?:amp;)?Date=(\d{4})(\d{2})(\d{2})"|',
   $prefix . 'index.php\?module=PostCalendar&(?:amp;)?func=view&(?:amp;)?tplview=(\w+)&(?:amp;)?viewtype=(\w+)&(?:amp;)?Date=(\d{4})(\d{2})(\d{2})(?:&(?:amp;)?pc_username=)?(?:&(?:amp;)?pc_category=)?(?:&(?:amp;)?pc_topic=)?(?:&(?:amp;)?print=)?"|',
diff -ruN 0.762/modules/Xanthia/pnadmin.php 0.763/modules/Xanthia/pnadmin.php
--- 0.762/modules/Xanthia/pnadmin.php	2005-08-30 10:55:16.000000000 -0500
+++ 0.763/modules/Xanthia/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.119.2.12.2.1 2005/08/30 15:55:16 markwest Exp $
+// $Id: pnadmin.php 19417 2006-07-16 19:43:20Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 By Larry E. Masters, Shorewood, Illinois.
 // nut@phpnut.com
@@ -52,7 +52,7 @@
  * @author Larry E. Masters aka PhpNut <nut@phpnut.com>
  * @link http://www.larrymasters.com
  * @since         1.1
- * @version $Revision: 1.119.2.12.2.1 $
+ * @version $Revision: 19417 $
  * @return string HTML string
  * @todo clean up code layout
  */
@@ -247,7 +247,7 @@
  * of all items held by the module.
  * @author Larry E. Masters aka PhpNut <nut@phpnut.com>
  * @link http://www.larrymasters.com
- * @version $Revision: 1.119.2.12.2.1 $
+ * @version $Revision: 19417 $
  * @return string HTML string
  * @todo clean up code layout
  */
@@ -339,7 +339,7 @@
  * @author Larry E. Masters aka PhpNut <nut@phpnut.com>
  * @link http://www.larrymasters.com
  * @since         1.1
- * @version $Revision: 1.119.2.12.2.1 $
+ * @version $Revision: 19417 $
  * @return string HTML string
  * @todo clean up code layout
  */
@@ -1994,7 +1994,7 @@
 						
     $formoptions[] = array('skinid' => $skin,
                            'tpl_module' => $skinName,
-                           'newtheme' => $skinName,
+                           'themename' => $skinName,
                            'newtype' => $ttype);
                         
 	$pnRender->assign('formcontent', $formoptions);                           
@@ -2079,7 +2079,7 @@
 						
     $formoptions[] = array('skinid' => $skin,
                            'tpl_module' => $tpl_module,
-                           'newtheme' => $skinName,
+                           'themename' => $skinName,
                            'newtype' => $ttype,
                            'allzones' => $allblocks                          
                            );
@@ -3487,7 +3487,7 @@
     
 	extract($args);
 	
-	list($authid, $skinid, $tpl_module, $newtheme, $source, $newtype, $sourceTpl) = pnVarCleanFromInput('authid','skinid','tpl_module','newtheme','source', 'newtype', 'sourceTpl');
+	list($authid, $skinid, $tpl_module, $themename, $source, $newtype, $sourceTpl) = pnVarCleanFromInput('authid','skinid','tpl_module','themename','source', 'newtype', 'sourceTpl');
 
 	if (!pnModAPILoad('Xanthia','admin')) {
         pnSessionSetVar('errormsg', pnVarPrepHTMLDisplay(_XA_APILOADFAILED));
@@ -3498,7 +3498,7 @@
 	if(pnModAPIFunc('Xanthia','admin','addTplFile',
                                  array('skinid' => $skinid,
                                        'tpl_module' => $tpl_module,
-                                       'newtheme' => $newtheme,
+                                       'newtheme' => $themename,
                                        'sourceTpl' => $sourceTpl,
                                        'source' => $source,
                                        'newtype' => $newtype
@@ -3509,10 +3509,10 @@
 			include_once 'includes/classes/Smarty/Smarty.class.php';
 		}
     
-		$thisfile = "$newtheme/$sourceTpl";								
+		$thisfile = "$themename/$sourceTpl";								
 		$DelteDTS = new Smarty;
-		$DelteDTS->compile_id           = "$newtheme".pnUserGetLang()."";
-		$DelteDTS->compile_dir		= pnConfigGetVar('temp') . '/Xanthia_compiled';    // cache directory (compiled templates)
+		$DelteDTS->compile_id = "$themename".pnUserGetLang()."";
+		$DelteDTS->compile_dir = pnConfigGetVar('temp') . '/Xanthia_compiled';    // cache directory (compiled templates)
 		$DelteDTS->clear_compiled_tpl("userdb:$thisfile");	
 		pnRedirect(pnModURL('Xanthia','admin','editTemplate',
 												array('tpl' => $sourceTpl,
diff -ruN 0.762/modules/Xanthia/pnadminapi.php 0.763/modules/Xanthia/pnadminapi.php
--- 0.762/modules/Xanthia/pnadminapi.php	2006-01-11 05:49:49.000000000 -0600
+++ 0.763/modules/Xanthia/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.55.2.11.2.1 2006/01/11 11:49:49 markwest Exp $
+// $Id: pnadminapi.php 17501 2006-01-11 11:49:49Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 By Larry E. Masters, Shorewood, Illinois.
 // nut@phpnut.com
diff -ruN 0.762/modules/Xanthia/pnblocks/logo.php 0.763/modules/Xanthia/pnblocks/logo.php
--- 0.762/modules/Xanthia/pnblocks/logo.php	2004-12-03 06:04:19.000000000 -0600
+++ 0.763/modules/Xanthia/pnblocks/logo.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: logo.php,v 1.9.2.1 2004/12/03 12:04:19 markwest Exp $
+// $Id: logo.php 15015 2004-12-03 12:04:19Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -35,7 +35,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: logo.php,v 1.9.2.1 2004/12/03 12:04:19 markwest Exp $
+ * @version      $Id: logo.php 15015 2004-12-03 12:04:19Z markwest $
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
  */ 
 
diff -ruN 0.762/modules/Xanthia/pnblocks/module.php 0.763/modules/Xanthia/pnblocks/module.php
--- 0.762/modules/Xanthia/pnblocks/module.php	2005-07-12 09:38:48.000000000 -0500
+++ 0.763/modules/Xanthia/pnblocks/module.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: module.php,v 1.4.2.2 2005/07/12 14:38:48 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: module.php 16396 2005-07-12 14:38:48Z markwest $ $Name$
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by Dmitry Beransky
@@ -38,7 +38,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: module.php,v 1.4.2.2 2005/07/12 14:38:48 markwest Exp $
+ * @version      $Id: module.php 16396 2005-07-12 14:38:48Z markwest $
  * @author       Dmitry Beransky
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by Dmitry Beransky
@@ -50,7 +50,7 @@
  * initialise block
  * 
  * @author       Dmitry Beransky
- * @version      $Revision: 1.4.2.2 $
+ * @version      $Revision: 16396 $
  */
 function xanthia_moduleblock_init()
 {
@@ -63,7 +63,7 @@
  * get information on block
  * 
  * @author       Dmitry Beransky
- * @version      $Revision: 1.4.2.2 $
+ * @version      $Revision: 16396 $
  * @return       array       The block information
  */
 function xanthia_moduleblock_info()
@@ -82,7 +82,7 @@
  * display block
  * 
  * @author       Dmitry Beransky
- * @version      $Revision: 1.4.2.2 $
+ * @version      $Revision: 16396 $
  * @param        array       $blockinfo     a blockinfo structure
  * @return       output      the rendered bock
  */
@@ -121,7 +121,7 @@
  * modify block settings
  * 
  * @author       Dmitry Beransky
- * @version      $Revision: 1.4.2.2 $
+ * @version      $Revision: 16396 $
  * @param        array       $blockinfo     a blockinfo structure
  * @return       output      the bock form
  */
@@ -158,7 +158,7 @@
  * update block settings
  * 
  * @author       Dmitry Beransky
- * @version      $Revision: 1.4.2.2 $
+ * @version      $Revision: 16396 $
  * @param        array       $blockinfo     a blockinfo structure
  * @return       $blockinfo  the modified blockinfo structure
  */
diff -ruN 0.762/modules/Xanthia/pnclasses/Xanthia.php 0.763/modules/Xanthia/pnclasses/Xanthia.php
--- 0.762/modules/Xanthia/pnclasses/Xanthia.php	2005-11-16 15:42:45.000000000 -0600
+++ 0.763/modules/Xanthia/pnclasses/Xanthia.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: Xanthia.php,v 1.83.2.19.2.1 2005/11/16 21:42:45 markwest Exp $
+// $Id: Xanthia.php 17055 2005-11-16 21:42:45Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 By Larry E. Masters, Shorewood, Illinois.
 // nut@phpnut.com
diff -ruN 0.762/modules/Xanthia/pndocs/short_urls/htm/.htaccess 0.763/modules/Xanthia/pndocs/short_urls/htm/.htaccess
--- 0.762/modules/Xanthia/pndocs/short_urls/htm/.htaccess	2005-09-25 10:07:40.000000000 -0500
+++ 0.763/modules/Xanthia/pndocs/short_urls/htm/.htaccess	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-# $Id: .htaccess,v 1.4.2.2.2.1 2005/09/25 15:07:40 chestnut Exp $
+# $Id: .htaccess 18277 2006-03-20 16:49:09Z markwest $
 # ----------------------------------------------------------------------
 # PostNuke Content Management System
 # Copyright (C) 2002 by the PostNuke Development Team.
@@ -120,7 +120,7 @@
 RewriteRule ^PrintArticle([0-9]+)\.htm$ print.php?sid=$1 [L,NC,NS]
 
 # Categories / Categorie
-RewriteRule ^Category([0-9]+)\.htm$ index.php?catid=$1 [L,NC,NS]
+RewriteRule ^Category([0-9]+)\.htm$ index.php?name=News&catid=$1 [L,NC,NS]
 RewriteRule ^Category([0-9]+)-All\.htm$ index.php?name=News&catid=$1&allstories=1 [L,NC,NS]
 
 # Topics / Argomenti
diff -ruN 0.762/modules/Xanthia/pndocs/short_urls/html/.htaccess 0.763/modules/Xanthia/pndocs/short_urls/html/.htaccess
--- 0.762/modules/Xanthia/pndocs/short_urls/html/.htaccess	2005-09-25 10:07:40.000000000 -0500
+++ 0.763/modules/Xanthia/pndocs/short_urls/html/.htaccess	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-# $Id: .htaccess,v 1.4.2.2.2.1 2005/09/25 15:07:40 chestnut Exp $
+# $Id: .htaccess 18277 2006-03-20 16:49:09Z markwest $
 # ----------------------------------------------------------------------
 # PostNuke Content Management System
 # Copyright (C) 2002 by the PostNuke Development Team.
@@ -120,7 +120,7 @@
 RewriteRule ^PrintArticle([0-9]+)\.html$ print.php?sid=$1 [L,NC,NS]
 
 # Categories / Categorie
-RewriteRule ^Category([0-9]+)\.html$ index.php?catid=$1 [L,NC,NS]
+RewriteRule ^Category([0-9]+)\.html$ index.php?name=News&catid=$1 [L,NC,NS]
 RewriteRule ^Category([0-9]+)-All\.html$ index.php?name=News&catid=$1&allstories=1 [L,NC,NS]
 
 # Topics / Argomenti
diff -ruN 0.762/modules/Xanthia/pndocs/short_urls/phtml/.htaccess 0.763/modules/Xanthia/pndocs/short_urls/phtml/.htaccess
--- 0.762/modules/Xanthia/pndocs/short_urls/phtml/.htaccess	2005-09-25 10:07:41.000000000 -0500
+++ 0.763/modules/Xanthia/pndocs/short_urls/phtml/.htaccess	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-# $Id: .htaccess,v 1.4.2.4.2.1 2005/09/25 15:07:41 chestnut Exp $
+# $Id: .htaccess 18277 2006-03-20 16:49:09Z markwest $
 # ----------------------------------------------------------------------
 # PostNuke Content Management System
 # Copyright (C) 2002 by the PostNuke Development Team.
@@ -120,7 +120,7 @@
 RewriteRule ^PrintArticle([0-9]+)\.phtml$ print.php?sid=$1 [L,NC,NS]
 
 # Categories / Categorie
-RewriteRule ^Category([0-9]+)\.phtml$ index.php?catid=$1 [L,NC,NS]
+RewriteRule ^Category([0-9]+)\.phtml$ index.php?name=News&catid=$1 [L,NC,NS]
 RewriteRule ^Category([0-9]+)-All\.phtml$ index.php?name=News&catid=$1&allstories=1 [L,NC,NS]
 
 # Topics / Argomenti
diff -ruN 0.762/modules/Xanthia/pndocs/themes/theme.php 0.763/modules/Xanthia/pndocs/themes/theme.php
--- 0.762/modules/Xanthia/pndocs/themes/theme.php	2005-03-07 08:05:32.000000000 -0600
+++ 0.763/modules/Xanthia/pndocs/themes/theme.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.1.2.1 2005/03/07 14:05:32 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: theme.php 16722 2005-08-27 12:35:10Z  $ $Name$
 // Copyright (c) 2002 by Pyksel (pyksel@envolution.com)
 // http://www.envolution.com
 // Envolution Content Management System - http://www.envolution.com
Binary files 0.762/modules/Xanthia/pnhtml/colorpicker.class and 0.763/modules/Xanthia/pnhtml/colorpicker.class differ
diff -ruN 0.762/modules/Xanthia/pninit.php 0.763/modules/Xanthia/pninit.php
--- 0.762/modules/Xanthia/pninit.php	2005-08-21 10:40:11.000000000 -0500
+++ 0.763/modules/Xanthia/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.31.2.7 2005/08/21 15:40:11 markwest Exp $
+// $Id: pninit.php 16722 2005-08-27 12:35:10Z  $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 By Larry E. Masters, Shorewood, Illinois.
 // nut@phpnut.com
diff -ruN 0.762/modules/Xanthia/pnlang/eng/admin.php 0.763/modules/Xanthia/pnlang/eng/admin.php
--- 0.762/modules/Xanthia/pnlang/eng/admin.php	2005-07-24 09:27:45.000000000 -0500
+++ 0.763/modules/Xanthia/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.52.2.7 2005/07/24 14:27:45 markwest Exp $
+// $Id: admin.php 19418 2006-07-16 19:54:19Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
@@ -172,7 +172,7 @@
 define('_XA_AVAILABLETHEMES','All Xanthia themes');
 define('_XA_RELOADTEMPLATES', 'Reload templates');
 define('_XA_RELOADTEMPLATE', 'Reload template');
-define('_XA_REMOVETHEME','Remove theme');
+define('_XA_REMOVETHEME','Deactivate theme');
 define('_XA_THEMECREDITS', 'Credits');
 define('_XA_THEMENAME','Theme name');
 define('_XA_NOTHEMECREDITS', 'No credits available for this theme');
@@ -180,11 +180,10 @@
 define('_XA_EDITTEMPLATES','Templates');
 define('_XA_EDITTEMPLATEFILE', 'Edit template form');
 define('_XA_VIEWTHEME','View theme');
-define('_XA_ADDTHEME','Add theme');
+define('_XA_ADDTHEME','Activate theme');
 define('_XA_EDITTHEME','Edit theme');
-define('_XA_THEMEREMOVED','The theme was successfully removed from the database. Please remember to remove the theme from the themes directory.');
-define('_XA_THEMEADDED','The theme was successfully added to the database. To begin configuring this theme,<br /> you must first select it in the settings administration 
-panel and then edit it from the Xanthia administration panel.');
+define('_XA_THEMEREMOVED','The theme was successfully deactivated. Please remember to remove the theme from the themes directory.');
+define('_XA_THEMEADDED','The theme was successfully activated.');
 
 // Zone Related Defines
 define('_XA_ZONENAME','Name');
diff -ruN 0.762/modules/Xanthia/pnlang/eng/init.php 0.763/modules/Xanthia/pnlang/eng/init.php
--- 0.762/modules/Xanthia/pnlang/eng/init.php	2004-05-24 04:29:53.000000000 -0500
+++ 0.763/modules/Xanthia/pnlang/eng/init.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.6 2004/05/24 09:29:53 markwest Exp $
+// $Id: init.php 13608 2004-05-24 09:32:23Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/modules/Xanthia/pnlang/eng/module.php 0.763/modules/Xanthia/pnlang/eng/module.php
--- 0.762/modules/Xanthia/pnlang/eng/module.php	2004-05-24 04:29:53.000000000 -0500
+++ 0.763/modules/Xanthia/pnlang/eng/module.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: module.php,v 1.4 2004/05/24 09:29:53 markwest Exp $
+// $Id: module.php 13608 2004-05-24 09:32:23Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Xanthia/pnlang/eng/user.php 0.763/modules/Xanthia/pnlang/eng/user.php
--- 0.762/modules/Xanthia/pnlang/eng/user.php	2005-07-24 07:30:27.000000000 -0500
+++ 0.763/modules/Xanthia/pnlang/eng/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: user.php,v 1.12.2.4 2005/07/24 12:30:27 dabase Exp $
+// $Id: user.php 16722 2005-08-27 12:35:10Z  $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/modules/Xanthia/pnlang/eng/userapi.php 0.763/modules/Xanthia/pnlang/eng/userapi.php
--- 0.762/modules/Xanthia/pnlang/eng/userapi.php	2005-07-24 07:30:27.000000000 -0500
+++ 0.763/modules/Xanthia/pnlang/eng/userapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: userapi.php,v 1.4.2.1 2005/07/24 12:30:27 dabase Exp $
+// $Id: userapi.php 16722 2005-08-27 12:35:10Z  $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/modules/Xanthia/pntables.php 0.763/modules/Xanthia/pntables.php
--- 0.762/modules/Xanthia/pntables.php	2004-12-12 17:22:46.000000000 -0600
+++ 0.763/modules/Xanthia/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.13.2.2 2004/12/12 23:22:46 larry Exp $
+// $Id: pntables.php 16722 2005-08-27 12:35:10Z  $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 By Larry E. Masters, Shorewood, Illinois.
 // nut@phpnut.com
diff -ruN 0.762/modules/Xanthia/pntemplates/plugins/function.xanthiaadminlinks.php 0.763/modules/Xanthia/pntemplates/plugins/function.xanthiaadminlinks.php
--- 0.762/modules/Xanthia/pntemplates/plugins/function.xanthiaadminlinks.php	2004-07-16 10:09:27.000000000 -0500
+++ 0.763/modules/Xanthia/pntemplates/plugins/function.xanthiaadminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.xanthiaadminlinks.php,v 1.4 2004/07/16 15:09:27 markwest Exp $
+// $Id: function.xanthiaadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      PostNuke_System_Modules
  * @subpackage   Xanthia
- * @version      $Id: function.xanthiaadminlinks.php,v 1.4 2004/07/16 15:09:27 markwest Exp $
+ * @version      $Id: function.xanthiaadminlinks.php 14022 2004-07-16 15:10:15Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/Xanthia/pntemplates/xanthiaadminmenu.htm 0.763/modules/Xanthia/pntemplates/xanthiaadminmenu.htm
--- 0.762/modules/Xanthia/pntemplates/xanthiaadminmenu.htm	2005-01-19 06:51:16.000000000 -0600
+++ 0.763/modules/Xanthia/pntemplates/xanthiaadminmenu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: xanthiaadminmenu.htm,v 1.9.2.3 2005/01/19 12:51:16 landseer Exp $  *]-->
+<!--[*  $Id: xanthiaadminmenu.htm 16722 2005-08-27 12:35:10Z  $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_XA_COMPASSEDIT"]--></h1>
diff -ruN 0.762/modules/Xanthia/pntemplates/xanthiaadminmenunav.htm 0.763/modules/Xanthia/pntemplates/xanthiaadminmenunav.htm
--- 0.762/modules/Xanthia/pntemplates/xanthiaadminmenunav.htm	2004-12-11 05:54:45.000000000 -0600
+++ 0.763/modules/Xanthia/pntemplates/xanthiaadminmenunav.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: xanthiaadminmenunav.htm,v 1.5.2.1 2004/12/11 11:54:45 larry Exp $  *]-->
+<!--[*  $Id: xanthiaadminmenunav.htm 16722 2005-08-27 12:35:10Z  $  *]-->
 <!--[include file="xanthiaadminmenu.htm"]-->
 <!--[pngetstatusmsg]-->
 <br />
diff -ruN 0.762/modules/Xanthia/pntemplates/xanthiaadminnewtplform.htm 0.763/modules/Xanthia/pntemplates/xanthiaadminnewtplform.htm
--- 0.762/modules/Xanthia/pntemplates/xanthiaadminnewtplform.htm	2004-04-23 05:57:49.000000000 -0500
+++ 0.763/modules/Xanthia/pntemplates/xanthiaadminnewtplform.htm	2006-10-17 16:24:08.000000000 -0500
@@ -28,7 +28,7 @@
 			<td>
 				<input type="hidden" name="authid" id="authid" value="<!--[pnsecgenauthkey module="Xanthia"]-->" />
 				<input type="hidden" name="skinid" id="skinid" value="<!--[$formcontent[formcontent].skinid]-->" />
-				<input type="hidden" name="newtheme" id="newtheme" value="<!--[$formcontent[formcontent].newtheme]-->" />
+				<input type="hidden" name="themename" id="themename" value="<!--[$formcontent[formcontent].themename]-->" />
 				<input type="hidden" name="newtype" id="newtype" value="<!--[$formcontent[formcontent].newtype]-->" />
 				<input type="hidden" name="tpl_module" id="tpl_module" value="<!--[$formcontent[formcontent].tpl_module]-->" />
 				<table>
diff -ruN 0.762/modules/Xanthia/pnuserapi.php 0.763/modules/Xanthia/pnuserapi.php
--- 0.762/modules/Xanthia/pnuserapi.php	2006-01-27 13:10:53.000000000 -0600
+++ 0.763/modules/Xanthia/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.62.2.15.2.1 2006/01/27 19:10:53 markwest Exp $
+// $Id: pnuserapi.php 17741 2006-01-27 19:10:53Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 By Larry E. Masters, Shorewood, Illinois.
 // nut@phpnut.com
diff -ruN 0.762/modules/Xanthia/pnversion.php 0.763/modules/Xanthia/pnversion.php
--- 0.762/modules/Xanthia/pnversion.php	2005-01-30 08:19:41.000000000 -0600
+++ 0.763/modules/Xanthia/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.10.2.4 2005/01/30 14:19:41 markwest Exp $
+// $Id: pnversion.php 16722 2005-08-27 12:35:10Z  $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 By Larry E. Masters, Shorewood, Illinois.
 // nut@phpnut.com
diff -ruN 0.762/modules/Your_Account/user/links/links.changehome.php 0.763/modules/Your_Account/user/links/links.changehome.php
--- 0.762/modules/Your_Account/user/links/links.changehome.php	2004-11-27 15:18:40.000000000 -0600
+++ 0.763/modules/Your_Account/user/links/links.changehome.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: links.changehome.php,v 1.1 2004/11/27 21:18:40 markwest Exp $
+<?php // $Id: links.changehome.php 14982 2004-11-27 21:18:42Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Your_Account/user/links/links.changeinfo.php 0.763/modules/Your_Account/user/links/links.changeinfo.php
--- 0.762/modules/Your_Account/user/links/links.changeinfo.php	2004-11-27 15:18:40.000000000 -0600
+++ 0.763/modules/Your_Account/user/links/links.changeinfo.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: links.changeinfo.php,v 1.1 2004/11/27 21:18:40 markwest Exp $
+<?php // $Id: links.changeinfo.php 14982 2004-11-27 21:18:42Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Your_Account/user/links/links.changetheme.php 0.763/modules/Your_Account/user/links/links.changetheme.php
--- 0.762/modules/Your_Account/user/links/links.changetheme.php	2005-02-04 00:02:52.000000000 -0600
+++ 0.763/modules/Your_Account/user/links/links.changetheme.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: links.changetheme.php,v 1.2 2005/02/04 06:02:52 jorg Exp $
+<?php // $Id: links.changetheme.php 15628 2005-02-04 06:02:52Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Your_Account/user/modules/changehome.php 0.763/modules/Your_Account/user/modules/changehome.php
--- 0.762/modules/Your_Account/user/modules/changehome.php	2004-11-27 15:18:40.000000000 -0600
+++ 0.763/modules/Your_Account/user/modules/changehome.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: changehome.php,v 1.1 2004/11/27 21:18:40 markwest Exp $
+<?php // $Id: changehome.php 14982 2004-11-27 21:18:42Z markwest $
 
 if (eregi('changehome.php', $_SERVER['PHP_SELF'])) {
 	die ("You can't access this file directly...");
diff -ruN 0.762/modules/Your_Account/user/modules/changeinfo.php 0.763/modules/Your_Account/user/modules/changeinfo.php
--- 0.762/modules/Your_Account/user/modules/changeinfo.php	2005-12-11 14:40:23.000000000 -0600
+++ 0.763/modules/Your_Account/user/modules/changeinfo.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: changeinfo.php,v 1.6 2005/12/11 20:40:23 larsneo Exp $
+// $Id: changeinfo.php 17323 2005-12-11 20:40:23Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/Your_Account/user/modules/changetheme.php 0.763/modules/Your_Account/user/modules/changetheme.php
--- 0.762/modules/Your_Account/user/modules/changetheme.php	2005-02-04 00:00:05.000000000 -0600
+++ 0.763/modules/Your_Account/user/modules/changetheme.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: changetheme.php,v 1.5 2005/02/04 06:00:05 jorg Exp $
+// $Id: changetheme.php 15627 2005-02-04 06:00:05Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/legal/pnadmin.php 0.763/modules/legal/pnadmin.php
--- 0.762/modules/legal/pnadmin.php	2006-01-12 07:05:07.000000000 -0600
+++ 0.763/modules/legal/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.3.2.1 2006/01/12 13:05:07 markwest Exp $
+// $Id: pnadmin.php 17520 2006-01-12 13:08:20Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -32,7 +32,7 @@
  *
  * @package      PostNuke_System_Modules
  * @subpackage   Legal
- * @version      $Id: pnadmin.php,v 1.3.2.1 2006/01/12 13:05:07 markwest Exp $
+ * @version      $Id: pnadmin.php 17520 2006-01-12 13:08:20Z markwest $
  * @author       Mark West
  * @author       The PostNuke Development Team
  * @link         http://www.postnuke.com  The PostNuke Home Page
diff -ruN 0.762/modules/legal/pninit.php 0.763/modules/legal/pninit.php
--- 0.762/modules/legal/pninit.php	2005-01-10 09:01:37.000000000 -0600
+++ 0.763/modules/legal/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.6 2005/01/10 15:01:37 markwest Exp $
+// $Id: pninit.php 15324 2005-01-10 15:11:12Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/legal/pnlang/eng/admin.php 0.763/modules/legal/pnlang/eng/admin.php
--- 0.762/modules/legal/pnlang/eng/admin.php	2004-12-16 09:18:25.000000000 -0600
+++ 0.763/modules/legal/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.2 2004/12/16 15:18:25 markwest Exp $
+// $Id: admin.php 15196 2004-12-16 15:21:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
 // ----------------------------------------------------------------------
 /**
  * @author       Mark West
- * @version      $Revision: 1.2 $
+ * @version      $Revision: 15196 $
  * @package      PostNuke_System_Modules
  * @subpackage   legal
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/modules/legal/pnlang/eng/user.php 0.763/modules/legal/pnlang/eng/user.php
--- 0.762/modules/legal/pnlang/eng/user.php	2005-01-28 10:18:16.000000000 -0600
+++ 0.763/modules/legal/pnlang/eng/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: user.php,v 1.12 2005/01/28 16:18:16 markwest Exp $
+// $Id: user.php 15534 2005-01-28 16:18:17Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/legal/pntemplates/legal_admin_main.htm 0.763/modules/legal/pntemplates/legal_admin_main.htm
--- 0.762/modules/legal/pntemplates/legal_admin_main.htm	2004-12-14 05:00:51.000000000 -0600
+++ 0.763/modules/legal/pntemplates/legal_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: legal_admin_main.htm,v 1.2 2004/12/14 11:00:51 markwest Exp $  *]-->
+<!--[*  $Id: legal_admin_main.htm 15157 2004-12-14 11:12:40Z markwest $  *]-->
 <!--[pnmodfunc modname=legal type=admin func=modifyconfig]-->
diff -ruN 0.762/modules/legal/pntemplates/legal_admin_menu.htm 0.763/modules/legal/pntemplates/legal_admin_menu.htm
--- 0.762/modules/legal/pntemplates/legal_admin_menu.htm	2005-01-19 07:08:51.000000000 -0600
+++ 0.763/modules/legal/pntemplates/legal_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: legal_admin_menu.htm,v 1.3 2005/01/19 13:08:51 landseer Exp $  *]-->
+<!--[*  $Id: legal_admin_menu.htm 15415 2005-01-19 13:14:01Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_LEGAL"]--></h1>
diff -ruN 0.762/modules/legal/pntemplates/legal_admin_modifyconfig.htm 0.763/modules/legal/pntemplates/legal_admin_modifyconfig.htm
--- 0.762/modules/legal/pntemplates/legal_admin_modifyconfig.htm	2005-01-19 05:43:30.000000000 -0600
+++ 0.763/modules/legal/pntemplates/legal_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: legal_admin_modifyconfig.htm,v 1.2 2005/01/19 11:43:30 markwest Exp $  *]-->
+<!--[*  $Id: legal_admin_modifyconfig.htm 15409 2005-01-19 11:43:30Z markwest $  *]-->
 <!--[include file="legal_admin_menu.htm"]-->
 <h2><!--[pnml name="_MODIFYCONFIG"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="legal" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/legal/pntemplates/legal_user_main.htm 0.763/modules/legal/pntemplates/legal_user_main.htm
--- 0.762/modules/legal/pntemplates/legal_user_main.htm	2004-11-28 07:43:14.000000000 -0600
+++ 0.763/modules/legal/pntemplates/legal_user_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,3 +1,3 @@
-<!--[*  $Id: legal_user_main.htm,v 1.1 2004/11/28 13:43:14 markwest Exp $  *]-->
+<!--[*  $Id: legal_user_main.htm 14992 2004-11-28 13:43:14Z markwest $  *]-->
 <!--[pngetstatusmsg]-->
 <!--[$main]-->
\ No newline at end of file
diff -ruN 0.762/modules/legal/pntemplates/legal_user_menu.htm 0.763/modules/legal/pntemplates/legal_user_menu.htm
--- 0.762/modules/legal/pntemplates/legal_user_menu.htm	2004-11-24 18:11:34.000000000 -0600
+++ 0.763/modules/legal/pntemplates/legal_user_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: legal_user_menu.htm,v 1.1 2004/11/25 00:11:34 markwest Exp $  *]-->
+<!--[*  $Id: legal_user_menu.htm 14961 2004-11-25 00:11:34Z markwest $  *]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_LEGAL"]--></h1>
 <div class="pn-menu">
diff -ruN 0.762/modules/legal/pntemplates/plugins/function.legaladminlinks.php 0.763/modules/legal/pntemplates/plugins/function.legaladminlinks.php
--- 0.762/modules/legal/pntemplates/plugins/function.legaladminlinks.php	2004-11-21 14:04:34.000000000 -0600
+++ 0.763/modules/legal/pntemplates/plugins/function.legaladminlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.legaladminlinks.php,v 1.1 2004/11/21 20:04:34 markwest Exp $
+// $Id: function.legaladminlinks.php 14934 2004-11-21 20:04:34Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   legal
- * @version      $Id: function.legaladminlinks.php,v 1.1 2004/11/21 20:04:34 markwest Exp $
+ * @version      $Id: function.legaladminlinks.php 14934 2004-11-21 20:04:34Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/legal/pntemplates/plugins/function.legaluserlinks.php 0.763/modules/legal/pntemplates/plugins/function.legaluserlinks.php
--- 0.762/modules/legal/pntemplates/plugins/function.legaluserlinks.php	2005-01-25 16:46:29.000000000 -0600
+++ 0.763/modules/legal/pntemplates/plugins/function.legaluserlinks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.legaluserlinks.php,v 1.2 2005/01/25 22:46:29 markwest Exp $
+// $Id: function.legaluserlinks.php 15490 2005-01-25 22:46:29Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -28,7 +28,7 @@
  * 
  * @package      PostNuke_System_Modules
  * @subpackage   legal
- * @version      $Id: function.legaluserlinks.php,v 1.2 2005/01/25 22:46:29 markwest Exp $
+ * @version      $Id: function.legaluserlinks.php 15490 2005-01-25 22:46:29Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/legal/pnuser.php 0.763/modules/legal/pnuser.php
--- 0.762/modules/legal/pnuser.php	2005-01-28 10:16:17.000000000 -0600
+++ 0.763/modules/legal/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.24 2005/01/28 16:16:17 markwest Exp $
+// $Id: pnuser.php 15533 2005-01-28 16:16:17Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/legal/pnversion.php 0.763/modules/legal/pnversion.php
--- 0.762/modules/legal/pnversion.php	2004-11-21 14:04:34.000000000 -0600
+++ 0.763/modules/legal/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.5 2004/11/21 20:04:34 markwest Exp $
+// $Id: pnversion.php 14934 2004-11-21 20:04:34Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2003 by the PostNuke Development Team.
diff -ruN 0.762/modules/pnRender/plugins/function.add_additional_header.php 0.763/modules/pnRender/plugins/function.add_additional_header.php
--- 0.762/modules/pnRender/plugins/function.add_additional_header.php	2004-08-16 06:23:29.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.add_additional_header.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.add_additional_header.php,v 1.2 2004/08/16 11:23:29 r3ap3r Exp $
+// $Id: function.add_additional_header.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.add_additional_header.php,v 1.2 2004/08/16 11:23:29 r3ap3r Exp $
+ * @version      $Id: function.add_additional_header.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.allowedhtml.php 0.763/modules/pnRender/plugins/function.allowedhtml.php
--- 0.762/modules/pnRender/plugins/function.allowedhtml.php	2005-07-23 10:02:33.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.allowedhtml.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.allowedhtml.php,v 1.1.2.1 2005/07/23 15:02:33 markwest Exp $
+// $Id: function.allowedhtml.php 16465 2005-07-23 15:02:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.allowedhtml.php,v 1.1.2.1 2005/07/23 15:02:33 markwest Exp $
+ * @version      $Id: function.allowedhtml.php 16465 2005-07-23 15:02:33Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.closetable.php 0.763/modules/pnRender/plugins/function.closetable.php
--- 0.762/modules/pnRender/plugins/function.closetable.php	2005-07-23 10:10:49.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.closetable.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.closetable.php,v 1.5.2.1 2005/07/23 15:10:49 markwest Exp $
+// $Id: function.closetable.php 16467 2005-07-23 15:10:49Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/pnRender/plugins/function.closetable2.php 0.763/modules/pnRender/plugins/function.closetable2.php
--- 0.762/modules/pnRender/plugins/function.closetable2.php	2005-08-30 10:58:08.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.closetable2.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.closetable2.php,v 1.5.2.1.2.1 2005/08/30 15:58:08 markwest Exp $
+// $Id: function.closetable2.php 16745 2005-08-30 15:58:08Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/pnRender/plugins/function.languagelist.php 0.763/modules/pnRender/plugins/function.languagelist.php
--- 0.762/modules/pnRender/plugins/function.languagelist.php	2005-07-23 10:25:31.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.languagelist.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.languagelist.php,v 1.3.2.6 2005/07/23 15:25:31 markwest Exp $
+// $Id: function.languagelist.php 16472 2005-07-23 15:25:31Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.languagelist.php,v 1.3.2.6 2005/07/23 15:25:31 markwest Exp $
+ * @version      $Id: function.languagelist.php 16472 2005-07-23 15:25:31Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.modstyleslist.php 0.763/modules/pnRender/plugins/function.modstyleslist.php
--- 0.762/modules/pnRender/plugins/function.modstyleslist.php	2005-07-24 17:58:29.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.modstyleslist.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.modstyleslist.php,v 1.1.2.1 2005/07/24 22:58:29 markwest Exp $
+// $Id: function.modstyleslist.php 16499 2005-07-24 22:58:29Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.modstyleslist.php,v 1.1.2.1 2005/07/24 22:58:29 markwest Exp $
+ * @version      $Id: function.modstyleslist.php 16499 2005-07-24 22:58:29Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.opentable.php 0.763/modules/pnRender/plugins/function.opentable.php
--- 0.762/modules/pnRender/plugins/function.opentable.php	2005-07-23 10:10:49.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.opentable.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.opentable.php,v 1.5.2.1 2005/07/23 15:10:49 markwest Exp $
+// $Id: function.opentable.php 16467 2005-07-23 15:10:49Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/pnRender/plugins/function.opentable2.php 0.763/modules/pnRender/plugins/function.opentable2.php
--- 0.762/modules/pnRender/plugins/function.opentable2.php	2005-07-23 10:10:49.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.opentable2.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.opentable2.php,v 1.5.2.1 2005/07/23 15:10:49 markwest Exp $
+// $Id: function.opentable2.php 16467 2005-07-23 15:10:49Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/pnRender/plugins/function.pager.php 0.763/modules/pnRender/plugins/function.pager.php
--- 0.762/modules/pnRender/plugins/function.pager.php	2005-11-15 10:07:58.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pager.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pager.php,v 1.8.2.8.2.1 2005/11/15 16:07:58 markwest Exp $
+// $Id: function.pager.php 19371 2006-07-04 12:05:56Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -16,7 +16,7 @@
  *
  ***    @package      Xanthia_Templating_Environment
  ***    @subpackage   pnRender
- ***    @version      $Id: function.pager.php,v 1.8.2.8.2.1 2005/11/15 16:07:58 markwest Exp $
+ ***    @version      $Id: function.pager.php 19371 2006-07-04 12:05:56Z markwest $
  ***    @author       Peter Dudas <duda at bigfish dot hu>
  ***    @link         http://www.postnuke.com  The PostNuke Home Page
  ***    @link         http://www.smarty.hu/plugins/duda/function.pager.phps
@@ -68,7 +68,8 @@
 *                                   Rewrote forwardvar section after Init and before link buildup sections. - msandersen
 *                    2005-08-19:    Changed default behavior if forwardvars unset to forward all vars - msandersen
 */
-function smarty_function_pager($params, &$smarty) {
+function smarty_function_pager($params, &$smarty)
+{
     // START INIT
     $show         = 'record';
     $posvar       = 'pos';
@@ -82,6 +83,7 @@
     $txt_first    = '';         // archive, more articles
     $shift        = 0;
     $Request      = array_merge($_POST, $_GET);
+    $pager        = '';
 
     foreach($params as $key=>$value)    {
         $tmps[strtolower($key)] = $value;
@@ -94,15 +96,15 @@
 
     // If startmodule, check startargs for posvar
     if (empty($Request['module'])) {
-    	$funcargs = explode(',', pnConfigGetVar('startargs'));
-    	$arguments = array();
-    	foreach ($funcargs as $funcarg) {
+        $funcargs = explode(',', pnConfigGetVar('startargs'));
+        $arguments = array();
+        foreach ($funcargs as $funcarg) {
             if (!empty($funcarg)) {
                 $argument=explode('=', $funcarg);
                 if ($argument[0]==$posvar)
                     $Request[$posvar] = $argument[1];
             }
-    	}
+        }
     }
 
     // START data check
@@ -118,7 +120,7 @@
         $txt_pos = 'side';
     }
     if (!in_array($txt_pos, array('side', 'top', 'bottom'))) {
-            $smarty->trigger_error('plugin "pager": bad value for : "txt_pos"');
+        $smarty->trigger_error('plugin "pager": bad value for : "txt_pos"');
     }
 
     // If there is no need for paging at all
@@ -139,12 +141,12 @@
 
     // Determine the real position if the diplayed numbers were shifted (eg: showing 1 instead of 0)
     if ($shift > 0) {
-    	if (isset($Request[$posvar])) {
-        	$pos = $Request[$posvar] - $shift;
-        	if ($pos < 0)  $pos = 0;
-    	} else {
-    		$pos = 0;
-    	}
+        if (isset($Request[$posvar])) {
+            $pos = $Request[$posvar] - $shift;
+            if ($pos < 0)  $pos = 0;
+        } else {
+            $pos = 0;
+        }
     } else {
         $pos = 0;   //29-sep-2003 markus weber   added line
         if ( isset($Request[$posvar]) ) { //29-sep-2003 markus weber   added if around existing code
@@ -161,37 +163,43 @@
         }
         foreach ((array)$forwardvars as $key => $var)    {
             if (!empty($var) and (!empty($Request[$var]))) {
-        	$vars[$var] = $Request[$var];
+                $vars[$var] = $Request[$var];
             }
         }
     } else {
-    	$vars = $Request;
+        $vars = $Request;
     }
     unset($vars['module']);
     unset($vars['func']);
     unset($vars['type']);
+    unset($vars['name']);
+    unset($vars['file']);
     unset($vars[$posvar]);
 
     // Start building the links
     if (!empty($Request['module'])) {
-    	$module = $Request['module'];
-    	$type = (!empty($Request['type']) ? $Request['type'] : 'user');
-        $func = (!empty($Request['func']) ? $Request['func'] : 'main');
+        $module = $Request['module'];
+        $type = !empty($Request['type']) ? $Request['type'] : '';
+        $func = !empty($Request['func']) ? $Request['func'] : '';
+    } else if (!empty($Request['name'])) {
+        $module = $name = $Request['name'];
+        $file = !empty($Request['file']) ? $Request['file'] : '';
     } else { // Must be Start module
-    	$module = pnModGetName();
-    	$type = pnConfigGetVar('starttype');
-    	$func = pnConfigGetVar('startfunc');
+        $module = pnConfigGetVar('startpage');
+        $type = pnConfigGetVar('starttype');
+        $func = pnConfigGetVar('startfunc');
     }
 
     // get module information
- //   $modinfo = pnModGetInfo(pnModGetIDFromName($module));
+    $modinfo = pnModGetInfo(pnModGetIDFromName($module));
     // if ShortURLs set and User type, use ModURL API instead
-//    $modurl = (($modinfo['type'] == 2 || $modinfo['type'] == 3) && pnConfigGetVar('ShortURLs'));
-    $modurl = pnConfigGetVar('ShortURLs') && ($type == 'user');
+    $modurl = ($modinfo['type'] == 2 || $modinfo['type'] == 3);
     if ($modurl) {
-    	unset($vars['module']); unset($vars['type']); unset($vars['func']);
+        unset($vars['module']); unset($vars['type']); unset($vars['func']);
+        $query = pnModURL($module, $type, $func, $vars);
     } else { // Non-API URLs
-        $query = 'module='.$module.'&func='.$func.($type!='user' ? '&type='.$type : '');
+        $query = 'name='.$module.
+        $query .= (isset($file) && !empty($file)) ? '&file='.$file : '';
         foreach($vars as $key=>$value)    {
             if (is_array($value))    {
                 foreach($value as $var) {
@@ -201,7 +209,7 @@
                 $query .= '&'.$key.'='.urlencode($value);
             }
         }
-        $url = $_SERVER['PHP_SELF'].'?'.$query;
+        $url = pnGetBaseURL().'index.php?'.$query;
     }
 
     // if there is no position (or 0), prepare the link for the second page
@@ -209,15 +217,15 @@
         if (!empty($firstpos)) {
             $vars[$posvar] = $firstpos;
             $short['first'] .= ($modurl ? pnModURL($module, $type, $func, $vars)
-            				: $url.'&'.$posvar.'='.$firstpos); // $url.$link.$posvar.'='.$firstpos;
+                    : $url.'&'.$posvar.'='.$firstpos); // $url.$link.$posvar.'='.$firstpos;
         } elseif ($pos == -1) {
             $vars[$posvar] = (1 + $shift);
             $short['first'] .= ($modurl ? pnModURL($module, $type, $func, $vars)
-            				: $url.'&'.$posvar.'='.(1 + $shift)); // $url.$link.$posvar.'='.(1 + $shift);
+                    : $url.'&'.$posvar.'='.(1 + $shift)); // $url.$link.$posvar.'='.(1 + $shift);
         } else {
             $vars[$posvar] = ($limit+$shift);
             $short['first'] = ($modurl ? pnModURL($module, $type, $func, $vars)
-            				: $url.'&'.$posvar.'='.($limit+$shift)); // $url.$link.$posvar.'='.($limit+$shift);
+                    : $url.'&'.$posvar.'='.($limit+$shift)); // $url.$link.$posvar.'='.($limit+$shift);
         }
     }
 
@@ -230,7 +238,7 @@
                 }
                 $vars[$posvar] = ($i - 1 + $shift);
                 $pages[$i] = ($modurl ? pnModURL($module, $type, $func, $vars)
-                		: $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($i - 1 + $shift);
+                    : $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($i - 1 + $shift);
             }
         } else {
             // If there are a lot of records long before the actual position,
@@ -238,7 +246,7 @@
             for ($i=1; $i < ($pos-16*$limit); $i+=10*$limit)    {
                 $vars[$posvar] = ($i - 1 + $shift);
                 $pages[$i] = ($modurl ? pnModURL($module, $type, $func, $vars)
-                		: $url.'&'.$posvar.'='.$vars[$posvar]); //$pages[$i] = $url.$link.$posvar.'='.($i - 1 + $shift);
+                    : $url.'&'.$posvar.'='.$vars[$posvar]); //$pages[$i] = $url.$link.$posvar.'='.($i - 1 + $shift);
             }
             // Around the actual position, do small steps ($limit)
             for ($tmp=1; ($i < $pos+16*$limit) AND ($i < $rowcount+1); $i += $limit)    {
@@ -247,26 +255,26 @@
                 }
                 $vars[$posvar] = ($i - 1 + $shift);
                 $pages[$i] = ($modurl ? pnModURL($module, $type, $func, $vars)
-                		: $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($i - 1 + $shift);
+                    : $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($i - 1 + $shift);
             }
             // Over $pos do big steps ($limit*10)
             for ($tmp=1;$i < $rowcount+1; $i += 10*$limit)    {
                 $vars[$posvar] = ($i - 1 + $shift);
                 $pages[$i] = ($modurl ? pnModURL($module, $type, $func, $vars)
-                		: $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($i - 1 + $shift);
+                    : $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($i - 1 + $shift);
             }
         }
         // previous - next stepping
         if ($pos >= $limit)    {
             $vars[$posvar] = ($pos - $limit + $shift);
             $short['prev'] = ($modurl ? pnModURL($module, $type, $func, $vars)
-                		: $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($pos - $limit + $shift);
+                    : $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($pos - $limit + $shift);
         }
 
         if ( ($pos) < ($rowcount-$limit))    {
             $vars[$posvar] = ($pos + $limit + $shift);
             $short['next'] = ($modurl ? pnModURL($module, $type, $func, $vars)
-                		: $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($pos + $limit + $shift);
+                    : $url.'&'.$posvar.'='.$vars[$posvar]); // $url.$link.$posvar.'='.($pos + $limit + $shift);
         }
     }
     // END preparing the arrays to print
@@ -275,21 +283,21 @@
     // START DISPLAY ---------------------------------------------------------------------------
     // all neccesary data are in $pages, and in $short
     if (($pos == 0) AND ((!empty($txt_first)) OR !empty($img_first))){
-        print '<p style="text-align:center;">';
-        print '<a class="'.$class_text.'" href="'.$short['first'].'">';
+        $pager .= '<p style="text-align:center;">';
+        $pager .= '<a class="'.$class_text.'" href="'.$short['first'].'">';
 
         if (!empty($img_first))    {
             if (strpos($img_first, '<')===true) { // preg_match('/<img/i', $img_first)
                 // image tag
-                print $img_first;
+                $pager .= $img_first;
             } else {
                 // image url
-                print '<img src="'.$img_first.'" border="0" />';
+                $pager .= '<img src="'.$img_first.'" />';
             }
         } else    {
-            print $txt_first;
+            $pager .= $txt_first;
         }
-        print '</a></p>'."\n";
+        $pager .= '</a></p>'."\n";
     } else {
         // -----------------------------------------------------------------------
         // START prepare the prev and next string/image, make it a link...
@@ -301,7 +309,7 @@
                     $cache['prev'] .= $img_prev;
                 } else {
                     // image url
-                    $cache['prev'] .= '<img src="'.$img_prev.'" border="0" />';
+                    $cache['prev'] .= '<img src="'.$img_prev.'" />';
                 }
             } else    {
                 $cache['prev'] .= $txt_prev;
@@ -319,7 +327,7 @@
                     $cache['next'] .= $img_next;
                 } else {
                     // image url
-                    $cache['next'] .= '<img src="'.$img_next.'" border="0" />';
+                    $cache['next'] .= '<img src="'.$img_next.'" />';
                 }
             } else    {
                 $cache['next'] .= $txt_next;
@@ -332,15 +340,15 @@
         // -----------------------------------------------------------------------
         // START PRINTOUT
         if ($txt_pos == 'top')    {
-            print '<p style="text-align:center; text-decoration: none;">'.$cache['prev'].$cache['next'].'</p>'."\n";
+            $pager .= '<p style="text-align:center; text-decoration: none;">'.$cache['prev'].$cache['next'].'</p>'."\n";
         }
-        print '<p style="text-align:center" class="pager">';
+        $pager .= '<p style="text-align:center" class="pager">';
         if (($txt_pos == 'side') AND (!empty($cache['prev'])))    {
-            print $cache['prev'];
+            $pager .= $cache['prev'];
         }
         foreach($pages as $num=>$url)    {
                 if ($num > $limit)    {
-                    print ' '.$separator.' ';
+                    $pager .= ' '.$separator.' ';
                 }
                 if ($show == 'record')    {        // show record number for paging
                     $tmp = $num;
@@ -350,22 +358,22 @@
                     $tmp = ceil($num/$limit);
                }
                if ($num != $short['now']) { // Don't have a link to the current page
-                        print '<a class="'.$class_num.'" href="'.htmlspecialchars($url).'">'.$tmp.'</a>';
-               } else { print '<span class="'.$class_numon.'">'.$tmp.'</span>';
+                        $pager .= '<a class="'.$class_num.'" href="'.htmlspecialchars($url).'">'.$tmp.'</a>';
+               } else { $pager .= '<span class="'.$class_numon.'">'.$tmp.'</span>';
                }
         }
         if (($txt_pos == 'side') AND (!empty($cache['next'])))    {
-            print $cache['next'];
+            $pager .= $cache['next'];
         }
-        print '</p>'."\n";
+        $pager .= '</p>'."\n";
         // END NUMBERS
         // START PREVIOUS, NEXT paging
         if ($txt_pos == 'bottom')    {
-            print '<p style="text-align:center; text-decoration: none;">'.$cache['prev'].$cache['next'].'</p>'."\n";
+            $pager .= '<p style="text-align:center; text-decoration: none;">'.$cache['prev'].$cache['next'].'</p>'."\n";
         }
         // END PREVIOUS, NEXT paging
     }
     // END DISPLAY
-    return '';
+    return $pager;
 }
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/pnRender/plugins/function.pagerabc.php 0.763/modules/pnRender/plugins/function.pagerabc.php
--- 0.762/modules/pnRender/plugins/function.pagerabc.php	2005-08-21 05:08:06.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pagerabc.php	2006-10-17 16:24:08.000000000 -0500
@@ -7,7 +7,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pagerabc.php,v 1.6.2.6 2005/08/21 10:08:06 drak Exp $
+ * @version      $Id: function.pagerabc.php 16655 2005-08-21 10:08:06Z drak $
  * @author      Peter Dudas <duda at bigfish dot hu>
  */
 
diff -ruN 0.762/modules/pnRender/plugins/function.pnbannerdisplay.php 0.763/modules/pnRender/plugins/function.pnbannerdisplay.php
--- 0.762/modules/pnRender/plugins/function.pnbannerdisplay.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnbannerdisplay.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnbannerdisplay.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+// $Id: function.pnbannerdisplay.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnbannerdisplay.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.pnbannerdisplay.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnblock.php 0.763/modules/pnRender/plugins/function.pnblock.php
--- 0.762/modules/pnRender/plugins/function.pnblock.php	2004-01-26 07:29:02.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnblock.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnblock.php,v 1.6 2004/01/26 13:29:02 jorg Exp $
+// $Id: function.pnblock.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnblock.php,v 1.6 2004/01/26 13:29:02 jorg Exp $
+ * @version      $Id: function.pnblock.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnblockgetinfo.php 0.763/modules/pnRender/plugins/function.pnblockgetinfo.php
--- 0.762/modules/pnRender/plugins/function.pnblockgetinfo.php	2005-03-17 08:14:45.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnblockgetinfo.php	2006-10-17 16:24:08.000000000 -0500
@@ -29,7 +29,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnblockgetinfo.php,v 1.1.2.1 2005/03/17 14:14:45 markwest Exp $
+ * @version      $Id: function.pnblockgetinfo.php 15997 2005-03-17 14:14:45Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnblockshow.php 0.763/modules/pnRender/plugins/function.pnblockshow.php
--- 0.762/modules/pnRender/plugins/function.pnblockshow.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnblockshow.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnblockshow.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+// $Id: function.pnblockshow.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnblockshow.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.pnblockshow.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnconfiggetvar.php 0.763/modules/pnRender/plugins/function.pnconfiggetvar.php
--- 0.762/modules/pnRender/plugins/function.pnconfiggetvar.php	2005-08-08 09:42:32.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnconfiggetvar.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnconfiggetvar.php,v 1.5.2.1 2005/08/08 14:42:32 markwest Exp $
+// $Id: function.pnconfiggetvar.php 16611 2005-08-08 14:42:32Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnconfiggetvar.php,v 1.5.2.1 2005/08/08 14:42:32 markwest Exp $
+ * @version      $Id: function.pnconfiggetvar.php 16611 2005-08-08 14:42:32Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pndebug.php 0.763/modules/pnRender/plugins/function.pndebug.php
--- 0.762/modules/pnRender/plugins/function.pndebug.php	2005-05-26 06:20:29.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pndebug.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pndebug.php,v 1.1.2.3 2005/05/26 11:20:29 landseer Exp $
+// $Id: function.pndebug.php 16272 2005-05-26 11:20:31Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pndebug.php,v 1.1.2.3 2005/05/26 11:20:29 landseer Exp $
+ * @version      $Id: function.pndebug.php 16272 2005-05-26 11:20:31Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pngetbaseurl.php 0.763/modules/pnRender/plugins/function.pngetbaseurl.php
--- 0.762/modules/pnRender/plugins/function.pngetbaseurl.php	2005-07-23 12:44:59.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pngetbaseurl.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pngetbaseurl.php,v 1.5.2.3 2005/07/23 17:44:59 markwest Exp $
+// $Id: function.pngetbaseurl.php 16483 2005-07-23 17:44:59Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pngetbaseurl.php,v 1.5.2.3 2005/07/23 17:44:59 markwest Exp $
+ * @version      $Id: function.pngetbaseurl.php 16483 2005-07-23 17:44:59Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pngetcurrenturi.php 0.763/modules/pnRender/plugins/function.pngetcurrenturi.php
--- 0.762/modules/pnRender/plugins/function.pngetcurrenturi.php	2005-07-23 12:44:59.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pngetcurrenturi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pngetcurrenturi.php,v 1.1.2.3 2005/07/23 17:44:59 markwest Exp $
+// $Id: function.pngetcurrenturi.php 16483 2005-07-23 17:44:59Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pngetcurrenturi.php,v 1.1.2.3 2005/07/23 17:44:59 markwest Exp $
+ * @version      $Id: function.pngetcurrenturi.php 16483 2005-07-23 17:44:59Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pngethost.php 0.763/modules/pnRender/plugins/function.pngethost.php
--- 0.762/modules/pnRender/plugins/function.pngethost.php	2005-07-23 12:44:59.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pngethost.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pngethost.php,v 1.1.2.3 2005/07/23 17:44:59 markwest Exp $
+// $Id: function.pngethost.php 16483 2005-07-23 17:44:59Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pngethost.php,v 1.1.2.3 2005/07/23 17:44:59 markwest Exp $
+ * @version      $Id: function.pngethost.php 16483 2005-07-23 17:44:59Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pngetstatusmsg.php 0.763/modules/pnRender/plugins/function.pngetstatusmsg.php
--- 0.762/modules/pnRender/plugins/function.pngetstatusmsg.php	2005-07-24 10:38:24.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pngetstatusmsg.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pngetstatusmsg.php,v 1.4.2.3 2005/07/24 15:38:24 jorg Exp $
+// $Id: function.pngetstatusmsg.php 16492 2005-07-24 15:38:24Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pngetstatusmsg.php,v 1.4.2.3 2005/07/24 15:38:24 jorg Exp $
+ * @version      $Id: function.pngetstatusmsg.php 16492 2005-07-24 15:38:24Z jorg $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnimg.php 0.763/modules/pnRender/plugins/function.pnimg.php
--- 0.762/modules/pnRender/plugins/function.pnimg.php	2005-08-04 06:55:10.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnimg.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnimg.php,v 1.10.2.4 2005/08/04 11:55:10 markwest Exp $
+// $Id: function.pnimg.php 16594 2005-08-04 11:55:10Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnimg.php,v 1.10.2.4 2005/08/04 11:55:10 markwest Exp $
+ * @version      $Id: function.pnimg.php 16594 2005-08-04 11:55:10Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnmanuallink.php 0.763/modules/pnRender/plugins/function.pnmanuallink.php
--- 0.762/modules/pnRender/plugins/function.pnmanuallink.php	2004-05-11 04:43:46.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnmanuallink.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmanuallink.php,v 1.1 2004/05/11 09:43:46 markwest Exp $
+// $Id: function.pnmanuallink.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmanuallink.php,v 1.1 2004/05/11 09:43:46 markwest Exp $
+ * @version      $Id: function.pnmanuallink.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnml.php 0.763/modules/pnRender/plugins/function.pnml.php
--- 0.762/modules/pnRender/plugins/function.pnml.php	2005-08-10 03:02:39.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnml.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnml.php,v 1.7.2.2 2005/08/10 08:02:39 markwest Exp $
+// $Id: function.pnml.php 16627 2005-08-10 08:02:39Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnml.php,v 1.7.2.2 2005/08/10 08:02:39 markwest Exp $
+ * @version      $Id: function.pnml.php 16627 2005-08-10 08:02:39Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodapifunc.php 0.763/modules/pnRender/plugins/function.pnmodapifunc.php
--- 0.762/modules/pnRender/plugins/function.pnmodapifunc.php	2004-07-30 07:50:36.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnmodapifunc.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodapifunc.php,v 1.6 2004/07/30 12:50:36 jorg Exp $
+// $Id: function.pnmodapifunc.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodapifunc.php,v 1.6 2004/07/30 12:50:36 jorg Exp $
+ * @version      $Id: function.pnmodapifunc.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodavailable.php 0.763/modules/pnRender/plugins/function.pnmodavailable.php
--- 0.762/modules/pnRender/plugins/function.pnmodavailable.php	2005-10-03 04:54:50.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnmodavailable.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodavailable.php,v 1.1.2.2.2.1 2005/10/03 09:54:50 markwest Exp $
+// $Id: function.pnmodavailable.php 16842 2005-10-03 09:54:50Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodavailable.php,v 1.1.2.2.2.1 2005/10/03 09:54:50 markwest Exp $
+ * @version      $Id: function.pnmodavailable.php 16842 2005-10-03 09:54:50Z markwest $
  * @author       Michael Nagy
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
  */ 
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodcallhooks.php 0.763/modules/pnRender/plugins/function.pnmodcallhooks.php
--- 0.762/modules/pnRender/plugins/function.pnmodcallhooks.php	2005-07-10 18:26:04.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnmodcallhooks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodcallhooks.php,v 1.2.2.3 2005/07/10 23:26:04 landseer Exp $
+// $Id: function.pnmodcallhooks.php 16380 2005-07-10 23:26:04Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodcallhooks.php,v 1.2.2.3 2005/07/10 23:26:04 landseer Exp $
+ * @version      $Id: function.pnmodcallhooks.php 16380 2005-07-10 23:26:04Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodfunc.php 0.763/modules/pnRender/plugins/function.pnmodfunc.php
--- 0.762/modules/pnRender/plugins/function.pnmodfunc.php	2005-05-09 13:10:00.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnmodfunc.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodfunc.php,v 1.5.2.4 2005/05/09 18:10:00 markwest Exp $
+// $Id: function.pnmodfunc.php 16216 2005-05-09 18:10:00Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodfunc.php,v 1.5.2.4 2005/05/09 18:10:00 markwest Exp $
+ * @version      $Id: function.pnmodfunc.php 16216 2005-05-09 18:10:00Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodgetinfo.php 0.763/modules/pnRender/plugins/function.pnmodgetinfo.php
--- 0.762/modules/pnRender/plugins/function.pnmodgetinfo.php	2005-01-25 09:52:28.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnmodgetinfo.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodgetinfo.php,v 1.2.2.2 2005/01/25 15:52:28 markwest Exp $
+// $Id: function.pnmodgetinfo.php 15479 2005-01-25 15:52:28Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodgetinfo.php,v 1.2.2.2 2005/01/25 15:52:28 markwest Exp $
+ * @version      $Id: function.pnmodgetinfo.php 15479 2005-01-25 15:52:28Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodgetname.php 0.763/modules/pnRender/plugins/function.pnmodgetname.php
--- 0.762/modules/pnRender/plugins/function.pnmodgetname.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnmodgetname.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodgetname.php,v 1.2 2004/04/22 12:22:37 drak Exp $
+// $Id: function.pnmodgetname.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodgetname.php,v 1.2 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.pnmodgetname.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodgetvar.php 0.763/modules/pnRender/plugins/function.pnmodgetvar.php
--- 0.762/modules/pnRender/plugins/function.pnmodgetvar.php	2005-08-08 09:42:32.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnmodgetvar.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodgetvar.php,v 1.5.2.1 2005/08/08 14:42:32 markwest Exp $
+// $Id: function.pnmodgetvar.php 16611 2005-08-08 14:42:32Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodgetvar.php,v 1.5.2.1 2005/08/08 14:42:32 markwest Exp $
+ * @version      $Id: function.pnmodgetvar.php 16611 2005-08-08 14:42:32Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodishooked.php 0.763/modules/pnRender/plugins/function.pnmodishooked.php
--- 0.762/modules/pnRender/plugins/function.pnmodishooked.php	2005-01-25 10:14:01.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnmodishooked.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodishooked.php,v 1.1.2.1 2005/01/25 16:14:01 markwest Exp $
+// $Id: function.pnmodishooked.php 15484 2005-01-25 16:14:01Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodishooked.php,v 1.1.2.1 2005/01/25 16:14:01 markwest Exp $
+ * @version      $Id: function.pnmodishooked.php 15484 2005-01-25 16:14:01Z markwest $
  * @author       Mark West
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
  */ 
diff -ruN 0.762/modules/pnRender/plugins/function.pnmodurl.php 0.763/modules/pnRender/plugins/function.pnmodurl.php
--- 0.762/modules/pnRender/plugins/function.pnmodurl.php	2005-02-01 08:14:28.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnmodurl.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnmodurl.php,v 1.10.2.1 2005/02/01 14:14:28 landseer Exp $
+// $Id: function.pnmodurl.php 15577 2005-02-01 14:14:28Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnmodurl.php,v 1.10.2.1 2005/02/01 14:14:28 landseer Exp $
+ * @version      $Id: function.pnmodurl.php 15577 2005-02-01 14:14:28Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnsecauthaction.php 0.763/modules/pnRender/plugins/function.pnsecauthaction.php
--- 0.762/modules/pnRender/plugins/function.pnsecauthaction.php	2004-05-16 05:04:53.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnsecauthaction.php	2006-10-17 16:24:08.000000000 -0500
@@ -29,7 +29,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnsecauthaction.php,v 1.1 2004/05/16 10:04:53 landseer Exp $
+ * @version      $Id: function.pnsecauthaction.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnsecgenauthkey.php 0.763/modules/pnRender/plugins/function.pnsecgenauthkey.php
--- 0.762/modules/pnRender/plugins/function.pnsecgenauthkey.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnsecgenauthkey.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnsecgenauthkey.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+// $Id: function.pnsecgenauthkey.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnsecgenauthkey.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.pnsecgenauthkey.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnsessiondelvar.php 0.763/modules/pnRender/plugins/function.pnsessiondelvar.php
--- 0.762/modules/pnRender/plugins/function.pnsessiondelvar.php	2005-01-07 09:55:38.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnsessiondelvar.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnsessiondelvar.php,v 1.1.2.1 2005/01/07 15:55:38 markwest Exp $
+// $Id: function.pnsessiondelvar.php 15291 2005-01-07 15:55:38Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnsessiondelvar.php,v 1.1.2.1 2005/01/07 15:55:38 markwest Exp $
+ * @version      $Id: function.pnsessiondelvar.php 15291 2005-01-07 15:55:38Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnsessiongetvar.php 0.763/modules/pnRender/plugins/function.pnsessiongetvar.php
--- 0.762/modules/pnRender/plugins/function.pnsessiongetvar.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnsessiongetvar.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnsessiongetvar.php,v 1.4 2004/04/22 12:22:37 drak Exp $
+// $Id: function.pnsessiongetvar.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnsessiongetvar.php,v 1.4 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.pnsessiongetvar.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnsessionsetvar.php 0.763/modules/pnRender/plugins/function.pnsessionsetvar.php
--- 0.762/modules/pnRender/plugins/function.pnsessionsetvar.php	2005-01-07 09:55:38.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnsessionsetvar.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnsessionsetvar.php,v 1.1.2.1 2005/01/07 15:55:38 markwest Exp $
+// $Id: function.pnsessionsetvar.php 15291 2005-01-07 15:55:38Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnsessionsetvar.php,v 1.1.2.1 2005/01/07 15:55:38 markwest Exp $
+ * @version      $Id: function.pnsessionsetvar.php 15291 2005-01-07 15:55:38Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnsessionvars.php 0.763/modules/pnRender/plugins/function.pnsessionvars.php
--- 0.762/modules/pnRender/plugins/function.pnsessionvars.php	2005-01-30 05:50:55.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnsessionvars.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnsessionvars.php,v 1.1.2.1 2005/01/30 11:50:55 markwest Exp $
+// $Id: function.pnsessionvars.php 15542 2005-01-30 11:50:55Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnsessionvars.php,v 1.1.2.1 2005/01/30 11:50:55 markwest Exp $
+ * @version      $Id: function.pnsessionvars.php 15542 2005-01-30 11:50:55Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnthemegetvar.php 0.763/modules/pnRender/plugins/function.pnthemegetvar.php
--- 0.762/modules/pnRender/plugins/function.pnthemegetvar.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnthemegetvar.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnthemegetvar.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+// $Id: function.pnthemegetvar.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnthemegetvar.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.pnthemegetvar.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnusergetlang.php 0.763/modules/pnRender/plugins/function.pnusergetlang.php
--- 0.762/modules/pnRender/plugins/function.pnusergetlang.php	2004-07-22 07:43:43.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnusergetlang.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnusergetlang.php,v 1.1 2004/07/22 12:43:43 landseer Exp $
+// $Id: function.pnusergetlang.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnusergetlang.php,v 1.1 2004/07/22 12:43:43 landseer Exp $
+ * @version      $Id: function.pnusergetlang.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnusergettheme.php 0.763/modules/pnRender/plugins/function.pnusergettheme.php
--- 0.762/modules/pnRender/plugins/function.pnusergettheme.php	2005-03-17 07:24:18.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnusergettheme.php	2006-10-17 16:24:08.000000000 -0500
@@ -29,7 +29,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnusergettheme.php,v 1.1.2.1 2005/03/17 13:24:18 markwest Exp $
+ * @version      $Id: function.pnusergettheme.php 15993 2005-03-17 13:24:18Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnusergetvar.php 0.763/modules/pnRender/plugins/function.pnusergetvar.php
--- 0.762/modules/pnRender/plugins/function.pnusergetvar.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnusergetvar.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.pnusergetvar.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+// $Id: function.pnusergetvar.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnusergetvar.php,v 1.5 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.pnusergetvar.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnvarcleanfrominput.php 0.763/modules/pnRender/plugins/function.pnvarcleanfrominput.php
--- 0.762/modules/pnRender/plugins/function.pnvarcleanfrominput.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.pnvarcleanfrominput.php	2006-10-17 16:24:08.000000000 -0500
@@ -29,7 +29,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnvarcleanfrominput.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.pnvarcleanfrominput.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.pnversion.php 0.763/modules/pnRender/plugins/function.pnversion.php
--- 0.762/modules/pnRender/plugins/function.pnversion.php	2005-01-30 05:51:44.000000000 -0600
+++ 0.763/modules/pnRender/plugins/function.pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: function.pnversion.php,v 1.2.2.1 2005/01/30 11:51:44 markwest Exp $
+// $Id: function.pnversion.php 15543 2005-01-30 11:51:44Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.pnversion.php,v 1.2.2.1 2005/01/30 11:51:44 markwest Exp $
+ * @version      $Id: function.pnversion.php 15543 2005-01-30 11:51:44Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/function.xangetthemesetting.php 0.763/modules/pnRender/plugins/function.xangetthemesetting.php
--- 0.762/modules/pnRender/plugins/function.xangetthemesetting.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/function.xangetthemesetting.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: function.xangetthemesetting.php,v 1.2 2004/04/22 12:22:37 drak Exp $
+// $Id: function.xangetthemesetting.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: function.xangetthemesetting.php,v 1.2 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: function.xangetthemesetting.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/modifier.htmlspecialchars.php 0.763/modules/pnRender/plugins/modifier.htmlspecialchars.php
--- 0.762/modules/pnRender/plugins/modifier.htmlspecialchars.php	2005-07-23 10:42:25.000000000 -0500
+++ 0.763/modules/pnRender/plugins/modifier.htmlspecialchars.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.htmlspecialchars.php,v 1.1.2.1 2005/07/23 15:42:25 markwest Exp $
+// $Id: modifier.htmlspecialchars.php 16478 2005-07-23 15:42:25Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: modifier.htmlspecialchars.php,v 1.1.2.1 2005/07/23 15:42:25 markwest Exp $
+ * @version      $Id: modifier.htmlspecialchars.php 16478 2005-07-23 15:42:25Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/modifier.pndate_format.php 0.763/modules/pnRender/plugins/modifier.pndate_format.php
--- 0.762/modules/pnRender/plugins/modifier.pndate_format.php	2005-06-26 15:48:16.000000000 -0500
+++ 0.763/modules/pnRender/plugins/modifier.pndate_format.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,105 +1,105 @@
-<?php
-// $Id: modifier.pndate_format.php,v 1.3.2.5 2005/06/26 20:48:16 landseer Exp $
-// ----------------------------------------------------------------------
-// PostNuke Content Management System
-// Copyright (C) 2002 by the PostNuke Development Team.
-// http://www.postnuke.com/
-// ----------------------------------------------------------------------
-// Based on:
-// PHP-NUKE Web Portal System - http://phpnuke.org/
-// Thatware - http://thatware.org/
-// ----------------------------------------------------------------------
-// LICENSE
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License (GPL)
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// To read the license please visit http://www.gnu.org/copyleft/gpl.html
-// ----------------------------------------------------------------------
-
-
-/**
- * pnRender plugin
- *
- * This file is a plugin for pnRender, the PostNuke implementation of Smarty
- *
- * @package      Xanthia_Templating_Environment
- * @subpackage   pnRender
- * @version      $Id: modifier.pndate_format.php,v 1.3.2.5 2005/06/26 20:48:16 landseer Exp $
- * @author       The PostNuke development team
- * @link         http://www.postnuke.com  The PostNuke Home Page
- * @copyright    Copyright (C) 2002 by the PostNuke Development Team
- * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
- */
-
-/**
- * Include the {@link shared.make_timestamp.php} plugin
- */
-require_once $smarty->_get_plugin_filepath('shared','make_timestamp');
-
-/**
- * Smarty modifier to format datestamps via strftime according to
- * locale setting in PostNuke
- *
- * @author   Frank Schummertz
- * @author   Steffen Voss
- * @since    15. Jan. 2004
- * @param    string   $string         input date string
- * @param    string   format          strftime format for output
- * @param    string   $default_date   default date if $string is empty
- * @return   string   the modified output
- * @uses     smarty_make_timestamp()
- */
-function smarty_modifier_pndate_format($string, $format='datebrief', $default_date=null)
-{
-    if(empty($format)) {
-        $format = 'datebrief';
-    }
-	switch(trim(strtolower($format))){
-		case 'datelong':
-			$format = _DATELONG;
-			break;
-		case 'datebrief':
-			$format = _DATEBRIEF;
-			break;
-		case 'datestring':
-			$format = _DATESTRING;
-			break;
-		case 'datestring2':
-			$format = _DATESTRING2;
-			break;
-		case 'datetimebrief':
-			$format = _DATETIMEBRIEF;
-			break;
-		case 'datetimelong':
-			$format = _DATETIMELONG;
-			break;
-		case 'linksdatestring':
-			$format = _LINKSDATESTRING;
-			break;
-		case 'timebrief':
-			$format = _TIMEBRIEF;
-			break;
-		case 'timelong':
-			$format = _TIMELONG;
-			break;
-		default:
-	} // switch
-
-	if($string != '') {
-    	return strftime($format, smarty_make_timestamp($string));
-	} elseif (isset($default_date) && $default_date != '') {
-    	return strftime($format, smarty_make_timestamp($default_date));
-	} else {
-		return;
-	}
-}
-
+<?php
+// $Id: modifier.pndate_format.php 16344 2005-06-26 20:48:16Z landseer $
+// ----------------------------------------------------------------------
+// PostNuke Content Management System
+// Copyright (C) 2002 by the PostNuke Development Team.
+// http://www.postnuke.com/
+// ----------------------------------------------------------------------
+// Based on:
+// PHP-NUKE Web Portal System - http://phpnuke.org/
+// Thatware - http://thatware.org/
+// ----------------------------------------------------------------------
+// LICENSE
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License (GPL)
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// To read the license please visit http://www.gnu.org/copyleft/gpl.html
+// ----------------------------------------------------------------------
+
+
+/**
+ * pnRender plugin
+ *
+ * This file is a plugin for pnRender, the PostNuke implementation of Smarty
+ *
+ * @package      Xanthia_Templating_Environment
+ * @subpackage   pnRender
+ * @version      $Id: modifier.pndate_format.php 16344 2005-06-26 20:48:16Z landseer $
+ * @author       The PostNuke development team
+ * @link         http://www.postnuke.com  The PostNuke Home Page
+ * @copyright    Copyright (C) 2002 by the PostNuke Development Team
+ * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
+ */
+
+/**
+ * Include the {@link shared.make_timestamp.php} plugin
+ */
+require_once $smarty->_get_plugin_filepath('shared','make_timestamp');
+
+/**
+ * Smarty modifier to format datestamps via strftime according to
+ * locale setting in PostNuke
+ *
+ * @author   Frank Schummertz
+ * @author   Steffen Voss
+ * @since    15. Jan. 2004
+ * @param    string   $string         input date string
+ * @param    string   format          strftime format for output
+ * @param    string   $default_date   default date if $string is empty
+ * @return   string   the modified output
+ * @uses     smarty_make_timestamp()
+ */
+function smarty_modifier_pndate_format($string, $format='datebrief', $default_date=null)
+{
+    if(empty($format)) {
+        $format = 'datebrief';
+    }
+	switch(trim(strtolower($format))){
+		case 'datelong':
+			$format = _DATELONG;
+			break;
+		case 'datebrief':
+			$format = _DATEBRIEF;
+			break;
+		case 'datestring':
+			$format = _DATESTRING;
+			break;
+		case 'datestring2':
+			$format = _DATESTRING2;
+			break;
+		case 'datetimebrief':
+			$format = _DATETIMEBRIEF;
+			break;
+		case 'datetimelong':
+			$format = _DATETIMELONG;
+			break;
+		case 'linksdatestring':
+			$format = _LINKSDATESTRING;
+			break;
+		case 'timebrief':
+			$format = _TIMEBRIEF;
+			break;
+		case 'timelong':
+			$format = _TIMELONG;
+			break;
+		default:
+	} // switch
+
+	if($string != '') {
+    	return strftime($format, smarty_make_timestamp($string));
+	} elseif (isset($default_date) && $default_date != '') {
+    	return strftime($format, smarty_make_timestamp($default_date));
+	} else {
+		return;
+	}
+}
+
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/pnRender/plugins/modifier.pnml.php 0.763/modules/pnRender/plugins/modifier.pnml.php
--- 0.762/modules/pnRender/plugins/modifier.pnml.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/modifier.pnml.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.pnml.php,v 1.2 2004/04/22 12:22:37 drak Exp $
+// $Id: modifier.pnml.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: modifier.pnml.php,v 1.2 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: modifier.pnml.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/modifier.pnmodcallhooks.php 0.763/modules/pnRender/plugins/modifier.pnmodcallhooks.php
--- 0.762/modules/pnRender/plugins/modifier.pnmodcallhooks.php	2004-04-25 18:23:55.000000000 -0500
+++ 0.763/modules/pnRender/plugins/modifier.pnmodcallhooks.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.pnmodcallhooks.php,v 1.5 2004/04/25 23:23:55 markwest Exp $
+// $Id: modifier.pnmodcallhooks.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: modifier.pnmodcallhooks.php,v 1.5 2004/04/25 23:23:55 markwest Exp $
+ * @version      $Id: modifier.pnmodcallhooks.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/modifier.pnvarcensor.php 0.763/modules/pnRender/plugins/modifier.pnvarcensor.php
--- 0.762/modules/pnRender/plugins/modifier.pnvarcensor.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/modifier.pnvarcensor.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.pnvarcensor.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+// $Id: modifier.pnvarcensor.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: modifier.pnvarcensor.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: modifier.pnvarcensor.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/modifier.pnvarprepfordisplay.php 0.763/modules/pnRender/plugins/modifier.pnvarprepfordisplay.php
--- 0.762/modules/pnRender/plugins/modifier.pnvarprepfordisplay.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/modifier.pnvarprepfordisplay.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.pnvarprepfordisplay.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+// $Id: modifier.pnvarprepfordisplay.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: modifier.pnvarprepfordisplay.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: modifier.pnvarprepfordisplay.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/modifier.pnvarprepforstore.php 0.763/modules/pnRender/plugins/modifier.pnvarprepforstore.php
--- 0.762/modules/pnRender/plugins/modifier.pnvarprepforstore.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/modifier.pnvarprepforstore.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.pnvarprepforstore.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+// $Id: modifier.pnvarprepforstore.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: modifier.pnvarprepforstore.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: modifier.pnvarprepforstore.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/plugins/modifier.pnvarprephtmldisplay.php 0.763/modules/pnRender/plugins/modifier.pnvarprephtmldisplay.php
--- 0.762/modules/pnRender/plugins/modifier.pnvarprephtmldisplay.php	2004-04-22 07:22:37.000000000 -0500
+++ 0.763/modules/pnRender/plugins/modifier.pnvarprephtmldisplay.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.pnvarprephtmldisplay.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+// $Id: modifier.pnvarprephtmldisplay.php 16722 2005-08-27 12:35:10Z  $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: modifier.pnvarprephtmldisplay.php,v 1.3 2004/04/22 12:22:37 drak Exp $
+ * @version      $Id: modifier.pnvarprephtmldisplay.php 16722 2005-08-27 12:35:10Z  $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pnRender/pnadmin.php 0.763/modules/pnRender/pnadmin.php
--- 0.762/modules/pnRender/pnadmin.php	2004-07-06 21:31:04.000000000 -0500
+++ 0.763/modules/pnRender/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.13 2004/07/07 02:31:04 larry Exp $
+// $Id: pnadmin.php 13918 2004-07-07 02:31:04Z larry $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -44,7 +44,7 @@
  * This function provides the main administration interface 
  * 
  * @author       Joerg Napp
- * @version      $Revision: 1.13 $
+ * @version      $Revision: 13918 $
  * @return       output   the admin interface
  */
 function pnRender_admin_main() {
@@ -109,7 +109,7 @@
  * form supplied by pnRender_admin_main to alter the admin settings
  * 
  * @author       Joerg Napp
- * @version      $Revision: 1.13 $
+ * @version      $Revision: 13918 $
  * @param        settings   the options in an array
  * @param        lifetime   cache lifetime
  */
@@ -157,7 +157,7 @@
  * the system.
  * 
  * @author       Joerg Napp
- * @version      $Revision: 1.13 $
+ * @version      $Revision: 13918 $
  */
 function pnRender_admin_clear_compiled($args)
 {
@@ -191,7 +191,7 @@
  * the system.
  * 
  * @author       Joerg Napp
- * @version      $Revision: 1.13 $
+ * @version      $Revision: 13918 $
  */
 function pnRender_admin_clear_cache($args)
 {
diff -ruN 0.762/modules/pnRender/pnblocks/pnRender.php 0.763/modules/pnRender/pnblocks/pnRender.php
--- 0.762/modules/pnRender/pnblocks/pnRender.php	2005-05-11 12:22:18.000000000 -0500
+++ 0.763/modules/pnRender/pnblocks/pnRender.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnRender.php,v 1.5.2.1 2005/05/11 17:22:18 landseer Exp $
+// $Id: pnRender.php 16227 2005-05-11 17:22:18Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -43,7 +43,7 @@
  *
  * @author    Frank Schummertz
  * @author    Jrg Napp
- * @version   $Revision: 1.5.2.1 $
+ * @version   $Revision: 16227 $
  */
 function pnRender_pnRenderblock_init()
 {
@@ -57,7 +57,7 @@
  *
  * @author    Frank Schummertz
  * @author    Jrg Napp
- * @version   $Revision: 1.5.2.1 $
+ * @version   $Revision: 16227 $
  * @return    array    blockinfo array
  */
 function pnRender_pnRenderblock_info()
@@ -76,7 +76,7 @@
  * Display the block
  *
  * @author    Frank Schummertz
- * @version   $Revision: 1.5.2.1 $
+ * @version   $Revision: 16227 $
  * @param     $row     blockinfo array
  * @return    string   HTML output string
  */
@@ -131,7 +131,7 @@
  *
  * @author    Frank Schummertz
  * @author    Jrg Napp
- * @version   $Revision: 1.5.2.1 $
+ * @version   $Revision: 16227 $
  * @param     $row     old blockinfo array
  * @return    array    new blockinfo array
  */
@@ -156,7 +156,7 @@
  *
  * @author    Frank Schummertz
  * @author    Jrg Napp
- * @version   $Revision: 1.5.2.1 $
+ * @version   $Revision: 16227 $
  * @param     $row     blockinfo array
  * @return    string   HTML output string
  */
diff -ruN 0.762/modules/pnRender/pnblocks/pnlogin.php 0.763/modules/pnRender/pnblocks/pnlogin.php
--- 0.762/modules/pnRender/pnblocks/pnlogin.php	2005-08-01 06:09:05.000000000 -0500
+++ 0.763/modules/pnRender/pnblocks/pnlogin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,67 +1,67 @@
-<?php
-// $Id: pnlogin.php,v 1.1.2.1 2005/08/01 11:09:05 landseer Exp $
-// ----------------------------------------------------------------------
-// POST-NUKE Content Management System
-// Copyright (C) 2001 by the Post-Nuke Development Team.
-// http://www.postnuke.com/
-// ----------------------------------------------------------------------
-// Based on:
-// PHP-NUKE Web Portal System - http://phpnuke.org/
-// Thatware - http://thatware.org/
-// ----------------------------------------------------------------------
-// LICENSE
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License (GPL)
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// To read the license please visit http://www.gnu.org/copyleft/gpl.html
-// ----------------------------------------------------------------------
-
-function pnRender_pnloginblock_info()
-{
-    return array(
-    'module'         => 'pnRender',
-    'text_type'      => 'pnLogin',
-    'text_type_long' => 'pnRender Loginblock',
-    'allow_multiple' => false,
-    'form_content'   => false,
-    'form_refresh'   => false,
-    'show_preview'   => true
-    );
-}
-
-function pnRender_pnloginblock_init()
-{
-    pnSecAddSchema('pnLoginblock::', 'Block title::');
-}
-
-function pnRender_pnloginblock_display($row)
-{
-	global $HTTP_SERVER_VARS;
-
-    if (empty($row['title'])) {
-        $row['title'] = 'Login';
-    }
-    if (!pnSecAuthAction(0, 'pnLoginblock::', "$row[title]::", ACCESS_READ)) {
-        return;
-    }
-
-    if (!pnUserLoggedIn()) {
-    	// get the current uri so we can return the user to the correct place
-	    $path = pnGetCurrentURI();
-
-        $pnr =& new pnRender('pnRender');
-        $pnr->assign('path', $path);
-        $pnr->assign('seclevel', pnConfigGetVar('seclevel'));
-        $row['content'] = $pnr->fetch('pnlogin.html');
-        return themesideblock($row);
-    }
-}
+<?php
+// $Id: pnlogin.php 16582 2005-08-01 11:09:05Z landseer $
+// ----------------------------------------------------------------------
+// POST-NUKE Content Management System
+// Copyright (C) 2001 by the Post-Nuke Development Team.
+// http://www.postnuke.com/
+// ----------------------------------------------------------------------
+// Based on:
+// PHP-NUKE Web Portal System - http://phpnuke.org/
+// Thatware - http://thatware.org/
+// ----------------------------------------------------------------------
+// LICENSE
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License (GPL)
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// To read the license please visit http://www.gnu.org/copyleft/gpl.html
+// ----------------------------------------------------------------------
+
+function pnRender_pnloginblock_info()
+{
+    return array(
+    'module'         => 'pnRender',
+    'text_type'      => 'pnLogin',
+    'text_type_long' => 'pnRender Loginblock',
+    'allow_multiple' => false,
+    'form_content'   => false,
+    'form_refresh'   => false,
+    'show_preview'   => true
+    );
+}
+
+function pnRender_pnloginblock_init()
+{
+    pnSecAddSchema('pnLoginblock::', 'Block title::');
+}
+
+function pnRender_pnloginblock_display($row)
+{
+	global $HTTP_SERVER_VARS;
+
+    if (empty($row['title'])) {
+        $row['title'] = 'Login';
+    }
+    if (!pnSecAuthAction(0, 'pnLoginblock::', "$row[title]::", ACCESS_READ)) {
+        return;
+    }
+
+    if (!pnUserLoggedIn()) {
+    	// get the current uri so we can return the user to the correct place
+	    $path = pnGetCurrentURI();
+
+        $pnr =& new pnRender('pnRender');
+        $pnr->assign('path', $path);
+        $pnr->assign('seclevel', pnConfigGetVar('seclevel'));
+        $row['content'] = $pnr->fetch('pnlogin.html');
+        return themesideblock($row);
+    }
+}
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/pnRender/pndocs/changelog.txt 0.763/modules/pnRender/pndocs/changelog.txt
--- 0.762/modules/pnRender/pndocs/changelog.txt	2004-03-07 17:34:33.000000000 -0600
+++ 0.763/modules/pnRender/pndocs/changelog.txt	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-$Id: changelog.txt,v 1.2 2004/03/07 23:34:33 markwest Exp $
+$Id: changelog.txt 12875 2004-03-07 23:34:33Z markwest $
 
 
 Changelog
diff -ruN 0.762/modules/pnRender/pndocs/credits.txt 0.763/modules/pnRender/pndocs/credits.txt
--- 0.762/modules/pnRender/pndocs/credits.txt	2003-08-30 14:08:55.000000000 -0500
+++ 0.763/modules/pnRender/pndocs/credits.txt	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-$Id: credits.txt,v 1.1 2003/08/30 19:08:55 jorg Exp $
+$Id: credits.txt 11364 2003-08-30 19:08:55Z jorg $
 
 Credits to:
 
diff -ruN 0.762/modules/pnRender/pndocs/help.txt 0.763/modules/pnRender/pndocs/help.txt
--- 0.762/modules/pnRender/pndocs/help.txt	2003-08-30 14:08:55.000000000 -0500
+++ 0.763/modules/pnRender/pndocs/help.txt	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-$Id: help.txt,v 1.1 2003/08/30 19:08:55 jorg Exp $
+$Id: help.txt 11364 2003-08-30 19:08:55Z jorg $
 
diff -ruN 0.762/modules/pnRender/pninit.php 0.763/modules/pnRender/pninit.php
--- 0.762/modules/pnRender/pninit.php	2004-06-30 09:27:27.000000000 -0500
+++ 0.763/modules/pnRender/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: pninit.php,v 1.12 2004/06/30 14:27:27 markwest Exp $
+// $Id: pninit.php 13853 2004-06-30 14:27:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -44,7 +44,7 @@
  * This function initializes pnRender settings.
  * 
  * @author       Joerg Napp
- * @version      $Revision: 1.12 $
+ * @version      $Revision: 13853 $
  * @return       boolean true on success, false otherwise.
  */
 function pnRender_init()
@@ -76,7 +76,7 @@
  * registers hooks,...
  * 
  * @author       Joerg Napp
- * @version      $Revision: 1.12 $
+ * @version      $Revision: 13853 $
  * @param        oldversion  the old version
  * @return       boolean true on success, false otherwise.
  */
@@ -93,7 +93,7 @@
  * (Not sure if that should ever happen!)
  * 
  * @author       Joerg Napp
- * @version      $Revision: 1.12 $
+ * @version      $Revision: 13853 $
  * @return       boolean true on success, false otherwise.
  */
 function pnRender_delete()
diff -ruN 0.762/modules/pnRender/pnlang/eng/admin.php 0.763/modules/pnRender/pnlang/eng/admin.php
--- 0.762/modules/pnRender/pnlang/eng/admin.php	2004-06-25 04:43:53.000000000 -0500
+++ 0.763/modules/pnRender/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,6 +1,6 @@
 <?php 
 /**
- * $Id: admin.php,v 1.6 2004/06/25 09:43:53 landseer Exp $
+ * $Id: admin.php 13824 2004-06-25 09:43:53Z landseer $
  * 
  * * pnRender *
  * 
diff -ruN 0.762/modules/pnRender/pnlang/eng/pnRender.php 0.763/modules/pnRender/pnlang/eng/pnRender.php
--- 0.762/modules/pnRender/pnlang/eng/pnRender.php	2004-07-14 04:00:28.000000000 -0500
+++ 0.763/modules/pnRender/pnlang/eng/pnRender.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: pnRender.php,v 1.5 2004/07/14 09:00:28 landseer Exp $
+// $Id: pnRender.php 14010 2004-07-14 09:00:28Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by The PostNuke Development Team.
diff -ruN 0.762/modules/pnRender/pnlang/eng/pnlogin.php 0.763/modules/pnRender/pnlang/eng/pnlogin.php
--- 0.762/modules/pnRender/pnlang/eng/pnlogin.php	2005-08-01 06:09:05.000000000 -0500
+++ 0.763/modules/pnRender/pnlang/eng/pnlogin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,33 +1,33 @@
-<?php
-// $Id: pnlogin.php,v 1.1.2.1 2005/08/01 11:09:05 landseer Exp $
-// ----------------------------------------------------------------------
-// POST-NUKE Content Management System
-// Copyright (C) 2001 by the Post-Nuke Development Team.
-// http://www.postnuke.com/
-// ----------------------------------------------------------------------
-// Based on:
-// PHP-NUKE Web Portal System - http://phpnuke.org/
-// Thatware - http://thatware.org/
-// ----------------------------------------------------------------------
-// LICENSE
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License (GPL)
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// To read the license please visit http://www.gnu.org/copyleft/gpl.html
-// ----------------------------------------------------------------------
-
-define('_LOGINBLOCK_ASREGISTERED',' <a href="user.php?op=lostpassscreen&module=LostPassword">Log in Problems?</a><br> New User? <a href="user.php">Sign Up!</a>');
-define('_LOGINBLOCK_NICKNAME','Username');
-define('_LOGINBLOCK_PASSWORD','Password');
-define('_LOGINBLOCK_REMEMBERME','remember me');
-define('_LOGINBLOCK_LOGIN','Login');
-
+<?php
+// $Id: pnlogin.php 16722 2005-08-27 12:35:10Z  $
+// ----------------------------------------------------------------------
+// POST-NUKE Content Management System
+// Copyright (C) 2001 by the Post-Nuke Development Team.
+// http://www.postnuke.com/
+// ----------------------------------------------------------------------
+// Based on:
+// PHP-NUKE Web Portal System - http://phpnuke.org/
+// Thatware - http://thatware.org/
+// ----------------------------------------------------------------------
+// LICENSE
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License (GPL)
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// To read the license please visit http://www.gnu.org/copyleft/gpl.html
+// ----------------------------------------------------------------------
+
+define('_LOGINBLOCK_ASREGISTERED',' <a href="user.php?op=lostpassscreen&module=LostPassword">Log in Problems?</a><br> New User? <a href="user.php">Sign Up!</a>');
+define('_LOGINBLOCK_NICKNAME','Username');
+define('_LOGINBLOCK_PASSWORD','Password');
+define('_LOGINBLOCK_REMEMBERME','remember me');
+define('_LOGINBLOCK_LOGIN','Login');
+
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/pnRender/pntables.php 0.763/modules/pnRender/pntables.php
--- 0.762/modules/pnRender/pntables.php	2004-06-30 09:27:27.000000000 -0500
+++ 0.763/modules/pnRender/pntables.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pntables.php,v 1.5 2004/06/30 14:27:27 markwest Exp $
+// $Id: pntables.php 13853 2004-06-30 14:27:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -48,7 +48,7 @@
  * 
  * 
  * @author       Joerg Napp
- * @version      $Revision: 1.5 $
+ * @version      $Revision: 13853 $
  * @return       array    an array with the table infomation
  */
 function pnRender_pntables()
diff -ruN 0.762/modules/pnRender/pntemplates/pndebug.html 0.763/modules/pnRender/pntemplates/pndebug.html
--- 0.762/modules/pnRender/pntemplates/pndebug.html	2005-05-26 06:20:31.000000000 -0500
+++ 0.763/modules/pnRender/pntemplates/pndebug.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,142 +1,142 @@
-<!--[* $Id: pndebug.html,v 1.1.2.1 2005/05/26 11:20:31 landseer Exp $ *]-->
-
-<!--[* pndebug.tpl, based on debug.tpl, last updated version 2.0.1 *]-->
-
-
-<!--[assign_debug_info]-->
-<!--[pnsessionvars]-->
-
-<!--[if isset($_smarty_debug_output) and $_smarty_debug_output eq "html"]-->
-	<table border="0" width="100%">
-	<tr bgcolor="#cccccc">
-	    <th colspan="2">Smarty Debug Console</th>
-	</tr>
-	<tr bgcolor="#cccccc">
-	    <td colspan="2">
-	        <b>included templates & config files (load time in seconds):</b>
-	    </td>
-	</tr>
-	<!--[section name=templates loop=$_debug_tpls]-->
-		<tr bgcolor="<!--[if %templates.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->">
-		    <td colspan="2">
-		        <tt><!--[section name=indent loop=$_debug_tpls[templates].depth]-->&nbsp;&nbsp;&nbsp;<!--[/section]--><font color="<!--[if $_debug_tpls[templates].type eq "template"]-->brown<!--[elseif $_debug_tpls[templates].type eq "insert"]-->black<!--[else]-->green<!--[/if]-->"><!--[$_debug_tpls[templates].filename|escape:html]--></font><!--[if isset($_debug_tpls[templates].exec_time)]--> <font size="-1"><i>(<!--[$_debug_tpls[templates].exec_time|string_format:"%.5f"]-->)<!--[if %templates.index% eq 0]--> (total)<!--[/if]--></i></font><!--[/if]--></tt>
-		    </td>
-		</tr>
-	<!--[sectionelse]-->
-		<tr bgcolor="#eeeeee">
-		    <td colspan="2">
-		        <tt><i>no templates included</i></tt>
-		    </td>
-		</tr>
-	<!--[/section]-->
-	<tr bgcolor="#cccccc">
-	    <td colspan="2">
-	        <b>assigned template variables:</b>
-	    </td>
-	</tr>
-	<!--[section name=vars loop=$_debug_keys]-->
-		<tr bgcolor="<!--[if %vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->">
-		    <td valign="top">
-		        <tt><font color="blue">{$<!--[$_debug_keys[vars]]-->}</font></tt>
-		    </td>
-		    <td nowrap="nowrap">
-		        <tt><font color="green"><!--[$_debug_vals[vars]|@debug_print_var]--></font></tt>
-		    </td>
-		</tr>
-	<!--[sectionelse]-->
-		<tr bgcolor="#eeeeee">
-		    <td colspan="2">
-		        <tt><i>no template variables assigned</i></tt>
-		    </td>
-		</tr>
-	<!--[/section]-->
-
-	<tr bgcolor="#cccccc">
-	    <td colspan="2">
-	        <b>PostNuke session variables:</b>
-	    </td>
-	</tr>
-	<!--[section name=vars loop=$_pnsession_keys]-->
-		<tr bgcolor="<!--[if %vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->">
-		    <td style="vertical-align: top; color: blue;">
-		        <tt>{$<!--[$_pnsession_keys[vars]]-->}</tt>
-		    </td>
-		    <td nowrap="nowrap" style="color: green;">
-		        <tt><!--[$_pnsession_vals[vars]|@debug_print_var]--></tt>
-		    </td>
-		</tr>
-	<!--[sectionelse]-->
-		<tr bgcolor="#eeeeee">
-		    <td colspan="2">
-		        <tt><i>no template variables assigned</i></tt>
-		    </td>
-		</tr>
-	<!--[/section]-->
-
-	<tr bgcolor="#cccccc">
-	    <td colspan="2">
-	        <b>assigned config file variables (outer template scope):</b>
-	    </td>
-	</tr>
-	<!--[section name=config_vars loop=$_debug_config_keys]-->
-		<tr bgcolor="<!--[if %config_vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->">
-		    <td valign="top">
-		        <tt><font color="maroon">{#<!--[$_debug_config_keys[config_vars]]-->#}</font></tt>
-		    </td>
-		    <td>
-		        <tt><font color="green"><!--[$_debug_config_vals[config_vars]|@debug_print_var]--></font></tt>
-		    </td>
-		</tr>
-	<!--[sectionelse]-->
-		<tr bgcolor="#eeeeee">
-		    <td colspan="2">
-		        <tt><i>no config vars assigned</i></tt>
-		    </td>
-		</tr>
-	<!--[/section]-->
-	</table>
-</body></html>
-<!--[else]-->
-<script language="javascript" type="text/javascript">
-	if( self.name == '' ) {
-	   var title = 'Console';
-	}
-	else {
-	   var title = 'Console_' + self.name;
-	}
-	_smarty_console = window.open("",title.value,"width=680,height=600,resizable,scrollbars=yes");
-	_smarty_console.document.write("<html><title>Smarty Debug Console_"+self.name+"</title><body bgcolor=\"#ffffff\">");
-	_smarty_console.document.write("<table border=\"0\" width=\"100%\">");
-	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><th colspan=\"2\">Smarty Debug Console</th></tr>");
-	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><td colspan=\"2\"><b>included templates & config files (load time in seconds):</b></td></tr>");
-	<!--[section name=templates loop=$_debug_tpls]-->
-		_smarty_console.document.write("<tr bgcolor=\"<!--[if %templates.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->\"><td colspan=\"2\"><tt><!--[section name=indent loop=$_debug_tpls[templates].depth]-->&nbsp;&nbsp;&nbsp;<!--[/section]--><font color=\"<!--[if $_debug_tpls[templates].type eq "template"]-->brown<!--[elseif $_debug_tpls[templates].type eq "insert"]-->black<!--[else]-->green<!--[/if]-->\"><!--[$_debug_tpls[templates].filename|escape:html|escape:javascript]--></font><!--[if isset($_debug_tpls[templates].exec_time)]--> <font size=\"-1\"><i>(<!--[$_debug_tpls[templates].exec_time|string_format:"%.5f"]-->)<!--[if %templates.index% eq 0]--> (total)<!--[/if]--></i></font><!--[/if]--></tt></td></tr>");
-	<!--[sectionelse]-->
-		_smarty_console.document.write("<tr bgcolor=\"#eeeeee\"><td colspan=\"2\"><tt><i>no templates included</i></tt></td></tr>");
-	<!--[/section]-->
-
-	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><td colspan=\"2\"><b>assigned template variables:</b></td></tr>");
-	<!--[section name=vars loop=$_debug_keys]-->
-		_smarty_console.document.write("<tr bgcolor=\"<!--[if %vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->\"><td valign=\"top\"><tt><font color=\"blue\">{$<!--[$_debug_keys[vars]]-->}</font></tt></td><td nowrap=\"nowrap\"><tt><font color=\"green\"><!--[$_debug_vals[vars]|@debug_print_var|escape:javascript]--></font></tt></td></tr>");
-	<!--[sectionelse]-->
-		_smarty_console.document.write("<tr bgcolor=\"#eeeeee\"><td colspan=\"2\"><tt><i>no template variables assigned</i></tt></td></tr>");
-	<!--[/section]-->
-
-	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><td colspan=\"2\"><b>PostNuke session variables:</b></td></tr>");
-	<!--[section name=vars loop=$_pnsession_keys]-->
-		_smarty_console.document.write("<tr bgcolor=\"<!--[if %vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->\"><td valign=\"top\"><tt><font color=\"blue\">{$<!--[$_pnsession_keys[vars]]-->}</font></tt></td><td nowrap=\"nowrap\"><tt><font color=\"green\"><!--[$_pnsession_vals[vars]|@debug_print_var|escape:javascript]--></font></tt></td></tr>");
-	<!--[sectionelse]-->
-		_smarty_console.document.write("<tr bgcolor=\"#eeeeee\"><td colspan=\"2\"><tt><i>no PostNuke session variables found</i></tt></td></tr>");
-	<!--[/section]-->
-
-	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><td colspan=\"2\"><b>assigned config file variables (outer template scope):</b></td></tr>");
-	<!--[section name=config_vars loop=$_debug_config_keys]-->
-		_smarty_console.document.write("<tr bgcolor=\"<!--[if %config_vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->\"><td valign=\"top\"><tt><font color=\"maroon\">{#<!--[$_debug_config_keys[config_vars]]-->#}</font></tt></td><td><tt><font color=\"green\"><!--[$_debug_config_vals[config_vars]|@debug_print_var|escape:javascript]--></font></tt></td></tr>");
-	<!--[sectionelse]-->
-		_smarty_console.document.write("<tr bgcolor=\"#eeeeee\"><td colspan=\"2\"><tt><i>no config vars assigned</i></tt></td></tr>");
-	<!--[/section]-->
-	_smarty_console.document.write("</table>");
-	_smarty_console.document.write("</body></html>");
-	_smarty_console.document.close();
-</script>
-<!--[/if]-->
+<!--[* $Id: pndebug.html 16272 2005-05-26 11:20:31Z landseer $ *]-->
+
+<!--[* pndebug.tpl, based on debug.tpl, last updated version 2.0.1 *]-->
+
+
+<!--[assign_debug_info]-->
+<!--[pnsessionvars]-->
+
+<!--[if isset($_smarty_debug_output) and $_smarty_debug_output eq "html"]-->
+	<table border="0" width="100%">
+	<tr bgcolor="#cccccc">
+	    <th colspan="2">Smarty Debug Console</th>
+	</tr>
+	<tr bgcolor="#cccccc">
+	    <td colspan="2">
+	        <b>included templates & config files (load time in seconds):</b>
+	    </td>
+	</tr>
+	<!--[section name=templates loop=$_debug_tpls]-->
+		<tr bgcolor="<!--[if %templates.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->">
+		    <td colspan="2">
+		        <tt><!--[section name=indent loop=$_debug_tpls[templates].depth]-->&nbsp;&nbsp;&nbsp;<!--[/section]--><font color="<!--[if $_debug_tpls[templates].type eq "template"]-->brown<!--[elseif $_debug_tpls[templates].type eq "insert"]-->black<!--[else]-->green<!--[/if]-->"><!--[$_debug_tpls[templates].filename|escape:html]--></font><!--[if isset($_debug_tpls[templates].exec_time)]--> <font size="-1"><i>(<!--[$_debug_tpls[templates].exec_time|string_format:"%.5f"]-->)<!--[if %templates.index% eq 0]--> (total)<!--[/if]--></i></font><!--[/if]--></tt>
+		    </td>
+		</tr>
+	<!--[sectionelse]-->
+		<tr bgcolor="#eeeeee">
+		    <td colspan="2">
+		        <tt><i>no templates included</i></tt>
+		    </td>
+		</tr>
+	<!--[/section]-->
+	<tr bgcolor="#cccccc">
+	    <td colspan="2">
+	        <b>assigned template variables:</b>
+	    </td>
+	</tr>
+	<!--[section name=vars loop=$_debug_keys]-->
+		<tr bgcolor="<!--[if %vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->">
+		    <td valign="top">
+		        <tt><font color="blue">{$<!--[$_debug_keys[vars]]-->}</font></tt>
+		    </td>
+		    <td nowrap="nowrap">
+		        <tt><font color="green"><!--[$_debug_vals[vars]|@debug_print_var]--></font></tt>
+		    </td>
+		</tr>
+	<!--[sectionelse]-->
+		<tr bgcolor="#eeeeee">
+		    <td colspan="2">
+		        <tt><i>no template variables assigned</i></tt>
+		    </td>
+		</tr>
+	<!--[/section]-->
+
+	<tr bgcolor="#cccccc">
+	    <td colspan="2">
+	        <b>PostNuke session variables:</b>
+	    </td>
+	</tr>
+	<!--[section name=vars loop=$_pnsession_keys]-->
+		<tr bgcolor="<!--[if %vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->">
+		    <td style="vertical-align: top; color: blue;">
+		        <tt>{$<!--[$_pnsession_keys[vars]]-->}</tt>
+		    </td>
+		    <td nowrap="nowrap" style="color: green;">
+		        <tt><!--[$_pnsession_vals[vars]|@debug_print_var]--></tt>
+		    </td>
+		</tr>
+	<!--[sectionelse]-->
+		<tr bgcolor="#eeeeee">
+		    <td colspan="2">
+		        <tt><i>no template variables assigned</i></tt>
+		    </td>
+		</tr>
+	<!--[/section]-->
+
+	<tr bgcolor="#cccccc">
+	    <td colspan="2">
+	        <b>assigned config file variables (outer template scope):</b>
+	    </td>
+	</tr>
+	<!--[section name=config_vars loop=$_debug_config_keys]-->
+		<tr bgcolor="<!--[if %config_vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->">
+		    <td valign="top">
+		        <tt><font color="maroon">{#<!--[$_debug_config_keys[config_vars]]-->#}</font></tt>
+		    </td>
+		    <td>
+		        <tt><font color="green"><!--[$_debug_config_vals[config_vars]|@debug_print_var]--></font></tt>
+		    </td>
+		</tr>
+	<!--[sectionelse]-->
+		<tr bgcolor="#eeeeee">
+		    <td colspan="2">
+		        <tt><i>no config vars assigned</i></tt>
+		    </td>
+		</tr>
+	<!--[/section]-->
+	</table>
+</body></html>
+<!--[else]-->
+<script language="javascript" type="text/javascript">
+	if( self.name == '' ) {
+	   var title = 'Console';
+	}
+	else {
+	   var title = 'Console_' + self.name;
+	}
+	_smarty_console = window.open("",title.value,"width=680,height=600,resizable,scrollbars=yes");
+	_smarty_console.document.write("<html><title>Smarty Debug Console_"+self.name+"</title><body bgcolor=\"#ffffff\">");
+	_smarty_console.document.write("<table border=\"0\" width=\"100%\">");
+	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><th colspan=\"2\">Smarty Debug Console</th></tr>");
+	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><td colspan=\"2\"><b>included templates & config files (load time in seconds):</b></td></tr>");
+	<!--[section name=templates loop=$_debug_tpls]-->
+		_smarty_console.document.write("<tr bgcolor=\"<!--[if %templates.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->\"><td colspan=\"2\"><tt><!--[section name=indent loop=$_debug_tpls[templates].depth]-->&nbsp;&nbsp;&nbsp;<!--[/section]--><font color=\"<!--[if $_debug_tpls[templates].type eq "template"]-->brown<!--[elseif $_debug_tpls[templates].type eq "insert"]-->black<!--[else]-->green<!--[/if]-->\"><!--[$_debug_tpls[templates].filename|escape:html|escape:javascript]--></font><!--[if isset($_debug_tpls[templates].exec_time)]--> <font size=\"-1\"><i>(<!--[$_debug_tpls[templates].exec_time|string_format:"%.5f"]-->)<!--[if %templates.index% eq 0]--> (total)<!--[/if]--></i></font><!--[/if]--></tt></td></tr>");
+	<!--[sectionelse]-->
+		_smarty_console.document.write("<tr bgcolor=\"#eeeeee\"><td colspan=\"2\"><tt><i>no templates included</i></tt></td></tr>");
+	<!--[/section]-->
+
+	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><td colspan=\"2\"><b>assigned template variables:</b></td></tr>");
+	<!--[section name=vars loop=$_debug_keys]-->
+		_smarty_console.document.write("<tr bgcolor=\"<!--[if %vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->\"><td valign=\"top\"><tt><font color=\"blue\">{$<!--[$_debug_keys[vars]]-->}</font></tt></td><td nowrap=\"nowrap\"><tt><font color=\"green\"><!--[$_debug_vals[vars]|@debug_print_var|escape:javascript]--></font></tt></td></tr>");
+	<!--[sectionelse]-->
+		_smarty_console.document.write("<tr bgcolor=\"#eeeeee\"><td colspan=\"2\"><tt><i>no template variables assigned</i></tt></td></tr>");
+	<!--[/section]-->
+
+	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><td colspan=\"2\"><b>PostNuke session variables:</b></td></tr>");
+	<!--[section name=vars loop=$_pnsession_keys]-->
+		_smarty_console.document.write("<tr bgcolor=\"<!--[if %vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->\"><td valign=\"top\"><tt><font color=\"blue\">{$<!--[$_pnsession_keys[vars]]-->}</font></tt></td><td nowrap=\"nowrap\"><tt><font color=\"green\"><!--[$_pnsession_vals[vars]|@debug_print_var|escape:javascript]--></font></tt></td></tr>");
+	<!--[sectionelse]-->
+		_smarty_console.document.write("<tr bgcolor=\"#eeeeee\"><td colspan=\"2\"><tt><i>no PostNuke session variables found</i></tt></td></tr>");
+	<!--[/section]-->
+
+	_smarty_console.document.write("<tr bgcolor=\"#cccccc\"><td colspan=\"2\"><b>assigned config file variables (outer template scope):</b></td></tr>");
+	<!--[section name=config_vars loop=$_debug_config_keys]-->
+		_smarty_console.document.write("<tr bgcolor=\"<!--[if %config_vars.index% is even]-->#eeeeee<!--[else]-->#fafafa<!--[/if]-->\"><td valign=\"top\"><tt><font color=\"maroon\">{#<!--[$_debug_config_keys[config_vars]]-->#}</font></tt></td><td><tt><font color=\"green\"><!--[$_debug_config_vals[config_vars]|@debug_print_var|escape:javascript]--></font></tt></td></tr>");
+	<!--[sectionelse]-->
+		_smarty_console.document.write("<tr bgcolor=\"#eeeeee\"><td colspan=\"2\"><tt><i>no config vars assigned</i></tt></td></tr>");
+	<!--[/section]-->
+	_smarty_console.document.write("</table>");
+	_smarty_console.document.write("</body></html>");
+	_smarty_console.document.close();
+</script>
+<!--[/if]-->
diff -ruN 0.762/modules/pnRender/pntemplates/pnlogin.html 0.763/modules/pnRender/pntemplates/pnlogin.html
--- 0.762/modules/pnRender/pntemplates/pnlogin.html	2005-08-01 06:09:05.000000000 -0500
+++ 0.763/modules/pnRender/pntemplates/pnlogin.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,44 +1,44 @@
-<!--[* $Id: pnlogin.html,v 1.1.2.1 2005/08/01 11:09:05 landseer Exp $ *]-->
-<!--[*  ---------------------------------------------------------------------- *]-->
-<!--[*  pnRender                                                               *]-->
-<!--[*  PostNuke wrapper class for Smarty                                      *]-->
-<!--[*  ---------------------------------------------------------------------- *]-->
-<!--[*  Author: Frank Schummertz, frank.schummertz@landseer.stuttgart.de       *]-->
-<!--[*  ---------------------------------------------------------------------- *]-->
-<!--[*  LICENSE                                                                *]-->
-<!--[*  This program is free software; you can redistribute it and/or          *]-->
-<!--[*  modify it under the terms of the GNU General Public License (GPL)      *]-->
-<!--[*  as published by the Free Software Foundation; either version 2         *]-->
-<!--[*  of the License, or (at your option) any later version.                 *]-->
-<!--[*  This program is distributed in the hope that it will be useful,        *]-->
-<!--[*  but WITHOUT ANY WARRANTY; without even the implied warranty of         *]-->
-<!--[*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *]-->
-<!--[*  GNU General Public License for more details.                           *]-->
-<!--[*  To read the license please visit http://www.gnu.org/copyleft/gpl.html  *]-->
-<!--[*  ---------------------------------------------------------------------- *]-->
-<!--[*  Purpose of this template:                                              *]-->
-<!--[*  pnrender login block                                                   *]-->
-<!--[*  ---------------------------------------------------------------------- *]-->
-
-<form action="user.php" method="post">
-<div style="text-align: left; padding: 2px;">
-    <label for="uname"><!--[ pnml name='_LOGINBLOCK_NICKNAME' ]--></label><br />
-    <input type="text" id="uname" name="uname" size="14" maxlength="25"	onblur="if(this.value=='')this.value='<!--[ pnml name=_LOGINBLOCK_NICKNAME ]-->';" onfocus="if(this.value=='<!--[ pnml name=_BLOCKNICKNAME ]-->')this.value='';" /><br />
-    <br />
-    <label for="pass"><!--[ pnml name='_LOGINBLOCK_PASSWORD' ]--></label><br />
-    <input type="password" id="pass" name="pass" size="14" maxlength="20" />
-    <br />
-    <!--[ if $seclevel != 'High' ]-->
-        <input type="checkbox" value="1" name="rememberme" id="rememberme" />&nbsp;
-        <label for="rememberme"><!--[ pnml name='_LOGINBLOCK_REMEMBERME' ]--></label>
-        <br />
-    <!--[ /if ]-->
-    <br />
-    <!--[ pnml name='_LOGINBLOCK_ASREGISTERED' html=1|pnvarprephtmldisplay ]-->
-    <input type="hidden" name="module" value="User" />
-    <input type="hidden" name="op" value="login" />
-    <input type="hidden" name="url" value="<!--[ $path|pnvarprepfordisplay ]-->" />
-    <br /><br />
-    <input type="submit" value="<!--[ pnml name='_LOGINBLOCK_LOGIN' ]-->" />
-</div>
-</form>
+<!--[* $Id: pnlogin.html 16582 2005-08-01 11:09:05Z landseer $ *]-->
+<!--[*  ---------------------------------------------------------------------- *]-->
+<!--[*  pnRender                                                               *]-->
+<!--[*  PostNuke wrapper class for Smarty                                      *]-->
+<!--[*  ---------------------------------------------------------------------- *]-->
+<!--[*  Author: Frank Schummertz, frank.schummertz@landseer.stuttgart.de       *]-->
+<!--[*  ---------------------------------------------------------------------- *]-->
+<!--[*  LICENSE                                                                *]-->
+<!--[*  This program is free software; you can redistribute it and/or          *]-->
+<!--[*  modify it under the terms of the GNU General Public License (GPL)      *]-->
+<!--[*  as published by the Free Software Foundation; either version 2         *]-->
+<!--[*  of the License, or (at your option) any later version.                 *]-->
+<!--[*  This program is distributed in the hope that it will be useful,        *]-->
+<!--[*  but WITHOUT ANY WARRANTY; without even the implied warranty of         *]-->
+<!--[*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *]-->
+<!--[*  GNU General Public License for more details.                           *]-->
+<!--[*  To read the license please visit http://www.gnu.org/copyleft/gpl.html  *]-->
+<!--[*  ---------------------------------------------------------------------- *]-->
+<!--[*  Purpose of this template:                                              *]-->
+<!--[*  pnrender login block                                                   *]-->
+<!--[*  ---------------------------------------------------------------------- *]-->
+
+<form action="user.php" method="post">
+<div style="text-align: left; padding: 2px;">
+    <label for="uname"><!--[ pnml name='_LOGINBLOCK_NICKNAME' ]--></label><br />
+    <input type="text" id="uname" name="uname" size="14" maxlength="25"	onblur="if(this.value=='')this.value='<!--[ pnml name=_LOGINBLOCK_NICKNAME ]-->';" onfocus="if(this.value=='<!--[ pnml name=_BLOCKNICKNAME ]-->')this.value='';" /><br />
+    <br />
+    <label for="pass"><!--[ pnml name='_LOGINBLOCK_PASSWORD' ]--></label><br />
+    <input type="password" id="pass" name="pass" size="14" maxlength="20" />
+    <br />
+    <!--[ if $seclevel != 'High' ]-->
+        <input type="checkbox" value="1" name="rememberme" id="rememberme" />&nbsp;
+        <label for="rememberme"><!--[ pnml name='_LOGINBLOCK_REMEMBERME' ]--></label>
+        <br />
+    <!--[ /if ]-->
+    <br />
+    <!--[ pnml name='_LOGINBLOCK_ASREGISTERED' html=1|pnvarprephtmldisplay ]-->
+    <input type="hidden" name="module" value="User" />
+    <input type="hidden" name="op" value="login" />
+    <input type="hidden" name="url" value="<!--[ $path|pnvarprepfordisplay ]-->" />
+    <br /><br />
+    <input type="submit" value="<!--[ pnml name='_LOGINBLOCK_LOGIN' ]-->" />
+</div>
+</form>
diff -ruN 0.762/modules/pnRender/pntemplates/pnrender_admin.htm 0.763/modules/pnRender/pntemplates/pnrender_admin.htm
--- 0.762/modules/pnRender/pntemplates/pnrender_admin.htm	2005-04-04 04:03:36.000000000 -0500
+++ 0.763/modules/pnRender/pntemplates/pnrender_admin.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pnrender_admin.htm,v 1.13.2.3 2005/04/04 09:03:36 markwest Exp $           *]-->
+<!--[*  $Id: pnrender_admin.htm 16064 2005-04-04 09:03:36Z markwest $           *]-->
 <!--[*  ---------------------------------------------------------------------- *]-->
 <!--[*  pnRender                                                               *]-->
 <!--[*  PostNuke wrapper class for Smarty                                      *]-->
diff -ruN 0.762/modules/pnRender/pntemplates/pnrenderblock.htm 0.763/modules/pnRender/pntemplates/pnrenderblock.htm
--- 0.762/modules/pnRender/pntemplates/pnrenderblock.htm	2004-01-29 09:27:02.000000000 -0600
+++ 0.763/modules/pnRender/pntemplates/pnrenderblock.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pnrenderblock.htm,v 1.1 2004/01/29 15:27:02 jorg Exp $           *]-->
+<!--[*  $Id: pnrenderblock.htm 16722 2005-08-27 12:35:10Z  $           *]-->
 <!--[*  ====================================================================== *]-->
 <!--[*  pnRender                                                               *]-->
 <!--[*  PostNuke wrapper class for Smarty                                      *]-->
diff -ruN 0.762/modules/pnRender/pnversion.php 0.763/modules/pnRender/pnversion.php
--- 0.762/modules/pnRender/pnversion.php	2004-06-30 09:27:27.000000000 -0500
+++ 0.763/modules/pnRender/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.5 2004/06/30 14:27:27 markwest Exp $
+// $Id: pnversion.php 13853 2004-06-30 14:27:27Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbcode/pnadmin.php 0.763/modules/pn_bbcode/pnadmin.php
--- 0.762/modules/pn_bbcode/pnadmin.php	2005-10-07 07:06:28.000000000 -0500
+++ 0.763/modules/pn_bbcode/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.11 2005/10/07 12:06:28 landseer Exp $
+// $Id: pnadmin.php 83 2005-10-07 12:06:29Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbcode/pndocs/changelog.txt 0.763/modules/pn_bbcode/pndocs/changelog.txt
--- 0.762/modules/pn_bbcode/pndocs/changelog.txt	2005-11-22 14:40:46.000000000 -0600
+++ 0.763/modules/pn_bbcode/pndocs/changelog.txt	2006-10-17 16:24:08.000000000 -0500
@@ -1,7 +1,10 @@
+    - added patch [#2953] Re-worked what is bbcode template
+
 Version 1.20: Nov 22, 2005
     - fixed bug in list tag
     - added alt parameter to img tag (credits to Franky Chestnut)
     - img tag now allows local paths
+    - added sorting of GeSHi languages
 
 Version 1.19: Oct 07, 2005
     - minimum requirement now PN .760+
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/actionscript-french.php 0.763/modules/pn_bbcode/pnincludes/geshi/actionscript-french.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/actionscript-french.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/actionscript-french.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------------
  * Author: Steffen Krause (Steffen.krause@muse.de)
  * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.8
+ * CVS Revision Version: $Revision: 95 $
  * Date Started: 2004/06/20
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-04-05 19:15:37 +0100 (Wed, 05 Apr 2006) $
  *
  * Actionscript language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/actionscript.php 0.763/modules/pn_bbcode/pnincludes/geshi/actionscript.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/actionscript.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/actionscript.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------------
  * Author: Steffen Krause (Steffen.krause@muse.de)
  * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/06/20
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * Actionscript language file for GeSHi.
  *
@@ -42,7 +42,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Actionscript',
+	'LANG_NAME' => 'ActionScript',
 	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
 	'COMMENT_MULTI' => array('/*' => '*/'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/ada.php 0.763/modules/pn_bbcode/pnincludes/geshi/ada.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/ada.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/ada.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/07/29
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * Ada language file for GeSHi.
  * Words are from SciTe configuration file
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/apache.php 0.763/modules/pn_bbcode/pnincludes/geshi/apache.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/apache.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/apache.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/29/07
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * Apache language file for GeSHi.
  * Words are from SciTe configuration file
@@ -45,7 +45,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Apache',
+	'LANG_NAME' => 'Apache Log',
 	'COMMENT_SINGLE' => array(1 => '#'),
 	'COMMENT_MULTI' => array(),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/applescript.php 0.763/modules/pn_bbcode/pnincludes/geshi/applescript.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/applescript.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/applescript.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * --------
  * Author: Stephan Klimek (http://www.initware.org)
  * Copyright: Stephan Klimek (http://www.initware.org)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2005/07/20
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * AppleScript language file for GeSHi.
  *
@@ -18,6 +18,24 @@
  * -------------------------
  * URL settings to references
  *
+ **************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
  ************************************************************************************/
 
 $language_data = array (
@@ -53,7 +71,7 @@
 			)
 		),
 	'SYMBOLS' => array(
-        ')','+','-','^','*','/','&','<','>=','<','<=','=',''
+        ')','+','-','^','*','/','&','<','>=','<','<=','=','�'
 		),
 	'CASE_SENSITIVE' => array(
 		GESHI_COMMENTS => true,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/asm.php 0.763/modules/pn_bbcode/pnincludes/geshi/asm.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/asm.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/asm.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/07/27
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * x86 Assembler language file for GeSHi.
  * Words are from SciTe configuration file (based on NASM syntax)
@@ -46,7 +46,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'assembler',
+	'LANG_NAME' => 'ASM',
 	'COMMENT_SINGLE' => array(1 => ';'),
 	'COMMENT_MULTI' => array(),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
@@ -187,7 +187,7 @@
 	'OBJECT_SPLITTERS' => array(
 		),
 	'REGEXPS' => array(
-		0 => '[0-9a-fA-F][0-9a-fA-F]*[hH]',
+		0 => '0[0-9a-fA-F][0-9a-fA-F]*[hH]',
 		1 => '[01][01]*[bB]'
 		),
 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/asp.php 0.763/modules/pn_bbcode/pnincludes/geshi/asp.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/asp.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/asp.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,17 +4,19 @@
  * --------
  * Author: Amit Gupta (http://blog.igeek.info/)
  * Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/08/13
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * ASP language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2005/12/30 (1.0.3)
+ *   -  Strings only delimited by ", comments by '
  * 2004/11/27 (1.0.2)
- *  -  Added support for multiple object splitters
+ *   -  Added support for multiple object splitters
  * 2004/10/27 (1.0.1)
  *   -  Added support for URLs
  * 2004/08/13 (1.0.0)
@@ -49,7 +51,7 @@
 	'COMMENT_SINGLE' => array(1 => "'", 2 => '//'),
 	'COMMENT_MULTI' => array('/*' => '*/'),
 	'CASE_KEYWORDS' => 0,
-	'QUOTEMARKS' => array("'", '"'),
+	'QUOTEMARKS' => array('"'),
 	'ESCAPE_CHAR' => '\\',
 	'KEYWORDS' => array(
 		1 => array(
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/autoit.php 0.763/modules/pn_bbcode/pnincludes/geshi/autoit.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/autoit.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/autoit.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,196 @@
+<?php
+/*************************************************************************************
+ * autoit.php
+ * --------
+ * Author: mastrboy
+ * Copyright: (c) 2006 and to GESHi ;)
+ * Release Version: 1.0.7.13
+ * Date Started: 26.01.2006
+ *
+ * Current bugs & todo:
+ * ----------
+ * - can't get #cs and #ce to work as multiple comments while still #comments-start/end working
+ * - dosn't highlight symbols (Please note that in 1.0.X these are not used. Hopefully they will be used in 1.2.X.)
+ * - not sure how to get sendkeys to work " {!}, {SPACE} etc... "
+ * - jut copyied the regexp for variable from php so this HAVE to be checked and fixed to a better one ;)
+ *
+ * Reference: http://www.autoitscript.com/autoit3/docs/
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'AutoIT',
+	'COMMENT_SINGLE' => array(';'),
+	'COMMENT_MULTI' => array('#comments-start' => '#comments-end'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+            'continueloop', 'and', 'byref', 'case', 'const', 'dim', 'do', 'else',
+            'elseif', 'endfunc', 'endif', 'endselect', 'exit', 'exitloop', 'for',
+            'func', 'global', 'if', 'local', 'next', 'not', 'or', 'redim', 'return',
+            'select', 'step', 'then', 'to', 'until', 'wend', 'while'
+			),
+		2 => array(
+            '@appdatacommondir','@appdatadir','@autoitexe','@autoitversion','@commonfilesdir',
+            '@compiled','@computername','@comspec','@cr','@crlf','@desktopcommondir','@desktopdepth','@desktopdir',
+            '@desktopheight','@desktoprefresh','@desktopwidth','@documentscommondir','@error','@extended',
+            '@favoritescommondir','@favoritesdir','@gui_ctrlhandle','@gui_ctrlid','@gui_winhandle','@homedrive',
+            '@homepath','@homeshare','@hour','@inetgetactive','@inetgetbytesread','@ipaddress1','@ipaddress2',
+            '@ipaddress3','@ipaddress4','@lf','@logondnsdomain','@logondomain','@logonserver','@mday','@min',
+            '@mon','@mydocumentsdir','@numparams','@osbuild','@oslang','@osservicepack','@ostype','@osversion',
+            '@programfilesdir','@programscommondir','@programsdir','@scriptdir','@scriptfullpath','@scriptname',
+            '@sec','@startmenucommondir','@startmenudir','@startupcommondir','@startupdir','@sw_disable',
+            '@sw_enable','@sw_hide','@sw_maximize','@sw_minimize','@sw_restore','@sw_show','@sw_showdefault',
+            '@sw_showmaximized','@sw_showminimized','@sw_showminnoactive','@sw_showna','@sw_shownoactivate',
+            '@sw_shownormal','@systemdir','@tab','@tempdir','@username','@userprofiledir','@wday','@windowsdir',
+            '@workingdir','@yday','@year'
+			),
+		3 => array(
+            'abs','acos','adlibdisable','adlibenable','asc','asin','assign','atan','autoitsetoption',
+            'autoitwingettitle','autoitwinsettitle','bitand','bitnot','bitor','bitshift','bitxor','blockinput',
+            'break','call','cdtray','chr','clipget','clipput','consolewrite','controlclick','controlcommand','controldisable',
+            'controlenable','controlfocus','controlgetfocus','controlgethandle','controlgetpos','controlgettext',
+            'controlhide','controllistview','controlmove','controlsend','controlsettext','controlshow','cos',
+            'dec','dircopy','dircreate','dirgetsize','dirmove','dirremove','dllcall','dllclose','dllopen','drivegetdrive',
+            'drivegetfilesystem','drivegetlabel','drivegetserial','drivegettype','drivemapadd','drivemapdel',
+            'drivemapget','drivesetlabel','drivespacefree','drivespacetotal','drivestatus','envget','envset',
+            'envupdate','eval','exp','filechangedir','fileclose','filecopy','filecreateshortcut','filedelete',
+            'fileexists','filefindfirstfile','filefindnextfile','filegetattrib','filegetlongname','filegetshortcut',
+            'filegetshortname','filegetsize','filegettime','filegetversion','fileinstall','filemove','fileopen',
+            'fileopendialog','fileread','filereadline','filerecycle','filerecycleempty','filesavedialog',
+            'fileselectfolder','filesetattrib','filesettime','filewrite','filewriteline','ftpsetproxy','guicreate',
+            'guictrlcreateavi','guictrlcreatebutton','guictrlcreatecheckbox','guictrlcreatecombo','guictrlcreatecontextmenu',
+            'guictrlcreatedate','guictrlcreatedummy','guictrlcreateedit','guictrlcreategroup','guictrlcreateicon',
+            'guictrlcreateinput','guictrlcreatelabel','guictrlcreatelist','guictrlcreatelistview','guictrlcreatelistviewitem',
+            'guictrlcreatemenu','guictrlcreatemenuitem','guictrlcreatepic','guictrlcreateprogress','guictrlcreateradio',
+            'guictrlcreateslider','guictrlcreatetab','guictrlcreatetabitem','guictrlcreatetreeview','guictrlcreatetreeviewitem',
+            'guictrlcreateupdown','guictrldelete','guictrlgetstate','guictrlread','guictrlrecvmsg','guictrlsendmsg',
+            'guictrlsendtodummy','guictrlsetbkcolor','guictrlsetcolor','guictrlsetcursor','guictrlsetdata',
+            'guictrlsetfont','guictrlsetimage','guictrlsetlimit','guictrlsetonevent','guictrlsetpos','guictrlsetresizing',
+            'guictrlsetstate','guictrlsetstyle','guictrlsettip','guidelete','guigetcursorinfo','guigetmsg',
+            'guisetbkcolor','guisetcoord','guisetcursor','guisetfont','guisethelp','guiseticon','guisetonevent',
+            'guisetstate','guistartgroup','guiswitch','hex','hotkeyset','httpsetproxy','inetget','inetgetsize',
+            'inidelete','iniread','inireadsection','inireadsectionnames','iniwrite','inputbox','int','isadmin',
+            'isarray','isdeclared','isfloat','isint','isnumber','isstring','log','memgetstats','mod','mouseclick',
+            'mouseclickdrag','mousedown','mousegetcursor','mousegetpos','mousemove','mouseup','mousewheel',
+            'msgbox','number','opt','ping','pixelchecksum','pixelgetcolor','pixelsearch','processclose','processexists',
+            'processlist','processsetpriority','processwait','processwaitclose','progressoff','progresson',
+            'progressset','random','regdelete','regenumkey','regenumval','regread','regwrite','round','run','runasset',
+            'runwait','send','seterror','setextended','shutdown','sin','sleep','soundplay','soundsetwavevolume',
+            'splashimageon','splashoff','splashtexton','sqrt','statusbargettext','string','stringaddcr','stringformat',
+            'stringinstr','stringisalnum','stringisalpha','stringisascii','stringisdigit','stringisfloat',
+            'stringisint','stringislower','stringisspace','stringisupper','stringisxdigit','stringleft','stringlen',
+            'stringlower','stringmid','stringregexp','stringregexpreplace','stringreplace','stringright',
+            'stringsplit','stringstripcr','stringstripws','stringtrimleft','stringtrimright','stringupper',
+            'tan','timerdiff','timerinit','timerstart','timerstop','tooltip','traytip','ubound','winactivate','winactive',
+            'winclose','winexists','wingetcaretpos','wingetclasslist','wingetclientsize','wingethandle','wingetpos',
+            'wingetprocess','wingetstate','wingettext','wingettitle','winkill','winlist','winmenuselectitem',
+            'winminimizeall','winminimizeallundo','winmove','winsetontop','winsetstate','winsettitle','winsettrans',
+            'winshow','winwait','winwaitactive','winwaitclose','winwaitnotactive'
+			)
+        ),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '&', '*', '/', '<', '>', '+', '-', '^', '='
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000FF; font-weight: bold;',
+			2 => 'color: #FF33FF; font-weight: bold;',
+			3 => 'color: #000090; font-style: italic; font-weight: bold;',
+			),
+		'COMMENTS' => array(
+			0 => 'font-style: italic; color: #669900;', 'MULTI' => 'font-style: italic; color: #669900;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => ''
+			),
+		'BRACKETS' => array(
+			0 => 'color: #FF0000; font-weight: bold;'
+			),
+		'STRINGS' => array(
+			0 => 'font-weight: bold; color: #9999CC;'
+			),
+		'NUMBERS' => array(
+			0 => 'font-style: italic; font-weight: bold; color: #AC00A9;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #FF0000; font-weight: bold;'
+			),
+		'REGEXPS' => array(
+			0 => 'font-weight: bold; color: #AA0000;'
+			),
+		'SCRIPT' => array(
+			0 => '',
+			1 => '',
+			2 => '',
+			3 => ''
+			)
+		),
+	'URLS' => array(
+		1 => 'http://www.autoitscript.com/autoit3/docs/keywords.htm',
+		2 => 'http://www.autoitscript.com/autoit3/docs/macros.htm',
+		3 => 'http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm',
+		4 => ''
+		),
+
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*",
+		),
+	'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+/*	'SCRIPT_DELIMITERS' => array(
+		0 => array(
+			'<?php' => '?>'
+			),
+		1 => array(
+			'<?' => '?>'
+			),
+		2 => array(
+			'<%' => '%>'
+			),
+		3 => array(
+			'<script language="php">' => '</script>'
+			)
+		),*/
+
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		0 => true,
+		1 => true,
+		2 => true,
+		3 => true
+		)
+);
+
+?>
+
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/bash.php 0.763/modules/pn_bbcode/pnincludes/geshi/bash.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/bash.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/bash.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * --------
  * Author: Andreas Gohr (andi@splitbrain.org)
  * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/08/20
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * BASH language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/blitzbasic.php 0.763/modules/pn_bbcode/pnincludes/geshi/blitzbasic.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/blitzbasic.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/blitzbasic.php	2006-10-17 16:24:08.000000000 -0500
@@ -2,12 +2,12 @@
 /*************************************************************************************
  * blitzbasic.php
  * --------------
- * Author: Pdraig O`Connel (info@moonsword.info)
- * Copyright: (c) 2005 Pdraig O`Connel (http://moonsword.info)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.1 $
+ * Author: P�draig O`Connel (info@moonsword.info)
+ * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info)
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 16.10.2005
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * BlitzBasic language file for GeSHi.
  *
@@ -17,8 +17,10 @@
  *
  * CHANGES
  * -------
+ * 2005/12/28 (1.0.1)
+ *   -  Remove unnecessary style index for regexps
  * 2005/10/22 (1.0.0)
- *  -  First Release
+ *   -  First Release
  *
  * TODO (updated 2005/10/22)
  * -------------------------
@@ -48,7 +50,7 @@
  ************************************************************************************/
 
  $language_data = array (
-  'LANG_NAME' => 'BLITZ BASIC',
+  'LANG_NAME' => 'BlitzBasic',
   'COMMENT_SINGLE' => array(1 => ';'),
   'COMMENT_MULTI' => array(),
   'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
@@ -159,7 +161,6 @@
       0 => 'color: #000066;'
       ),
     'REGEXPS' => array(
-      0 => 'font-weight: bold;'
       ),
     'SCRIPT' => array(
       0 => '',
@@ -174,7 +175,6 @@
   	1 => '\\'
 	),
   'REGEXPS' => array(
-
   ),
   'STRICT_MODE_APPLIES' => GESHI_NEVER,
   'SCRIPT_DELIMITERS' => array(),
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/c.php 0.763/modules/pn_bbcode/pnincludes/geshi/c.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/c.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/c.php	2006-10-17 16:24:08.000000000 -0500
@@ -6,10 +6,10 @@
  * Contributors:
  *  - Jack Lloyd (lloyd@randombit.net)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * C language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/c_mac.php 0.763/modules/pn_bbcode/pnincludes/geshi/c_mac.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/c_mac.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/c_mac.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ---------
  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
  * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * C for Macs language file for GeSHi.
  *
@@ -40,7 +40,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'C',
+	'LANG_NAME' => 'C (Mac)',
 	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
 	'COMMENT_MULTI' => array('/*' => '*/'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/caddcl.php 0.763/modules/pn_bbcode/pnincludes/geshi/caddcl.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/caddcl.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/caddcl.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/08/30
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * CAD DCL (Dialog Control Language) file for GeSHi.
  *
@@ -44,7 +44,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'CADDCL',
+	'LANG_NAME' => 'CAD DCL',
 	'COMMENT_SINGLE' => array(1 => '//'),
 	'COMMENT_MULTI' => array('/*' => '*/'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/cadlisp.php 0.763/modules/pn_bbcode/pnincludes/geshi/cadlisp.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/cadlisp.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/cadlisp.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/blog)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/08/30
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * AutoCAD/IntelliCAD Lisp language file for GeSHi.
  *
@@ -44,7 +44,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'CADLISP',
+	'LANG_NAME' => 'CAD Lisp',
 	'COMMENT_SINGLE' => array(1 => ";"),
 	'COMMENT_MULTI' => array(";|" => "|;"),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/cfdg.php 0.763/modules/pn_bbcode/pnincludes/geshi/cfdg.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/cfdg.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/cfdg.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,128 @@
+<?php
+/*************************************************************************************
+ * cfdg.php
+ * --------
+ * Author: John Horigan <john@glyphic.com>
+ * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.5.2.2 $
+ * Date Started: 2006/03/11
+ * Last Modified: $Date: 2006/07/22 11:30:26 $
+ *
+ * CFDG language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/03/11 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/03/11)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'CFDG',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'include', 'startshape', 'rule', 'background'
+			),
+		2 => array(
+			'SQUARE', 'CIRCLE', 'TRIANGLE',
+			),
+		3 => array(
+			'b','brightness','h','hue','sat','saturation',
+			'a','alpha','x','y','z','s','size',
+			'r','rotate','f','flip','skew','xml_set_object'
+			)
+		),
+	'SYMBOLS' => array(
+		'[', ']', '{', '}', '*', '|'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #717100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #006666;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			0 => '',
+			1 => '',
+			2 => '',
+			3 => ''
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => '',
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
+
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/cfm.php 0.763/modules/pn_bbcode/pnincludes/geshi/cfm.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/cfm.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/cfm.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,327 @@
+<?php
+/*************************************************************************************
+ * cfm.php
+ * -------
+ * Author: Diego ()
+ * Copyright: (c) 2006 Diego
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
+ * Date Started: 2006/02/25
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
+ *
+ * ColdFusion language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/02/25 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2006/02/25)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'ColdFusion',
+	'COMMENT_SINGLE' => array(1 => '//'),
+	'COMMENT_MULTI' => array('<!--' => '-->','&lt;!---' => '---&gt;'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		/* CFM Tags */
+		1 => array(
+			'&lt;cfabort', '&lt;cfapplet', '&lt;cfapplication', '&lt;cfargument', '&lt;cfassociate', '&lt;&lt;cfbreak&gt;', 
+			'&lt;cfcache', '&lt;cfcase', '&lt;cfcatch', '&lt;/cfcatch&gt;', '&lt;cfchart', '&lt;/cfchart&gt;', '&lt;cfchartdata', 
+			'&lt;cfchartseries', '&lt;/cfchartseries&gt;', '&lt;cfcol', '&lt;cfcollection', '&lt;cfcomponent', '&lt;/cfcomponent&gt;', 
+			'&lt;cfcontent', '&lt;cfcookie', '&lt;/cfdefaultcase&gt;', '&lt;cfdirectory', '&lt;cfdocument', '&lt;/cfdocument&gt;', 
+			'&lt;cfdocumentitem', '&lt;/cfdocumentitem&gt;', '&lt;cfdocumentsection', '&lt;/cfdocumentsection&gt;', '&lt;cfdump', 
+			'&lt;cfelse', '&lt;cfelseif', '&lt;cferror', '&lt;cfexecute', '&lt;/cfexecute&gt;', '&lt;cfexit', '&lt;cffile', 
+			'&lt;cfflush', '&lt;cfform', '&lt;/cfform&gt;', '&lt;cfformgroup', '&lt;/cfformgroup', '&lt;cfformitem', 
+			'&lt;/cfformitem&gt;', '&lt;cfftp', '&lt;cffunction', '&lt;/cffunction&gt;', '&lt;cfgrid', '&lt;/cfgrid&gt;', 
+			'&lt;cfgridcolumn', '&lt;cfgridrow', '&lt;cfgridupdate', '&lt;cfheader', '&lt;cfhtmlhead', '&lt;cfhttp', 
+			'&lt;/cfhttp&gt;', '&lt;cfhttpparam', '&lt;cfif', '&lt;/cfif&gt;', '&lt;cfimport', '&lt;cfinclude', '&lt;cfindex', 
+			'&lt;cfinput', '&lt;cfinsert', '&lt;cfinvoke', '&lt;cfinvokeargument', '&lt;cfldap', '&lt;cflocation', '&lt;cflock', 
+			'&lt;/cflock&gt;', '&lt;cflog', '&lt;cflogin', '&lt;/cflogin&gt;', '&lt;cfloginuser', '&lt;cflogout', '&lt;cfloop', 
+			'&lt;/cfloop&gt;', '&lt;cfmail', '&lt;/cfmail&gt;', '&lt;cfmailparam', '&lt;cfmailpart', '&lt;/cfmailpart&gt;', 
+			'&lt;cfmodule', '&lt;cfNTauthenticate', '&lt;cfobject', '&lt;cfobjectcache', '&lt;cfoutput&gt;', '&lt;cfoutput', '&lt;/cfoutput&gt;', 
+			'&lt;cfparam', '&lt;cfpop', '&lt;cfprocessingdirective', '&lt;/cfprocessingdirective&gt;', '&lt;cfprocparam', 
+			'&lt;cfprocresult', '&lt;cfproperty', '&lt;cfquery', '&lt;/cfquery&gt;', '&lt;cfqueryparam', '&lt;cfregistry', 
+			'&lt;/cfregistry&gt;', '&lt;cfreport', '&lt;/cfreport&gt;', '&lt;cfreportparam', '&lt;/cfreportparam&gt;', 
+			'&lt;cfrethrow', '&lt;cfreturn', '&lt;cfsavecontent', '&lt;/cfsavecontent&gt;', '&lt;cfschedule', '&lt;cfscript', '&lt;cfscript&gt;',
+			'&lt;/cfscript&gt;', '&lt;cfsearch', '&lt;cfselect', '&lt;/cfselect&gt;', '&lt;cfset', '&lt;cfsetting', '&lt;cfsilent', 
+			'&lt;/cfsilent&gt;', '&lt;cfstoredproc', '&lt;/cfstoredproc&gt;', '&lt;cfswitch', '&lt;/cfswitch&gt;', '&lt;cftable', 
+			'&lt;/cftable&gt;', '&lt;cftextarea', '&lt;/cftextarea&gt;', '&lt;cfthrow', '&lt;cftimer', '&lt;/cftimer&gt;', 
+			'&lt;cftrace', '&lt;/cftrace&gt;', '&lt;cftransaction', '&lt;/cftransaction&gt;', '&lt;cftree', '&lt;/cftree&gt;', 
+			'&lt;cftreeitem', '&lt;cftry', '&lt;/cftry&gt;', '&lt;cfupdate', '&lt;cfwddx','&lt;','&gt;'
+			),
+		/* HTML Tags */
+		2 => array(
+			'&lt;a&gt;', '&lt;abbr&gt;', '&lt;acronym&gt;', '&lt;address&gt;', '&lt;applet&gt;',
+			'&lt;a', '&lt;abbr', '&lt;acronym', '&lt;address', '&lt;applet',
+			'&lt;/a&gt;', '&lt;/abbr&gt;', '&lt;/acronym&gt;', '&lt;/address&gt;', '&lt;/applet&gt;',
+			'&lt;/a', '&lt;/abbr', '&lt;/acronym', '&lt;/address', '&lt;/applet',
+
+			'&lt;base&gt;', '&lt;basefont&gt;', '&lt;bdo&gt;', '&lt;big&gt;', '&lt;blockquote&gt;', '&lt;body&gt;', '&lt;br&gt;', '&lt;button&gt;', '&lt;b&gt;',
+			'&lt;base', '&lt;basefont', '&lt;bdo', '&lt;big', '&lt;blockquote', '&lt;body', '&lt;br', '&lt;button', '&lt;b',
+			'&lt;/base&gt;', '&lt;/basefont&gt;', '&lt;/bdo&gt;', '&lt;/big&gt;', '&lt;/blockquote&gt;', '&lt;/body&gt;', '&lt;/br&gt;', '&lt;/button&gt;', '&lt;/b&gt;',
+			'&lt;/base', '&lt;/basefont', '&lt;/bdo', '&lt;/big', '&lt;/blockquote', '&lt;/body', '&lt;/br','&lt;br /&gt;', '&lt;/button', '&lt;/b',
+
+			'&lt;caption&gt;', '&lt;center&gt;', '&lt;cite&gt;', '&lt;code&gt;', '&lt;colgroup&gt;', '&lt;col&gt;',
+			'&lt;caption', '&lt;center', '&lt;cite', '&lt;code', '&lt;colgroup', '&lt;col',
+			'&lt;/caption&gt;', '&lt;/center&gt;', '&lt;/cite&gt;', '&lt;/code&gt;', '&lt;/colgroup&gt;', '&lt;/col&gt;',
+			'&lt;/caption', '&lt;/center', '&lt;/cite', '&lt;/code', '&lt;/colgroup', '&lt;/col',
+
+			'&lt;dd&gt;', '&lt;del&gt;', '&lt;dfn&gt;', '&lt;dir&gt;', '&lt;div&gt;', '&lt;dl&gt;', '&lt;dt&gt;',
+			'&lt;dd', '&lt;del', '&lt;dfn', '&lt;dir', '&lt;div', '&lt;dl', '&lt;dt',
+			'&lt;/dd&gt;', '&lt;/del&gt;', '&lt;/dfn&gt;', '&lt;/dir&gt;', '&lt;/div&gt;', '&lt;/dl&gt;', '&lt;/dt&gt;',
+			'&lt;/dd', '&lt;/del', '&lt;/dfn', '&lt;/dir', '&lt;/div', '&lt;/dl', '&lt;/dt',
+
+			'&lt;em&gt;',
+			'&lt;em',
+			'&lt;/em&gt;',
+			'&lt;/em',
+
+			'&lt;fieldset&gt;', '&lt;font&gt;', '&lt;form&gt;', '&lt;frame&gt;', '&lt;frameset&gt;',
+			'&lt;fieldset', '&lt;font', '&lt;form', '&lt;frame', '&lt;frameset',
+			'&lt;/fieldset&gt;', '&lt;/font&gt;', '&lt;/form&gt;', '&lt;/frame&gt;', '&lt;/frameset&gt;',
+			'&lt;/fieldset', '&lt;/font', '&lt;/form', '&lt;/frame', '&lt;/frameset',
+
+			'&lt;h1&gt;', '&lt;h2&gt;', '&lt;h3&gt;', '&lt;h4&gt;', '&lt;h5&gt;', '&lt;h6&gt;', '&lt;head&gt;', '&lt;hr&gt;', '&lt;html&gt;',
+			'&lt;h1', '&lt;h2', '&lt;h3', '&lt;h4', '&lt;h5', '&lt;h6', '&lt;head', '&lt;hr', '&lt;html',
+			'&lt;/h1&gt;', '&lt;/h2&gt;', '&lt;/h3&gt;', '&lt;/h4&gt;', '&lt;/h5&gt;', '&lt;/h6&gt;', '&lt;/head&gt;', '&lt;/hr&gt;', '&lt;/html&gt;',
+			'&lt;/h1', '&lt;/h2', '&lt;/h3', '&lt;/h4', '&lt;/h5', '&lt;/h6', '&lt;/head', '&lt;/hr', '&lt;/html',
+
+			'&lt;iframe&gt;', '&lt;ilayer&gt;', '&lt;img&gt;', '&lt;input&gt;', '&lt;ins&gt;', '&lt;isindex&gt;', '&lt;i&gt;',
+			'&lt;iframe', '&lt;ilayer', '&lt;img', '&lt;input', '&lt;ins', '&lt;isindex', '&lt;i',
+			'&lt;/iframe&gt;', '&lt;/ilayer&gt;', '&lt;/img&gt;', '&lt;/input&gt;', '&lt;/ins&gt;', '&lt;/isindex&gt;', '&lt;/i&gt;',
+			'&lt;/iframe', '&lt;/ilayer', '&lt;/img', '&lt;/input', '&lt;/ins', '&lt;/isindex', '&lt;/i',
+
+			'&lt;kbd&gt;',
+			'&lt;kbd',
+			'&t;/kbd&gt;',
+			'&lt;/kbd',
+
+			'&lt;label&gt;', '&lt;legend&gt;', '&lt;link&gt;', '&lt;li&gt;',
+			'&lt;label', '&lt;legend', '&lt;link', '&lt;li',
+			'&lt;/label&gt;', '&lt;/legend&gt;', '&lt;/link&gt;', '&lt;/li&gt;',
+			'&lt;/label', '&lt;/legend', '&lt;/link', '&lt;/li',
+
+			'&lt;map&gt;', '&lt;meta&gt;',
+			'&lt;map', '&lt;meta',
+			'&lt;/map&gt;', '&lt;/meta&gt;',
+			'&lt;/map', '&lt;/meta',
+
+			'&lt;noframes&gt;', '&lt;noscript&gt;',
+			'&lt;noframes', '&lt;noscript',
+			'&lt;/noframes&gt;', '&lt;/noscript&gt;',
+			'&lt;/noframes', '&lt;/noscript',
+
+			'&lt;object&gt;', '&lt;ol&gt;', '&lt;optgroup&gt;', '&lt;option&gt;',
+			'&lt;object', '&lt;ol', '&lt;optgroup', '&lt;option',
+			'&lt;/object&gt;', '&lt;/ol&gt;', '&lt;/optgroup&gt;', '&lt;/option&gt;',
+			'&lt;/object', '&lt;/ol', '&lt;/optgroup', '&lt;/option',
+
+			'&lt;param&gt;', '&lt;pre&gt;', '&lt;p&gt;',
+			'&lt;param', '&lt;pre', '&lt;p',
+			'&lt;/param&gt;', '&lt;/pre&gt;', '&lt;/p&gt;',
+			'&lt;/param', '&lt;/pre', '&lt;/p',
+
+			'&lt;q&gt;',
+			'&lt;q',
+			'&lt;/q&gt;',
+			'&lt;/q',
+
+			'&lt;samp&gt;', '&lt;script&gt;', '&lt;select&gt;', '&lt;small&gt;', '&lt;span&gt;', '&lt;strike&gt;', '&lt;strong&gt;', '&lt;style&gt;', '&lt;sub&gt;', '&lt;sup&gt;', '&lt;s&gt;',
+			'&lt;samp', '&lt;script', '&lt;select', '&lt;small', '&lt;span', '&lt;strike', '&lt;strong', '&lt;style', '&lt;sub', '&lt;sup', '&lt;s',
+			'&lt;/samp&gt;', '&lt;/script&gt;', '&lt;/select&gt;', '&lt;/small&gt;', '&lt;/span&gt;', '&lt;/strike&gt;', '&lt;/strong&gt;', '&lt;/style&gt;', '&lt;/sub&gt;', '&lt;/sup&gt;', '&lt;/s&gt;',
+			'&lt;/samp', '&lt;/script', '&lt;/select', '&lt;/small', '&lt;/span', '&lt;/strike', '&lt;/strong', '&lt;/style', '&lt;/sub', '&lt;/sup', '&lt;/s',
+
+			'&lt;table&gt;', '&lt;tbody&gt;', '&lt;td&gt;', '&lt;textarea&gt;', '&lt;text&gt;', '&lt;tfoot&gt;', '&lt;thead&gt;', '&lt;th&gt;', '&lt;title&gt;', '&lt;tr&gt;', '&lt;tt&gt;',
+			'&lt;table', '&lt;tbody', '&lt;td', '&lt;textarea', '&lt;text', '&lt;tfoot', '&lt;tfoot', '&lt;thead', '&lt;th', '&lt;title', '&lt;tr', '&lt;tt',
+			'&lt;/table&gt;', '&lt;/tbody&gt;', '&lt;/td&gt;', '&lt;/textarea&gt;', '&lt;/text&gt;', '&lt;/tfoot&gt;', '&lt;/thead', '&lt;/tfoot', '&lt;/th&gt;', '&lt;/title&gt;', '&lt;/tr&gt;', '&lt;/tt&gt;',
+			'&lt;/table', '&lt;/tbody', '&lt;/td', '&lt;/textarea', '&lt;/text', '&lt;/tfoot', '&lt;/tfoot', '&lt;/thead', '&lt;/th', '&lt;/title', '&lt;/tr', '&lt;/tt',
+
+			'&lt;ul&gt;', '&lt;u&gt;',
+			'&lt;ul', '&lt;u',
+			'&lt;/ul&gt;', '&lt;/ul&gt;',
+			'&lt;/ul', '&lt;/u',
+
+			'&lt;var&gt;',
+			'&lt;var',
+			'&lt;/var&gt;',
+			'&lt;/var',
+
+			'&gt;', '&lt;'
+			),
+		/* HTML attributes */
+		3 => array(
+			'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+			'background', 'bgcolor', 'border',
+			'cellpadding', 'cellspacing', 'char', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+			'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+			'enctype',
+			'face', 'for', 'frame', 'frameborder',
+			'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+			'id', 'ismap',
+			'label', 'lang', 'language', 'link', 'longdesc',
+			'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+			'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+			'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+			'profile', 'prompt',
+			'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+			'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+			'tabindex', 'target', 'text', 'title', 'type',
+			'usemap',
+			'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+			'width'
+			),
+			/* CFM Script delimeters */
+		4 => array(
+			'var', 'function', 'while', 'if','else'
+			),
+			/* CFM Functions */
+		5 => array(
+			'Abs', 'GetFunctionList', 'LSTimeFormat','ACos','GetGatewayHelper','LTrim','AddSOAPRequestHeader','GetHttpRequestData',
+			'Max','AddSOAPResponseHeader','GetHttpTimeString','Mid','ArrayAppend','GetLocale','Min','ArrayAvg','GetLocaleDisplayName',
+			'Minute','ArrayClear','GetMetaData','Month','ArrayDeleteAt','GetMetricData','MonthAsString','ArrayInsertAt','GetPageContext',
+			'Now','ArrayIsEmpty','GetProfileSections','NumberFormat','ArrayLen','GetProfileString','ParagraphFormat','ArrayMax',
+			'GetLocalHostIP','ParseDateTime','ArrayMin','GetSOAPRequest','Pi','ArrayNew','GetSOAPRequestHeader','PreserveSingleQuotes',
+			'ArrayPrepend','GetSOAPResponse','Quarter','ArrayResize','GetSOAPResponseHeader','QueryAddColumn','ArraySet',
+			'GetTempDirectory','QueryAddRow','ArraySort','GetTempDirectory','QueryNew','ArraySum','GetTempFile','QuerySetCell',
+			'ArraySwap','GetTickCount','QuotedValueList','ArrayToList','GetTimeZoneInfo','Rand','Asc','GetToken','Randomize',
+			'ASin','Hash','RandRange','Atn','Hour','REFind','BinaryDecode','HTMLCodeFormat','REFindNoCase','BinaryEncode',
+			'HTMLEditFormat','ReleaseComObject','BitAnd','IIf','RemoveChars','BitMaskClear','IncrementValue','RepeatString',
+			'BitMaskRead','InputBaseN','Replace','BitMaskSet','Insert','ReplaceList','BitNot','Int','ReplaceNoCase','BitOr',
+			'IsArray','REReplace','BitSHLN','IsBinary','REReplaceNoCase','BitSHRN','IsBoolean','Reverse','BitXor','IsCustomFunction',
+			'Right','Ceiling','IsDate','RJustify','CharsetDecode','IsDebugMode','Round','CharsetEncode','IsDefined','RTrim',
+			'Chr','IsLeapYear','Second','CJustify','IsLocalHost','SendGatewayMessage','Compare','IsNumeric','SetEncoding',
+			'CompareNoCase','IsNumericDate','SetLocale','Cos','IsObject','SetProfileString','CreateDate','IsQuery','SetVariable',
+			'CreateDateTime','IsSimpleValue','Sgn','CreateObject','IsSOAPRequest','Sin','CreateODBCDate','IsStruct','SpanExcluding',
+			'CreateODBCDateTime','IsUserInRole','SpanIncluding','CreateODBCTime','IsValid','Sqr','CreateTime','IsWDDX','StripCR',
+			'CreateTimeSpan','IsXML','StructAppend','CreateUUID','IsXmlAttribute','StructClear','DateAdd','IsXmlDoc','StructCopy',
+			'DateCompare','IsXmlElem','StructCount','DateConvert','IsXmlNode','StructDelete','DateDiff','IsXmlRoot','StructFind',
+			'DateFormat','JavaCast','StructFindKey','DatePart','JSStringFormat','StructFindValue','Day','LCase','StructGet',
+			'DayOfWeek','Left','StructInsert','DayOfWeekAsString','Len','StructIsEmpty','DayOfYear','ListAppend','StructKeyArray',
+			'DaysInMonth','ListChangeDelims','StructKeyExists','DaysInYear','ListContains','StructKeyList','DE','ListContainsNoCase',
+			'StructNew','DecimalFormat','ListDeleteAt','StructSort','DecrementValue','ListFind','StructUpdate','Decrypt','ListFindNoCase',
+			'Tan','DecryptBinary','ListFirst','TimeFormat','DeleteClientVariable','ListGetAt','ToBase64','DirectoryExists',
+			'ListInsertAt','ToBinary','DollarFormat','ListLast','ToScript','Duplicate','ListLen','ToString','Encrypt','ListPrepend',
+			'Trim','EncryptBinary','ListQualify','UCase','Evaluate','ListRest','URLDecode','Exp','ListSetAt','URLEncodedFormat',
+			'ExpandPath','ListSort','URLSessionFormat','FileExists','ListToArray','Val','Find','ListValueCount','ValueList',
+			'FindNoCase','ListValueCountNoCase','Week','FindOneOf','LJustify','Wrap','FirstDayOfMonth','Log','WriteOutput',
+			'Fix','Log10','XmlChildPos','FormatBaseN','LSCurrencyFormat','XmlElemNew','GetAuthUser','LSDateFormat','XmlFormat',
+			'GetBaseTagData','LSEuroCurrencyFormat','XmlGetNodeType','GetBaseTagList','LSIsCurrency','XmlNew','GetBaseTemplatePath',
+			'LSIsDate','XmlParse','GetClientVariablesList','LSIsNumeric','XmlSearch','GetCurrentTemplatePath','LSNumberFormat',
+			'XmlTransform','GetDirectoryFromPath','LSParseCurrency','XmlValidate','GetEncoding','LSParseDateTime','Year',
+			'GetException','LSParseEuroCurrency','YesNoFormat','GetFileFromPath','LSParseNumber'
+			),
+		/* CFM Attributes */
+		6 => array(
+			'=','&amp;','name','dbtype','connectstring','datasource','username','password','query','delimeter','description','required','hint','default','access','from','to','list','index'
+			)
+		),
+	'SYMBOLS' => array(
+		'/', '=', 'EQ', 'GT', 'LT', 'GTE', 'LTE', 'IS', 'LIKE', '&', '{', '}', '(', ')', '[', ']','gt','lt'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+        5 => false,
+        6 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #990000;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #0000FF;',
+			4 => 'color: #000000; font-weight: bold;',
+			5 => 'color: #0000FF;',
+			6 => 'color: #0000FF'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic; background-color:#FFFF99;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #0000FF;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #009900;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #FF0000;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #0000FF;'
+			),
+		'SCRIPT' => array(
+			0 => 'color: #00bbdd;',
+			1 => 'color: #0000FF;',
+			2 => 'color: #000099;',
+			3 => 'color: #333333;'
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+	'SCRIPT_DELIMITERS' => array(
+		0 => array(
+			'<!DOCTYPE' => '>'
+			),
+		1 => array(
+			 '#' => '#'
+			),
+		2 => array(
+			'<cfscript>' => '</cfscript>;'
+			),
+		3 => array(
+			'<' => '>'
+			)
+	),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		0 => false,
+		1 => true,
+		2 => true,
+		3 => true
+		)
+);
+
+?>
\ No newline at end of file
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/cpp.php 0.763/modules/pn_bbcode/pnincludes/geshi/cpp.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/cpp.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/cpp.php	2006-10-17 16:24:08.000000000 -0500
@@ -7,10 +7,10 @@
  *  - M. Uli Kusterer (witness.of.teachtext@gmx.net)
  *  - Jack Lloyd (lloyd@randombit.net)
  * Copyright: (c) 2004 Dennis Bayer, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/09/27
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * C++ language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/csharp.php 0.763/modules/pn_bbcode/pnincludes/geshi/csharp.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/csharp.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/csharp.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,17 @@
  * ----------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * C# language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2005/01/05 (1.0.1)
+ *  -  Used hardquote support for @"..." strings (Cliff Stanford)
  * 2004/11/27 (1.0.0)
  *  -  Initial release
  *
@@ -40,11 +42,13 @@
  ************************************************************************************/
 
  $language_data = array (
-	'LANG_NAME' => 'CSharp',
+	'LANG_NAME' => 'C#',
 	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
 	'COMMENT_MULTI' => array('/*' => '*/'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
 	'QUOTEMARKS' => array("'", '"'),
+    'HARDQUOTE' => array('@"', '"'),
+    'HARDESCAPE' => array('""'),
 	'ESCAPE_CHAR' => '\\',
 	'KEYWORDS' => array(
 		1 => array(
@@ -226,4 +230,4 @@
 		)
 );
 
-?>
\ No newline at end of file
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/css.php 0.763/modules/pn_bbcode/pnincludes/geshi/css.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/css.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/css.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -------
  * Author: Nigel McNie (oracle.shinoda@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 101 $
  * Date Started: 2004/06/18
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:12:44 +0100 (Tue, 05 Sep 2006) $
  *
  * CSS language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/d.php 0.763/modules/pn_bbcode/pnincludes/geshi/d.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/d.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/d.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -----
  * Author: Thomas Kuehne (thomas@kuehne.cn)
  * Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.3 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 102 $
  * Date Started: 2005/04/22
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:14:40 +0100 (Tue, 05 Sep 2006) $
  *
  * D language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/delphi.php 0.763/modules/pn_bbcode/pnincludes/geshi/delphi.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/delphi.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/delphi.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,17 @@
  * ----------
  * Author: Jrja Norbert (jnorbi@vipmail.hu)
  * Copyright: (c) 2004 Jrja Norbert, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 102 $
  * Date Started: 2004/07/26
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:14:40 +0100 (Tue, 05 Sep 2006) $
  *
  * Delphi (Object Pascal) language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2005/11/19 (1.0.3)
+ *   -  Updated the very incomplete keyword and type lists
  * 2005/09/03 (1.0.2)
  *   -  Added support for hex numbers and string entities
  * 2004/11/27 (1.0.1)
@@ -44,122 +46,227 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Delphi',
-	'COMMENT_SINGLE' => array(1 => '//'),
-	'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
-	'CASE_KEYWORDS' => 0,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'And', 'Array', 'As', 'Begin', 'Case', 'Class', 'Constructor', 'Destructor', 'Div', 'Do', 'DownTo', 'Else',
-			'End', 'Except', 'File', 'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited', 'Interface',
-			'Is', 'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Packed', 'Procedure', 'Program', 'Property', 'Raise', 'Record',
-			'Repeat', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar', 'To', 'Try', 'Unit', 'Until', 'Uses', 'While', 'With', 'Xor'
-			),
-		2 => array(
-			'nil', 'false', 'true', 'var', 'type', 'const'
-			),
-		3 => array(
-			'Abs', 'Addr', 'AnsiCompareStr', 'AnsiCompareText', 'AnsiContainsStr', 'AnsiEndsStr', 'AnsiIndexStr', 'AnsiLeftStr',
-			'AnsiLowerCase', 'AnsiMatchStr', 'AnsiMidStr', 'AnsiPos', 'AnsiReplaceStr', 'AnsiReverseString', 'AnsiRightStr',
-			'AnsiStartsStr', 'AnsiUpperCase', 'ArcCos', 'ArcSin', 'ArcTan', 'Assigned', 'BeginThread', 'Bounds', 'CelsiusToFahrenheit',
-			'ChangeFileExt', 'Chr', 'CompareStr', 'CompareText', 'Concat', 'Convert', 'Copy', 'Cos', 'CreateDir', 'CurrToStr',
-			'CurrToStrF', 'Date', 'DateTimeToFileDate', 'DateTimeToStr', 'DateToStr', 'DayOfTheMonth', 'DayOfTheWeek', 'DayOfTheYear',
-			'DayOfWeek', 'DaysBetween', 'DaysInAMonth', 'DaysInAYear', 'DaySpan', 'DegToRad', 'DeleteFile', 'DiskFree', 'DiskSize',
-			'DupeString', 'EncodeDate', 'EncodeDateTime', 'EncodeTime', 'EndOfADay', 'EndOfAMonth', 'Eof', 'Eoln', 'Exp', 'ExtractFileDir',
-			'ExtractFileDrive', 'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath', 'FahrenheitToCelsius', 'FileAge',
-			'FileDateToDateTime', 'FileExists', 'FilePos', 'FileSearch', 'FileSetDate', 'FileSize', 'FindClose', 'FindCmdLineSwitch',
-			'FindFirst', 'FindNext', 'FloatToStr', 'FloatToStrF', 'Format', 'FormatCurr', 'FormatDateTime', 'FormatFloat', 'Frac',
-			'GetCurrentDir', 'GetLastError', 'GetMem', 'High', 'IncDay', 'IncMinute', 'IncMonth', 'IncYear', 'InputBox',
-			'InputQuery', 'Int', 'IntToHex', 'IntToStr', 'IOResult', 'IsInfinite', 'IsLeapYear', 'IsMultiThread', 'IsNaN',
-			'LastDelimiter', 'Length', 'Ln', 'Lo', 'Log10', 'Low', 'LowerCase', 'Max', 'Mean', 'MessageDlg', 'MessageDlgPos',
-			'MonthOfTheYear', 'Now', 'Odd', 'Ord', 'ParamCount', 'ParamStr', 'Pi', 'Point', 'PointsEqual', 'Pos', 'Pred',
-			'Printer', 'PromptForFileName', 'PtInRect', 'RadToDeg', 'Random', 'RandomRange', 'RecodeDate', 'RecodeTime', 'Rect',
-			'RemoveDir', 'RenameFile', 'Round', 'SeekEof', 'SeekEoln', 'SelectDirectory', 'SetCurrentDir', 'Sin', 'SizeOf',
-			'Slice', 'Sqr', 'Sqrt', 'StringOfChar', 'StringReplace', 'StringToWideChar', 'StrToCurr', 'StrToDate', 'StrToDateTime',
-			'StrToFloat', 'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime', 'StuffString', 'Succ', 'Sum', 'Tan',
-			'Time', 'TimeToStr', 'Tomorrow', 'Trunc', 'UpCase', 'UpperCase', 'VarType', 'WideCharToString', 'WrapText', 'Yesterday',
+    'LANG_NAME' => 'Delphi',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
+    'CASE_KEYWORDS' => 0,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'Abstract', 'And', 'Array', 'As', 'Asm', 'At', 'Begin', 'Case', 'Class',
+            'Const', 'Constructor', 'Contains', 'Destructor', 'DispInterface', 'Div',
+            'Do', 'DownTo', 'Else', 'End', 'Except', 'File', 'Finalization',
+            'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In',
+            'Inherited', 'Initialization', 'Inline', 'Interface', 'Is', 'Label',
+            'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Overload', 'Override',
+            'Package', 'Packed', 'Private', 'Procedure', 'Program', 'Property',
+            'Protected', 'Public', 'Published', 'Raise', 'Record', 'Repeat',
+            'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar',
+            'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var', 'Virtual', 'While',
+            'With', 'Xor', 'assembler', 'cdecl', 'far', 'near', 'pascal', 'register',
+            'safecall', 'stdcall', 'varargs'
+            ),
+        2 => array(
+            'nil', 'false', 'self', 'true', 'var', 'type', 'const'
+            ),
+        3 => array(
+            'Abs', 'AcquireExceptionObject', 'Addr', 'AnsiToUtf8', 'Append', 'ArcTan',
+            'Assert', 'AssignFile', 'Assigned', 'BeginThread', 'BlockRead',
+            'BlockWrite', 'Break', 'ChDir', 'Chr', 'Close', 'CloseFile',
+            'CompToCurrency', 'CompToDouble', 'Concat', 'Continue', 'Copy', 'Cos',
+            'Dec', 'Delete', 'Dispose', 'DoubleToComp', 'EndThread', 'EnumModules',
+            'EnumResourceModules', 'Eof', 'Eoln', 'Erase', 'ExceptAddr',
+            'ExceptObject', 'Exclude', 'Exit', 'Exp', 'FilePos', 'FileSize',
+            'FillChar', 'Finalize', 'FindClassHInstance', 'FindHInstance',
+            'FindResourceHInstance', 'Flush', 'Frac', 'FreeMem', 'Get8087CW',
+            'GetDir', 'GetLastError', 'GetMem', 'GetMemoryManager',
+            'GetModuleFileName', 'GetVariantManager', 'Halt', 'Hi', 'High',
+            'IOResult', 'Inc', 'Include', 'Initialize', 'Insert', 'Int',
+            'IsMemoryManagerSet', 'IsVariantManagerSet', 'Length', 'Ln', 'Lo', 'Low',
+            'MkDir', 'Move', 'New', 'Odd', 'OleStrToStrVar', 'OleStrToString', 'Ord',
+            'PUCS4Chars', 'ParamCount', 'ParamStr', 'Pi', 'Pos', 'Pred', 'Ptr',
+            'Random', 'Randomize', 'Read', 'ReadLn', 'ReallocMem',
+            'ReleaseExceptionObject', 'Rename', 'Reset', 'Rewrite', 'RmDir', 'Round',
+            'RunError', 'Seek', 'SeekEof', 'SeekEoln', 'Set8087CW', 'SetLength',
+            'SetLineBreakStyle', 'SetMemoryManager', 'SetString', 'SetTextBuf',
+            'SetVariantManager', 'Sin', 'SizeOf', 'Slice', 'Sqr', 'Sqrt', 'Str',
+            'StringOfChar', 'StringToOleStr', 'StringToWideChar', 'Succ', 'Swap',
+            'Trunc', 'Truncate', 'TypeInfo', 'UCS4StringToWideString', 'UTF8Decode',
+            'UTF8Encode', 'UnicodeToUtf8', 'UniqueString', 'UpCase', 'Utf8ToAnsi',
+            'Utf8ToUnicode', 'Val', 'VarArrayRedim', 'VarClear',
+            'WideCharLenToStrVar', 'WideCharLenToString', 'WideCharToStrVar',
+            'WideCharToString', 'WideStringToUCS4String', 'Write', 'WriteLn',
 
-			'Append', 'AppendStr', 'Assign', 'AssignFile', 'AssignPrn', 'Beep', 'BlockRead', 'BlockWrite', 'Break',
-			'ChDir', 'Close', 'CloseFile', 'Continue', 'DateTimeToString', 'Dec', 'DecodeDate', 'DecodeDateTime',
-			'DecodeTime', 'Delete', 'Dispose', 'EndThread', 'Erase', 'Exclude', 'Exit', 'FillChar', 'Flush', 'FreeAndNil',
-			'FreeMem', 'GetDir', 'GetLocaleFormatSettings', 'Halt', 'Inc', 'Include', 'Insert', 'MkDir', 'Move', 'New',
-			'ProcessPath', 'Randomize', 'Read', 'ReadLn', 'ReallocMem', 'Rename', 'ReplaceDate', 'ReplaceTime',
-			'Reset', 'ReWrite', 'RmDir', 'RunError', 'Seek', 'SetLength', 'SetString', 'ShowMessage', 'ShowMessageFmt',
-			'ShowMessagePos', 'Str', 'Truncate', 'Val', 'Write', 'WriteLn'
-			),
-		4 => array(
-			'AnsiChar', 'AnsiString', 'Boolean', 'Byte', 'Cardinal', 'Char', 'Comp', 'Currency', 'Double', 'Extended',
-			'Int64', 'Integer', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PChar', 'PCurrency', 'PDateTime',
-			'PExtended', 'PInt64', 'Pointer', 'PShortString', 'PString', 'PVariant', 'PWideChar', 'PWideString',
-			'Real', 'Real48', 'ShortInt', 'ShortString', 'Single', 'SmallInt', 'String', 'TBits', 'TConvType', 'TDateTime',
-			'Text', 'TextFile', 'TFloatFormat', 'TFormatSettings', 'TList', 'TObject', 'TOpenDialog', 'TPoint',
-			'TPrintDialog', 'TRect', 'TReplaceFlags', 'TSaveDialog', 'TSearchRec', 'TStringList', 'TSysCharSet',
-			'TThreadFunc', 'Variant', 'WideChar', 'WideString', 'Word'
-			),
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #000000; font-weight: bold;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #000066;',
-			4 => 'color: #993333;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;'
-			),
-		'REGEXPS' => array(
+            'Abort', 'AddExitProc', 'AddTerminateProc', 'AdjustLineBreaks', 'AllocMem',
+            'AnsiCompareFileName', 'AnsiCompareStr', 'AnsiCompareText',
+            'AnsiDequotedStr', 'AnsiExtractQuotedStr', 'AnsiLastChar',
+            'AnsiLowerCase', 'AnsiLowerCaseFileName', 'AnsiPos', 'AnsiQuotedStr',
+            'AnsiSameStr', 'AnsiSameText', 'AnsiStrComp', 'AnsiStrIComp',
+            'AnsiStrLComp', 'AnsiStrLIComp', 'AnsiStrLastChar', 'AnsiStrLower',
+            'AnsiStrPos', 'AnsiStrRScan', 'AnsiStrScan', 'AnsiStrUpper',
+            'AnsiUpperCase', 'AnsiUpperCaseFileName', 'AppendStr', 'AssignStr',
+            'Beep', 'BoolToStr', 'ByteToCharIndex', 'ByteToCharLen', 'ByteType',
+            'CallTerminateProcs', 'ChangeFileExt', 'CharLength', 'CharToByteIndex',
+            'CharToByteLen', 'CompareMem', 'CompareStr', 'CompareText', 'CreateDir',
+            'CreateGUID', 'CurrToStr', 'CurrToStrF', 'CurrentYear', 'Date',
+            'DateTimeToFileDate', 'DateTimeToStr', 'DateTimeToString',
+            'DateTimeToSystemTime', 'DateTimeToTimeStamp', 'DateToStr', 'DayOfWeek',
+            'DecodeDate', 'DecodeDateFully', 'DecodeTime', 'DeleteFile',
+            'DirectoryExists', 'DiskFree', 'DiskSize', 'DisposeStr', 'EncodeDate',
+            'EncodeTime', 'ExceptionErrorMessage', 'ExcludeTrailingBackslash',
+            'ExcludeTrailingPathDelimiter', 'ExpandFileName', 'ExpandFileNameCase',
+            'ExpandUNCFileName', 'ExtractFileDir', 'ExtractFileDrive',
+            'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath',
+            'ExtractRelativePath', 'ExtractShortPathName', 'FileAge', 'FileClose',
+            'FileCreate', 'FileDateToDateTime', 'FileExists', 'FileGetAttr',
+            'FileGetDate', 'FileIsReadOnly', 'FileOpen', 'FileRead', 'FileSearch',
+            'FileSeek', 'FileSetAttr', 'FileSetDate', 'FileSetReadOnly', 'FileWrite',
+            'FinalizePackage', 'FindClose', 'FindCmdLineSwitch', 'FindFirst',
+            'FindNext', 'FloatToCurr', 'FloatToDateTime', 'FloatToDecimal',
+            'FloatToStr', 'FloatToStrF', 'FloatToText', 'FloatToTextFmt',
+            'FmtLoadStr', 'FmtStr', 'ForceDirectories', 'Format', 'FormatBuf',
+            'FormatCurr', 'FormatDateTime', 'FormatFloat', 'FreeAndNil',
+            'GUIDToString', 'GetCurrentDir', 'GetEnvironmentVariable',
+            'GetFileVersion', 'GetFormatSettings', 'GetLocaleFormatSettings',
+            'GetModuleName', 'GetPackageDescription', 'GetPackageInfo', 'GetTime',
+            'IncAMonth', 'IncMonth', 'IncludeTrailingBackslash',
+            'IncludeTrailingPathDelimiter', 'InitializePackage', 'IntToHex',
+            'IntToStr', 'InterlockedDecrement', 'InterlockedExchange',
+            'InterlockedExchangeAdd', 'InterlockedIncrement', 'IsDelimiter',
+            'IsEqualGUID', 'IsLeapYear', 'IsPathDelimiter', 'IsValidIdent',
+            'Languages', 'LastDelimiter', 'LoadPackage', 'LoadStr', 'LowerCase',
+            'MSecsToTimeStamp', 'NewStr', 'NextCharIndex', 'Now', 'OutOfMemoryError',
+            'QuotedStr', 'RaiseLastOSError', 'RaiseLastWin32Error', 'RemoveDir',
+            'RenameFile', 'ReplaceDate', 'ReplaceTime', 'SafeLoadLibrary',
+            'SameFileName', 'SameText', 'SetCurrentDir', 'ShowException', 'Sleep',
+            'StrAlloc', 'StrBufSize', 'StrByteType', 'StrCat', 'StrCharLength',
+            'StrComp', 'StrCopy', 'StrDispose', 'StrECopy', 'StrEnd', 'StrFmt',
+            'StrIComp', 'StrLCat', 'StrLComp', 'StrLCopy', 'StrLFmt', 'StrLIComp',
+            'StrLen', 'StrLower', 'StrMove', 'StrNew', 'StrNextChar', 'StrPCopy',
+            'StrPLCopy', 'StrPas', 'StrPos', 'StrRScan', 'StrScan', 'StrToBool',
+            'StrToBoolDef', 'StrToCurr', 'StrToCurrDef', 'StrToDate', 'StrToDateDef',
+            'StrToDateTime', 'StrToDateTimeDef', 'StrToFloat', 'StrToFloatDef',
+            'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime',
+            'StrToTimeDef', 'StrUpper', 'StringReplace', 'StringToGUID', 'Supports',
+            'SysErrorMessage', 'SystemTimeToDateTime', 'TextToFloat', 'Time',
+            'TimeStampToDateTime', 'TimeStampToMSecs', 'TimeToStr', 'Trim',
+            'TrimLeft', 'TrimRight', 'TryEncodeDate', 'TryEncodeTime',
+            'TryFloatToCurr', 'TryFloatToDateTime', 'TryStrToBool', 'TryStrToCurr',
+            'TryStrToDate', 'TryStrToDateTime', 'TryStrToFloat', 'TryStrToInt',
+            'TryStrToInt64', 'TryStrToTime', 'UnloadPackage', 'UpperCase',
+            'WideCompareStr', 'WideCompareText', 'WideFmtStr', 'WideFormat',
+            'WideFormatBuf', 'WideLowerCase', 'WideSameStr', 'WideSameText',
+            'WideUpperCase', 'Win32Check', 'WrapText',
+
+            'ActivateClassGroup', 'AllocateHwnd', 'BinToHex', 'CheckSynchronize',
+            'CollectionsEqual', 'CountGenerations', 'DeallocateHwnd', 'EqualRect',
+            'ExtractStrings', 'FindClass', 'FindGlobalComponent', 'GetClass',
+            'GroupDescendantsWith', 'HexToBin', 'IdentToInt',
+            'InitInheritedComponent', 'IntToIdent', 'InvalidPoint',
+            'IsUniqueGlobalComponentName', 'LineStart', 'ObjectBinaryToText',
+            'ObjectResourceToText', 'ObjectTextToBinary', 'ObjectTextToResource',
+            'PointsEqual', 'ReadComponentRes', 'ReadComponentResEx',
+            'ReadComponentResFile', 'Rect', 'RegisterClass', 'RegisterClassAlias',
+            'RegisterClasses', 'RegisterComponents', 'RegisterIntegerConsts',
+            'RegisterNoIcon', 'RegisterNonActiveX', 'SmallPoint', 'StartClassGroup',
+            'TestStreamFormat', 'UnregisterClass', 'UnregisterClasses',
+            'UnregisterIntegerConsts', 'UnregisterModuleClasses',
+            'WriteComponentResFile',
+
+            'ArcCos', 'ArcCosh', 'ArcCot', 'ArcCotH', 'ArcCsc', 'ArcCscH', 'ArcSec',
+            'ArcSecH', 'ArcSin', 'ArcSinh', 'ArcTan2', 'ArcTanh', 'Ceil',
+            'CompareValue', 'Cosecant', 'Cosh', 'Cot', 'CotH', 'Cotan', 'Csc', 'CscH',
+            'CycleToDeg', 'CycleToGrad', 'CycleToRad', 'DegToCycle', 'DegToGrad',
+            'DegToRad', 'DivMod', 'DoubleDecliningBalance', 'EnsureRange', 'Floor',
+            'Frexp', 'FutureValue', 'GetExceptionMask', 'GetPrecisionMode',
+            'GetRoundMode', 'GradToCycle', 'GradToDeg', 'GradToRad', 'Hypot',
+            'InRange', 'IntPower', 'InterestPayment', 'InterestRate',
+            'InternalRateOfReturn', 'IsInfinite', 'IsNan', 'IsZero', 'Ldexp', 'LnXP1',
+            'Log10', 'Log2', 'LogN', 'Max', 'MaxIntValue', 'MaxValue', 'Mean',
+            'MeanAndStdDev', 'Min', 'MinIntValue', 'MinValue', 'MomentSkewKurtosis',
+            'NetPresentValue', 'Norm', 'NumberOfPeriods', 'Payment', 'PeriodPayment',
+            'Poly', 'PopnStdDev', 'PopnVariance', 'Power', 'PresentValue',
+            'RadToCycle', 'RadToDeg', 'RadToGrad', 'RandG', 'RandomRange', 'RoundTo',
+            'SLNDepreciation', 'SYDDepreciation', 'SameValue', 'Sec', 'SecH',
+            'Secant', 'SetExceptionMask', 'SetPrecisionMode', 'SetRoundMode', 'Sign',
+            'SimpleRoundTo', 'SinCos', 'Sinh', 'StdDev', 'Sum', 'SumInt',
+            'SumOfSquares', 'SumsAndSquares', 'Tan', 'Tanh', 'TotalVariance',
+            'Variance'
+            ),
+        4 => array(
+            'AnsiChar', 'AnsiString', 'Bool', 'Boolean', 'Byte', 'ByteBool', 'Cardinal', 'Char',
+            'Comp', 'Currency', 'DWORD', 'Double', 'Extended', 'Int64', 'Integer', 'IUnknown',
+            'LongBool', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PBool', 'PBoolean', 'PByte',
+            'PByteArray', 'PCardinal', 'PChar', 'PComp', 'PCurrency', 'PDWORD', 'PDate', 'PDateTime',
+            'PDouble', 'PExtended', 'PInt64', 'PInteger', 'PLongInt', 'PLongWord', 'Pointer', 'PPointer',
+            'PShortInt', 'PShortString', 'PSingle', 'PSmallInt', 'PString', 'PHandle', 'PVariant', 'PWord',
+            'PWordArray', 'PWordBool', 'PWideChar', 'PWideString', 'Real', 'Real48', 'ShortInt', 'ShortString',
+            'Single', 'SmallInt', 'String', 'TClass', 'TDate', 'TDateTime', 'TextFile', 'THandle',
+            'TObject', 'TTime', 'Variant', 'WideChar', 'WideString', 'Word', 'WordBool'
+            ),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+            4 => 'color: #993333;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'REGEXPS' => array(
             0 => 'color: #9ac;',
             1 => 'color: #ff0000;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
         0 => '\$[0-9a-fA-F]+',
         1 => '\#\$?[0-9]{1,3}'
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
-?>
\ No newline at end of file
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/diff.php 0.763/modules/pn_bbcode/pnincludes/geshi/diff.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/diff.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/diff.php	2006-10-17 16:24:08.000000000 -0500
@@ -2,25 +2,26 @@
 /*************************************************************************************
  * diff.php
  * --------
- * Author: Conny Brunnkvist (conny@fuchsia.se)
+ * Author: Conny Brunnkvist (conny@fuchsia.se), W. Tasin (tasin@fhm.edu)
  * Copyright: (c) 2004 Fuchsia Open Source Solutions (http://www.fuchsia.se/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.3 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 102 $
  * Date Started: 2004/12/29
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:14:40 +0100 (Tue, 05 Sep 2006) $
  *
  * Diff-output language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2006/02/27
+ *  -  changing language file to use matching of start (^) and end ($) (wt)
+ * 
  * 2004/12/29 (1.0.0)
  *  -  First Release
  *
- * TODO (updated 2004/12/29)
+ * TODO (updated 2006/02/27)
  * -------------------------
- * * Find out why GeSHi doesn't seem to allow matching of start (^) and end ($) 
- * * So that we can stop pretending that we are dealing with single-line comments
- * * Should be able to cover all sorts of diff-output
+ *    
  *
  *************************************************************************************
  *
@@ -45,72 +46,64 @@
 
 $language_data = array (
 	'LANG_NAME' => 'Diff',
-	'COMMENT_SINGLE' => array(
-				0 => '--- ',
-				1 => '+++ ',
-				2 => '<',
-				3 => '>',
-				4 => '-',
-				5 => '+',
-				6 => '!',
-				7 => '@@',
-				8 => '*** ',
-				/*9 => '***************',*/
-				/*10 => ' ', // All other rows starts with a space (bug?) */
-			),
+	'COMMENT_SINGLE' => array(),
 	'COMMENT_MULTI' => array(),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
 	'QUOTEMARKS' => array(),
 	'ESCAPE_CHAR' => ' ',
 	'KEYWORDS' => array(
-			0 => array(
-				'\ No newline at end of file',
-			),
 			1 => array(
+				'\ No newline at end of file'
+			),
+			2 => array(
 				'***************' /* This only seems to works in some cases? */
 			),
 		),
 	'SYMBOLS' => array(
 		),
 	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
+        1 => false,
+        2 => false
 		),
 	'STYLES' => array(
 		'KEYWORDS' => array(
-			0 => 'color: #aaaaaa; font-style: italic;',
-			1 => 'color: #dd6611;',
+			1 => 'color: #aaaaaa; font-style: italic;',
+			2 => 'color: #dd6611;',
 			),
 		'COMMENTS' => array(
-			0 => 'color: #228822;',
-			1 => 'color: #228822;',
-                        2 => 'color: #991111;', 
-                        3 => 'color: #00aaee;', 
-                        4 => 'color: #991111;', 
-                        5 => 'color: #00b000;', 
-                        /*6 => 'color: #dd6611;', */
-                        6 => 'color: #0011dd;', 
-			7 => 'color: #aaaa88;',
-			8 => 'color: #228822;',
-			/*9 => 'color: #aaaa88;',*/
-			/*10 => 'color: #000000;',*/
-			),
+            ),
 		'ESCAPE_CHAR' => array(
+            0 => ''
 			),
 		'BRACKETS' => array(
+            0 => ''
 			),
 		'STRINGS' => array(
+            0 => ''
 			),
 		'NUMBERS' => array(
+            0 => ''
 			),
 		'METHODS' => array(
+            0 => ''
 			),
 		'SYMBOLS' => array(
+            0 => ''
 			),
 		'SCRIPT' => array(
+            0 => ''
 			),
-                'REGEXPS' => array(
-			0 => 'color: #aaaaaa;',
-			/*1 => 'color: #000000;',*/
+        'REGEXPS' => array(
+			0 => 'color: #440088;',
+			1 => 'color: #991111;',
+			2 => 'color: #00b000;',
+            3 => 'color: #888822;', 
+            4 => 'color: #888822;', 
+            5 => 'color: #0011dd;', 
+            6 => 'color: #440088;', 
+			7 => 'color: #991111;',
+            8 => 'color: #00b000;', 
+			9 => 'color: #888822;',
                         ),
 		),
 	'URLS' => array(
@@ -119,14 +112,70 @@
 	'OBJECT_SPLITTER' => '',
 	'REGEXPS' => array(
 			0 => "[0-9,]+[acd][0-9,]+",
-			/*1 => array( // Match all other lines - again this also doesn't work.
-				GESHI_SEARCH => '(\ )(.+)',
-				GESHI_REPLACE => '\\2\\3',
-				GESHI_MODIFIERS => '',
-				GESHI_BEFORE => '\\1',
-				GESHI_AFTER => ''
-			),*/
-		),
+			1 => array(
+			GESHI_SEARCH => '^\\&lt;.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			2 => array(
+			GESHI_SEARCH => '^\\&gt;.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			3 => array(
+			GESHI_SEARCH => '^[\\-]{3}\\s.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			4 => array(
+			GESHI_SEARCH => '^(\\+){3}\\s.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			5 => array(
+			GESHI_SEARCH => '^\\!.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			6 => array(
+			GESHI_SEARCH => '^[\\@]{2}.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			7 => array(
+			GESHI_SEARCH => '^\\-.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			8 => array(
+			GESHI_SEARCH => '^\\+.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			9 => array(
+			GESHI_SEARCH => '^(\\*){3}\\s.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+	),
 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
 	'SCRIPT_DELIMITERS' => array(
 		),
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/div.php 0.763/modules/pn_bbcode/pnincludes/geshi/div.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/div.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/div.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ---------------------------------
  * Author: Gabriel Lorenzo (ermakina@gmail.com)
  * Copyright: (c) 2005 Gabriel Lorenzo (http://ermakina.gazpachito.net)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.3 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 102 $
  * Date Started: 2005/06/19
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:14:40 +0100 (Tue, 05 Sep 2006) $
  *
  * DIV language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/dos.php 0.763/modules/pn_bbcode/pnincludes/geshi/dos.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/dos.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/dos.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -------
  * Author: Alessandro Staltari (staltari@geocities.com)
  * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 106 $
  * Date Started: 2005/07/05
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:19:02 +0100 (Tue, 05 Sep 2006) $
  *
  * DOS language file for GeSHi.
  *
@@ -70,28 +70,28 @@
 	'KEYWORDS' => array(
 	    /* Flow control keywords */
 		1 => array(
-			'IF', 'ELSE', 'GOTO',
-			'FOR', 'IN', 'DO',
-			'CALL', 'EXIT'
+			'if', 'else', 'goto',
+			'for', 'in', 'do',
+			'call', 'exit'
 			),
 	    /* IF statement keywords */
 		2 => array(
-			'NOT', 'EXIST', 'ERRORLEVEL',
-			'DEFINED',
-			'EQU', 'NEQ', 'LSS', 'LEQ', 'GTR', 'GEQ'
+			'not', 'exist', 'errorlevel',
+			'defined',
+			'equ', 'neq', 'lss', 'leq', 'gtr', 'geq'
 			),
 	    /* Internal commands */
 		3 => array(
-			'SHIFT',
-			'CD', 'DIR', 'ECHO',
-			'SETLOCAL', 'ENDLOCAL', 'SET',
-			'PAUSE'
+			'shift',
+			'cd', 'dir', 'echo',
+			'setlocal', 'endlocal', 'set',
+			'pause'
 			),
 	    /* Special files */
 
 		4 => array(
-			'PRN', 'NUL', 'LPT3', 'LPT2', 'LPT1', 'CON',
-			'COM4', 'COM3', 'COM2', 'COM1', 'AUX'
+			'prn', 'nul', 'lpt3', 'lpt2', 'lpt1', 'con',
+			'com4', 'com3', 'com2', 'com1', 'aux'
 			)
 		),
 	'SYMBOLS' => array(
@@ -140,6 +140,12 @@
 	'OOLANG' => false,
 	'OBJECT_SPLITTERS' => array(
 		),
+    'URLS' => array(
+         1 => 'http://www.ss64.com/nt/{FNAME}.html',
+         2 => 'http://www.ss64.com/nt/{FNAME}.html',
+         3 => 'http://www.ss64.com/nt/{FNAME}.html',
+         4 => 'http://www.ss64.com/nt/{FNAME}.html'
+         ),
 	'REGEXPS' => array(
 	/* Label */
 	    0 => array(
@@ -176,4 +182,4 @@
 		)
 );
 
-?>
+?>
\ No newline at end of file
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/eiffel.php 0.763/modules/pn_bbcode/pnincludes/geshi/eiffel.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/eiffel.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/eiffel.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Zoran Simic (zsimic@axarosenberg.com)
  * Copyright: (c) 2005 Zoran Simic
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.3 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 102 $
  * Date Started: 2005/06/30
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:14:40 +0100 (Tue, 05 Sep 2006) $
  *
  * Eiffel language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/fortran.php 0.763/modules/pn_bbcode/pnincludes/geshi/fortran.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/fortran.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/fortran.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,158 @@
+<?php
+/*************************************************************************************
+ * fortran.php
+ * -----------
+ * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr)
+ * Copyright: (C) 2006 Cetric Arrabie
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.4.2.2 $
+ * Date Started: 2006/04/22
+ * Last Modified: $Date: 2006/07/22 11:30:32 $
+ * 
+ * Fortran language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/04/20 (1.0.0)
+ *   -  First Release
+ *
+ * TODO 
+ * -------------------------
+ *  -  Get a list of inbuilt functions to add (and explore fortran more
+ *     to complete this rather bare language file)
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME'=>'Fortran',
+	'COMMENT_SINGLE'=> array(1 =>'!',2=>'Cf2py'),
+	'COMMENT_MULTI'=> array(),
+	'CASE_KEYWORDS'=> GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS'=> array("'",'"'),
+	'ESCAPE_CHAR'=>'\\',
+	'KEYWORDS'=> array(
+		1 => array(
+			'allocate','block','call','case','contains','continue','cycle','deallocate',
+			'default','do','else','elseif','elsewhere','end','enddo','endif','endwhere',
+			'entry','exit','function','go','goto','if','interface','module','nullify','only', 
+			'operator','procedure','program','recursive','return','select','stop', 
+			'subroutine','then','to','where','while',
+            'access','action','advance','blank','blocksize','carriagecontrol',
+			'delim','direct','eor','err','exist','file','flen','fmt','form','formatted',
+			'iostat','name','named','nextrec','nml','number','opened','pad','position',
+			'readwrite','recl','sequential','status','unformatted','unit'
+			),
+		2 => array(
+			'.AND.','.EQ.','.EQV.','.GE.','.GT.','.LE.','.LT.','.NE.','.NEQV.','.NOT.',
+			'.OR.','.TRUE.','.FALSE.'
+			),
+		3 => array(
+			'allocatable','character','common','complex','data','dimension','double',
+			'equivalence','external','implicit','in','inout','integer','intent','intrinsic',
+			'kind','logical','namelist','none','optional','out','parameter','pointer',
+			'private','public','real','result','save','sequence','target','type','use'
+			),
+		4 => array(
+			'abs','achar','acos','adjustl','adjustr','aimag','aint','all','allocated',
+			'anint','any','asin','atan','atan2','bit_size','break','btest','carg',
+			'ceiling','char','cmplx','conjg','cos','cosh','cpu_time','count','cshift',
+			'date_and_time','dble','digits','dim','dot_product','dprod dvchk',
+			'eoshift','epsilon','error','exp','exponent','floor','flush','fraction',
+			'getcl','huge','iachar','iand','ibclr','ibits','ibset','ichar','ieor','index',
+			'int','intrup','invalop','ior','iostat_msg','ishft','ishftc','lbound',
+			'len','len_trim','lge','lgt','lle','llt','log','log10','matmul','max','maxexponent',
+			'maxloc','maxval','merge','min','minexponent','minloc','minval','mod','modulo',
+			'mvbits','nbreak','ndperr','ndpexc','nearest','nint','not','offset','ovefl',
+			'pack','precfill','precision','present','product','prompt','radix',
+			'random_number','random_seed','range','repeat','reshape','rrspacing',
+			'scale','scan','segment','selected_int_kind','selected_real_kind',
+			'set_exponent','shape','sign','sin','sinh','size','spacing','spread','sqrt',
+			'sum system','system_clock','tan','tanh','timer','tiny','transfer','transpose',
+			'trim','ubound','undfl','unpack','val','verify'
+			),
+		),
+	'SYMBOLS'=> array(
+		'(',')','{','}','[',']','=','+','-','*','/','!','%','^','&',':'
+		),
+	'CASE_SENSITIVE'=> array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES'=> array(
+		'KEYWORDS'=> array(
+			1 =>'color: #b1b100;',
+			2 =>'color: #000000; font-weight: bold;',
+			3 =>'color: #000066;',
+			4 =>'color: #993333;'
+			),
+		'COMMENTS'=> array(
+			1 =>'color: #808080; font-style: italic;',
+			2 =>'color: #339933;',
+			'MULTI'=>'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR'=> array(
+			0 =>'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS'=> array(
+			0 =>'color: #66cc66;'
+			),
+		'STRINGS'=> array(
+			0 =>'color: #ff0000;'
+			),
+		'NUMBERS'=> array(
+			0 =>'color: #cc66cc;'
+			),
+		'METHODS'=> array(
+			1 =>'color: #202020;',
+			2 =>'color: #202020;'
+			),
+		'SYMBOLS'=> array(
+			0 =>'color: #66cc66;'
+			),
+		'REGEXPS'=> array(
+			),
+		'SCRIPT'=> array(
+			)
+		),
+	'URLS'=> array(
+		1 =>'',
+		2 =>'',
+		3 =>'',
+		4 =>''
+		),
+	'OOLANG'=> true,
+	'OBJECT_SPLITTERS'=> array(
+		1 =>'.',
+		2 =>'::'
+		),
+	'REGEXPS'=> array(
+		),
+	'STRICT_MODE_APPLIES'=> GESHI_NEVER,
+	'SCRIPT_DELIMITERS'=> array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK'=> array(
+		)
+);
+
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/freebasic.php 0.763/modules/pn_bbcode/pnincludes/geshi/freebasic.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/freebasic.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/freebasic.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,7 +4,7 @@
  * -------------
  * Author: Roberto Rossi 
  * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
- * Release Version: 1.0.7.5
+ * Release Version: 1.0.7.13
  * Date Started: 2005/08/19
  *
  * FreeBasic (http://www.freebasic.net/) language file for GeSHi.
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/gml.php 0.763/modules/pn_bbcode/pnincludes/geshi/gml.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/gml.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/gml.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * --------
  * Author: Jos Jorge Enrquez (jenriquez@users.sourceforge.net)
  * Copyright: (c) 2005 Jos Jorge Enrquez Rodrguez (http://www.zonamakers.com)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.3 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 102 $
  * Date Started: 2005/06/21
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:14:40 +0100 (Tue, 05 Sep 2006) $
  *
  * GML language file for GeSHi.
  *
@@ -471,8 +471,7 @@
 			0 => 'color: #cc66cc;'
 			),
 		'METHODS' => array(
-			1 => 'color: #202020;',
-			2 => 'color: #202020;'
+			1 => 'color: #202020;'
 			),
 		'SYMBOLS' => array(
 			0 => 'color: #66cc66; font-weight: bold;'
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/groovy.php 0.763/modules/pn_bbcode/pnincludes/geshi/groovy.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/groovy.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/groovy.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,2119 @@
+<?php
+/*************************************************************************************
+ * groovy.php
+ * ----------
+ * Author: Ivan F. Villanueva B. (geshi_groovy@artificialidea.com)
+ * Copyright: (c) 2006 Ivan F. Villanueva B.(http://www.artificialidea.com)
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.2.2.2 $
+ * Date Started: 2006/04/29
+ * Last Modified: $Date: 2006/07/22 11:30:27 $
+ *
+ * Groovy language file for GeSHi.
+ *
+ * Keywords from http: http://docs.codehaus.org/download/attachments/2715/groovy-reference-card.pdf?version=1
+ *
+ * CHANGES
+ * -------
+ * 2006/04/29 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2006/04/29)
+ * -------------------------
+ * Testing
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Groovy',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => 'import', 3 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'''", '"""', "'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'||',
+			'while',
+			'switch',
+			'in',
+			'if',
+			'foreach',
+			'for',
+			'else',
+			'do',
+			'case',
+			'=&gt;',
+			'--',
+			'++',
+			'&lt;&lt;',
+			'&lt;&lt;&lt;',
+			'&&'
+			),
+		2 => array(
+			'volatile',
+			'try',
+			'true',
+			'transient',
+			'throws',
+			'throw',
+			'this',
+			'synchronized',
+			'super',
+			'strictfp',
+			'static',
+			'return',
+			'public',
+			'protected',
+			'property',
+			'private',
+			'package',
+			'null',
+			'new',
+			'native',
+			'interface',
+			'instanceof',
+			'implements',
+			'goto',
+			'finally',
+			'final',
+			'false',
+			'extends',
+			'enum',
+			'default',
+			'def',
+			'continue',
+			'const',
+			'class',
+			'catch',
+			'break',
+			'assert',
+			'abstract',
+			'as'
+			),
+		3 => array(
+			'_Remote_Stub',
+			'_PolicyStub',
+			'_NamingContextStub',
+			'_NamingContextImplBase',
+			'_IDLTypeStub',
+			'_BindingIteratorStub',
+			'_BindingIteratorImplBase',
+			'ZoneView',
+			'ZipOutputStream',
+			'ZipInputStream',
+			'ZipFile',
+			'ZipException',
+			'ZipEntry',
+			'X509Extension',
+			'X509EncodedKeySpec',
+			'X509Certificate',
+			'X509CRLEntry',
+			'X509CRL',
+			'WrongTransaction',
+			'Writer',
+			'WriteAbortedException',
+			'WritableRenderedImage',
+			'WritableRaster',
+			'WrappedPlainView',
+			'WindowListener',
+			'WindowEvent',
+			'WindowConstants',
+			'WindowAdapter',
+			'Window',
+			'WeakReference',
+			'WeakHashMap',
+			'WStringValueHelper',
+			'WCharSeqHolder',
+			'WCharSeqHelper',
+			'Void',
+			'VoiceStatus',
+			'VisibilityHelper',
+			'Visibility',
+			'VirtualMachineError',
+			'ViewportUI',
+			'ViewportLayout',
+			'ViewFactory',
+			'View',
+			'VetoableChangeSupport',
+			'VetoableChangeListener',
+			'VersionSpecHelper',
+			'VerifyError',
+			'Vector',
+			'VariableHeightLayoutCache',
+			'ValueMemberHelper',
+			'ValueMember',
+			'ValueHandler',
+			'ValueFactory',
+			'ValueBaseHolder',
+			'ValueBaseHelper',
+			'ValueBase',
+			'VM_TRUNCATABLE',
+			'VM_NONE',
+			'VM_CUSTOM',
+			'VM_ABSTRACT',
+			'VMID',
+			'Utilities',
+			'UtilDelegate',
+			'Util',
+			'UserException',
+			'UnsupportedOperationException',
+			'UnsupportedLookAndFeelException',
+			'UnsupportedFlavorException',
+			'UnsupportedEncodingException',
+			'UnsupportedClassVersionError',
+			'UnsupportedAudioFileException',
+			'UnsolicitedNotificationListener',
+			'UnsolicitedNotificationEvent',
+			'UnsolicitedNotification',
+			'UnsatisfiedLinkError',
+			'UnresolvedPermission',
+			'Unreferenced',
+			'UnrecoverableKeyException',
+			'UnmarshalException',
+			'UnknownUserException',
+			'UnknownServiceException',
+			'UnknownObjectException',
+			'UnknownHostException',
+			'UnknownHostException',
+			'UnknownGroupException',
+			'UnknownException',
+			'UnknownError',
+			'UnionMemberHelper',
+			'UnionMember',
+			'UnicastRemoteObject',
+			'UnexpectedException',
+			'UndoableEditSupport',
+			'UndoableEditListener',
+			'UndoableEditEvent',
+			'UndoableEdit',
+			'UndoManager',
+			'UndeclaredThrowableException',
+			'UTFDataFormatException',
+			'UShortSeqHolder',
+			'UShortSeqHelper',
+			'URLStreamHandlerFactory',
+			'URLStreamHandler',
+			'URLEncoder',
+			'URLDecoder',
+			'URLConnection',
+			'URLClassLoader',
+			'URL',
+			'UNSUPPORTED_POLICY_VALUE',
+			'UNSUPPORTED_POLICY',
+			'UNKNOWN',
+			'ULongSeqHolder',
+			'ULongSeqHelper',
+			'ULongLongSeqHolder',
+			'ULongLongSeqHelper',
+			'UIResource',
+			'UIManager.LookAndFeelInfo',
+			'UIManager',
+			'UIDefaults.ProxyLazyValue',
+			'UIDefaults.LazyValue',
+			'UIDefaults.LazyInputMap',
+			'UIDefaults.ActiveValue',
+			'UIDefaults',
+			'UID',
+			'Types',
+			'TypeMismatch',
+			'TypeCodeHolder',
+			'TypeCode',
+			'TreeWillExpandListener',
+			'TreeUI',
+			'TreeSet',
+			'TreeSelectionModel',
+			'TreeSelectionListener',
+			'TreeSelectionEvent',
+			'TreePath',
+			'TreeNode',
+			'TreeModelListener',
+			'TreeModelEvent',
+			'TreeModel',
+			'TreeMap',
+			'TreeExpansionListener',
+			'TreeExpansionEvent',
+			'TreeCellRenderer',
+			'TreeCellEditor',
+			'Transparency',
+			'Transmitter',
+			'TransformAttribute',
+			'Transferable',
+			'TransactionRolledbackException',
+			'TransactionRequiredException',
+			'Track',
+			'Toolkit',
+			'ToolTipUI',
+			'ToolTipManager',
+			'ToolBarUI',
+			'TooManyListenersException',
+			'TitledBorder',
+			'Timestamp',
+			'TimerTask',
+			'Timer',
+			'Timer',
+			'TimeZone',
+			'TimeLimitExceededException',
+			'Time',
+			'TileObserver',
+			'Tie',
+			'Throwable',
+			'ThreadLocal',
+			'ThreadGroup',
+			'ThreadDeath',
+			'Thread',
+			'TexturePaint',
+			'TextUI',
+			'TextMeasurer',
+			'TextListener',
+			'TextLayout.CaretPolicy',
+			'TextLayout',
+			'TextHitInfo',
+			'TextField',
+			'TextEvent',
+			'TextComponent',
+			'TextAttribute',
+			'TextArea',
+			'TextAction',
+			'TargetDataLine',
+			'TagElement',
+			'TableView',
+			'TableUI',
+			'TableModelListener',
+			'TableModelEvent',
+			'TableModel',
+			'TableHeaderUI',
+			'TableColumnModelListener',
+			'TableColumnModelEvent',
+			'TableColumnModel',
+			'TableColumn',
+			'TableCellRenderer',
+			'TableCellEditor',
+			'TabbedPaneUI',
+			'TabableView',
+			'TabStop',
+			'TabSet',
+			'TabExpander',
+			'TRANSIENT',
+			'TRANSACTION_ROLLEDBACK',
+			'TRANSACTION_REQUIRED',
+			'TCKind',
+			'SystemFlavorMap',
+			'SystemException',
+			'SystemColor',
+			'System',
+			'SysexMessage',
+			'Synthesizer',
+			'SyncFailedException',
+			'SwingUtilities',
+			'SwingPropertyChangeSupport',
+			'SwingConstants',
+			'StyledEditorKit.UnderlineAction',
+			'StyledEditorKit.StyledTextAction',
+			'StyledEditorKit.ItalicAction',
+			'StyledEditorKit.ForegroundAction',
+			'StyledEditorKit.FontSizeAction',
+			'StyledEditorKit.FontFamilyAction',
+			'StyledEditorKit.BoldAction',
+			'StyledEditorKit.AlignmentAction',
+			'StyledEditorKit',
+			'StyledDocument',
+			'StyleSheet.ListPainter',
+			'StyleSheet.BoxPainter',
+			'StyleSheet',
+			'StyleContext',
+			'StyleConstants.ParagraphConstants',
+			'StyleConstants.FontConstants',
+			'StyleConstants.ColorConstants',
+			'StyleConstants.CharacterConstants',
+			'StyleConstants',
+			'Style',
+			'StubNotFoundException',
+			'StubDelegate',
+			'Stub',
+			'StructMemberHelper',
+			'StructMember',
+			'Struct',
+			'Stroke',
+			'StringWriter',
+			'StringValueHelper',
+			'StringTokenizer',
+			'StringSelection',
+			'StringRefAddr',
+			'StringReader',
+			'StringIndexOutOfBoundsException',
+			'StringHolder',
+			'StringContent',
+			'StringCharacterIterator',
+			'StringBufferInputStream',
+			'StringBuffer',
+			'String',
+			'StrictMath',
+			'StreamableValue',
+			'Streamable',
+			'StreamTokenizer',
+			'StreamCorruptedException',
+			'Statement',
+			'StateFactory',
+			'StateEditable',
+			'StateEdit',
+			'StackOverflowError',
+			'Stack',
+			'SplitPaneUI',
+			'SourceDataLine',
+			'SoundbankResource',
+			'SoundbankReader',
+			'Soundbank',
+			'SortedSet',
+			'SortedMap',
+			'SoftReference',
+			'SoftBevelBorder',
+			'SocketSecurityException',
+			'SocketPermission',
+			'SocketOptions',
+			'SocketImplFactory',
+			'SocketImpl',
+			'SocketException',
+			'Socket',
+			'SliderUI',
+			'SkeletonNotFoundException',
+			'SkeletonMismatchException',
+			'Skeleton',
+			'SizeSequence',
+			'SizeRequirements',
+			'SizeLimitExceededException',
+			'SingleSelectionModel',
+			'SinglePixelPackedSampleModel',
+			'SimpleTimeZone',
+			'SimpleDateFormat',
+			'SimpleBeanInfo',
+			'SimpleAttributeSet',
+			'Signer',
+			'SignedObject',
+			'SignatureSpi',
+			'SignatureException',
+			'Signature',
+			'ShortSeqHolder',
+			'ShortSeqHelper',
+			'ShortMessage',
+			'ShortLookupTable',
+			'ShortHolder',
+			'Short',
+			'ShapeGraphicAttribute',
+			'Shape',
+			'SetOverrideTypeHelper',
+			'SetOverrideType',
+			'Set',
+			'ServiceUnavailableException',
+			'ServiceInformationHolder',
+			'ServiceInformationHelper',
+			'ServiceInformation',
+			'ServiceDetailHelper',
+			'ServiceDetail',
+			'ServerSocket',
+			'ServerRuntimeException',
+			'ServerRequest',
+			'ServerRef',
+			'ServerNotActiveException',
+			'ServerException',
+			'ServerError',
+			'ServerCloneException',
+			'ServantObject',
+			'SerializablePermission',
+			'Serializable',
+			'Sequencer.SyncMode',
+			'Sequencer',
+			'SequenceInputStream',
+			'Sequence',
+			'SeparatorUI',
+			'Segment',
+			'SecurityPermission',
+			'SecurityManager',
+			'SecurityException',
+			'Security',
+			'SecureRandomSpi',
+			'SecureRandom',
+			'SecureClassLoader',
+			'SearchResult',
+			'SearchControls',
+			'Scrollbar',
+			'Scrollable',
+			'ScrollPaneUI',
+			'ScrollPaneLayout.UIResource',
+			'ScrollPaneLayout',
+			'ScrollPaneConstants',
+			'ScrollPane',
+			'ScrollBarUI',
+			'SchemaViolationException',
+			'SampleModel',
+			'SQLWarning',
+			'SQLPermission',
+			'SQLOutput',
+			'SQLInput',
+			'SQLException',
+			'SQLData',
+			'RuntimePermission',
+			'RuntimeException',
+			'Runtime',
+			'Runnable',
+			'RunTimeOperations',
+			'RunTime',
+			'RuleBasedCollator',
+			'RowMapper',
+			'RoundRectangle2D.Float',
+			'RoundRectangle2D.Double',
+			'RoundRectangle2D',
+			'RootPaneUI',
+			'RootPaneContainer',
+			'Robot',
+			'ReverbType',
+			'ResultSetMetaData',
+			'ResultSet',
+			'ResponseHandler',
+			'ResourceBundle',
+			'Resolver',
+			'ResolveResult',
+			'RescaleOp',
+			'Request',
+			'RepositoryIdHelper',
+			'Repository',
+			'ReplicateScaleFilter',
+			'RepaintManager',
+			'RenderingHints.Key',
+			'RenderingHints',
+			'Renderer',
+			'RenderedImageFactory',
+			'RenderedImage',
+			'RenderableImageProducer',
+			'RenderableImageOp',
+			'RenderableImage',
+			'RenderContext',
+			'RemoteStub',
+			'RemoteServer',
+			'RemoteRef',
+			'RemoteObject',
+			'RemoteException',
+			'RemoteCall',
+			'Remote',
+			'RemarshalException',
+			'RegistryHandler',
+			'Registry',
+			'ReflectPermission',
+			'ReferralException',
+			'Referenceable',
+			'ReferenceQueue',
+			'Reference',
+			'RefAddr',
+			'Ref',
+			'RectangularShape',
+			'Rectangle2D.Float',
+			'Rectangle2D.Double',
+			'Rectangle2D',
+			'Rectangle',
+			'Receiver',
+			'Reader',
+			'RasterOp',
+			'RasterFormatException',
+			'Raster',
+			'RandomAccessFile',
+			'Random',
+			'RTFEditorKit',
+			'RSAPublicKeySpec',
+			'RSAPublicKey',
+			'RSAPrivateKeySpec',
+			'RSAPrivateKey',
+			'RSAPrivateCrtKeySpec',
+			'RSAPrivateCrtKey',
+			'RSAKeyGenParameterSpec',
+			'RSAKey',
+			'RMISocketFactory',
+			'RMIServerSocketFactory',
+			'RMISecurityManager',
+			'RMISecurityException',
+			'RMIFailureHandler',
+			'RMIClientSocketFactory',
+			'RMIClassLoader',
+			'RGBImageFilter',
+			'QuadCurve2D.Float',
+			'QuadCurve2D.Double',
+			'QuadCurve2D',
+			'PushbackReader',
+			'PushbackInputStream',
+			'PublicKey',
+			'Proxy',
+			'ProviderException',
+			'Provider',
+			'ProtocolException',
+			'ProtectionDomain',
+			'PropertyVetoException',
+			'PropertyResourceBundle',
+			'PropertyPermission',
+			'PropertyEditorSupport',
+			'PropertyEditorManager',
+			'PropertyEditor',
+			'PropertyDescriptor',
+			'PropertyChangeSupport',
+			'PropertyChangeListener',
+			'PropertyChangeEvent',
+			'Properties',
+			'ProgressMonitorInputStream',
+			'ProgressMonitor',
+			'ProgressBarUI',
+			'ProfileDataException',
+			'Process',
+			'PrivilegedExceptionAction',
+			'PrivilegedActionException',
+			'PrivilegedAction',
+			'PrivateKey',
+			'PrinterJob',
+			'PrinterIOException',
+			'PrinterGraphics',
+			'PrinterException',
+			'PrinterAbortException',
+			'Printable',
+			'PrintWriter',
+			'PrintStream',
+			'PrintJob',
+			'PrintGraphics',
+			'PrincipalHolder',
+			'Principal',
+			'Principal',
+			'PreparedStatement',
+			'Position.Bias',
+			'Position',
+			'PortableRemoteObjectDelegate',
+			'PortableRemoteObject',
+			'Port.Info',
+			'Port',
+			'PopupMenuUI',
+			'PopupMenuListener',
+			'PopupMenuEvent',
+			'PopupMenu',
+			'Polygon',
+			'PolicyTypeHelper',
+			'PolicyOperations',
+			'PolicyListHolder',
+			'PolicyListHelper',
+			'PolicyHolder',
+			'PolicyHelper',
+			'PolicyError',
+			'Policy',
+			'Policy',
+			'Point2D.Float',
+			'Point2D.Double',
+			'Point2D',
+			'Point',
+			'PlainView',
+			'PlainDocument',
+			'PixelInterleavedSampleModel',
+			'PixelGrabber',
+			'PipedWriter',
+			'PipedReader',
+			'PipedOutputStream',
+			'PipedInputStream',
+			'PhantomReference',
+			'Permissions',
+			'PermissionCollection',
+			'Permission',
+			'Permission',
+			'PathIterator',
+			'Patch',
+			'PasswordView',
+			'PasswordAuthentication',
+			'PartialResultException',
+			'ParserDelegator',
+			'Parser',
+			'ParsePosition',
+			'ParseException',
+			'ParameterDescriptor',
+			'ParameterBlock',
+			'ParagraphView',
+			'ParagraphView',
+			'Paper',
+			'PanelUI',
+			'Panel',
+			'PaintEvent',
+			'PaintContext',
+			'Paint',
+			'Pageable',
+			'PageFormat',
+			'PageAttributes.PrintQualityType',
+			'PageAttributes.OriginType',
+			'PageAttributes.OrientationRequestedType',
+			'PageAttributes.MediaType',
+			'PageAttributes.ColorType',
+			'PageAttributes',
+			'PackedColorModel',
+			'Package',
+			'PUBLIC_MEMBER',
+			'PRIVATE_MEMBER',
+			'PKCS8EncodedKeySpec',
+			'PERSIST_STORE',
+			'Owner',
+			'OverlayLayout',
+			'OutputStreamWriter',
+			'OutputStream',
+			'OutOfMemoryError',
+			'OptionalDataException',
+			'OptionPaneUI',
+			'Option',
+			'OperationNotSupportedException',
+			'Operation',
+			'OpenType',
+			'OctetSeqHolder',
+			'OctetSeqHelper',
+			'Observer',
+			'Observable',
+			'ObjectView',
+			'ObjectStreamField',
+			'ObjectStreamException',
+			'ObjectStreamConstants',
+			'ObjectStreamClass',
+			'ObjectOutputStream.PutField',
+			'ObjectOutputStream',
+			'ObjectOutput',
+			'ObjectInputValidation',
+			'ObjectInputStream.GetField',
+			'ObjectInputStream',
+			'ObjectInput',
+			'ObjectImpl',
+			'ObjectImpl',
+			'ObjectHolder',
+			'ObjectHelper',
+			'ObjectFactoryBuilder',
+			'ObjectFactory',
+			'ObjectChangeListener',
+			'Object',
+			'ObjID',
+			'ORB',
+			'OMGVMCID',
+			'OBJ_ADAPTER',
+			'OBJECT_NOT_EXIST',
+			'NumberFormatException',
+			'NumberFormat',
+			'Number',
+			'NullPointerException',
+			'NotSerializableException',
+			'NotOwnerException',
+			'NotFoundReasonHolder',
+			'NotFoundReasonHelper',
+			'NotFoundReason',
+			'NotFoundHolder',
+			'NotFoundHelper',
+			'NotFound',
+			'NotEmptyHolder',
+			'NotEmptyHelper',
+			'NotEmpty',
+			'NotContextException',
+			'NotBoundException',
+			'NotActiveException',
+			'NoninvertibleTransformException',
+			'NoSuchProviderException',
+			'NoSuchObjectException',
+			'NoSuchMethodException',
+			'NoSuchMethodError',
+			'NoSuchFieldException',
+			'NoSuchFieldError',
+			'NoSuchElementException',
+			'NoSuchAttributeException',
+			'NoSuchAlgorithmException',
+			'NoRouteToHostException',
+			'NoPermissionException',
+			'NoInitialContextException',
+			'NoClassDefFoundError',
+			'NetPermission',
+			'NegativeArraySizeException',
+			'NamingSecurityException',
+			'NamingManager',
+			'NamingListener',
+			'NamingExceptionEvent',
+			'NamingException',
+			'NamingEvent',
+			'NamingEnumeration',
+			'NamingContextOperations',
+			'NamingContextHolder',
+			'NamingContextHelper',
+			'NamingContext',
+			'Naming',
+			'NamespaceChangeListener',
+			'NamedValue',
+			'NameValuePairHelper',
+			'NameValuePair',
+			'NameParser',
+			'NameNotFoundException',
+			'NameHolder',
+			'NameHelper',
+			'NameComponentHolder',
+			'NameComponentHelper',
+			'NameComponent',
+			'NameClassPair',
+			'NameAlreadyBoundException',
+			'Name',
+			'NVList',
+			'NO_RESPONSE',
+			'NO_RESOURCES',
+			'NO_PERMISSION',
+			'NO_MEMORY',
+			'NO_IMPLEMENT',
+			'MutableTreeNode',
+			'MutableComboBoxModel',
+			'MutableAttributeSet',
+			'MultipleMaster',
+			'MulticastSocket',
+			'MultiViewportUI',
+			'MultiTreeUI',
+			'MultiToolTipUI',
+			'MultiToolBarUI',
+			'MultiTextUI',
+			'MultiTableUI',
+			'MultiTableHeaderUI',
+			'MultiTabbedPaneUI',
+			'MultiSplitPaneUI',
+			'MultiSliderUI',
+			'MultiSeparatorUI',
+			'MultiScrollPaneUI',
+			'MultiScrollBarUI',
+			'MultiProgressBarUI',
+			'MultiPopupMenuUI',
+			'MultiPixelPackedSampleModel',
+			'MultiPanelUI',
+			'MultiOptionPaneUI',
+			'MultiMenuItemUI',
+			'MultiMenuBarUI',
+			'MultiLookAndFeel',
+			'MultiListUI',
+			'MultiLabelUI',
+			'MultiInternalFrameUI',
+			'MultiFileChooserUI',
+			'MultiDesktopPaneUI',
+			'MultiDesktopIconUI',
+			'MultiComboBoxUI',
+			'MultiColorChooserUI',
+			'MultiButtonUI',
+			'MouseMotionListener',
+			'MouseMotionAdapter',
+			'MouseListener',
+			'MouseInputListener',
+			'MouseInputAdapter',
+			'MouseEvent',
+			'MouseDragGestureRecognizer',
+			'MouseAdapter',
+			'Modifier',
+			'ModificationItem',
+			'MixerProvider',
+			'Mixer.Info',
+			'Mixer',
+			'MissingResourceException',
+			'MinimalHTMLWriter',
+			'MimeTypeParseException',
+			'MidiUnavailableException',
+			'MidiSystem',
+			'MidiMessage',
+			'MidiFileWriter',
+			'MidiFileReader',
+			'MidiFileFormat',
+			'MidiEvent',
+			'MidiDeviceProvider',
+			'MidiDevice.Info',
+			'MidiDevice',
+			'MidiChannel',
+			'MethodDescriptor',
+			'Method',
+			'MetalTreeUI',
+			'MetalToolTipUI',
+			'MetalToolBarUI',
+			'MetalToggleButtonUI',
+			'MetalTheme',
+			'MetalTextFieldUI',
+			'MetalTabbedPaneUI',
+			'MetalSplitPaneUI',
+			'MetalSliderUI',
+			'MetalSeparatorUI',
+			'MetalScrollPaneUI',
+			'MetalScrollButton',
+			'MetalScrollBarUI',
+			'MetalRadioButtonUI',
+			'MetalProgressBarUI',
+			'MetalPopupMenuSeparatorUI',
+			'MetalLookAndFeel',
+			'MetalLabelUI',
+			'MetalInternalFrameUI',
+			'MetalInternalFrameTitlePane',
+			'MetalIconFactory.TreeLeafIcon',
+			'MetalIconFactory.TreeFolderIcon',
+			'MetalIconFactory.TreeControlIcon',
+			'MetalIconFactory.PaletteCloseIcon',
+			'MetalIconFactory.FolderIcon16',
+			'MetalIconFactory.FileIcon16',
+			'MetalIconFactory',
+			'MetalFileChooserUI',
+			'MetalDesktopIconUI',
+			'MetalComboBoxUI',
+			'MetalComboBoxIcon',
+			'MetalComboBoxEditor.UIResource',
+			'MetalComboBoxEditor',
+			'MetalComboBoxButton',
+			'MetalCheckBoxUI',
+			'MetalCheckBoxIcon',
+			'MetalButtonUI',
+			'MetalBorders.ToolBarBorder',
+			'MetalBorders.ToggleButtonBorder',
+			'MetalBorders.TextFieldBorder',
+			'MetalBorders.TableHeaderBorder',
+			'MetalBorders.ScrollPaneBorder',
+			'MetalBorders.RolloverButtonBorder',
+			'MetalBorders.PopupMenuBorder',
+			'MetalBorders.PaletteBorder',
+			'MetalBorders.OptionDialogBorder',
+			'MetalBorders.MenuItemBorder',
+			'MetalBorders.MenuBarBorder',
+			'MetalBorders.InternalFrameBorder',
+			'MetalBorders.Flush3DBorder',
+			'MetalBorders.ButtonBorder',
+			'MetalBorders',
+			'MetaMessage',
+			'MetaEventListener',
+			'MessageFormat',
+			'MessageDigestSpi',
+			'MessageDigest',
+			'MenuShortcut',
+			'MenuSelectionManager',
+			'MenuListener',
+			'MenuKeyListener',
+			'MenuKeyEvent',
+			'MenuItemUI',
+			'MenuItem',
+			'MenuEvent',
+			'MenuElement',
+			'MenuDragMouseListener',
+			'MenuDragMouseEvent',
+			'MenuContainer',
+			'MenuComponent',
+			'MenuBarUI',
+			'MenuBar',
+			'Menu',
+			'MemoryImageSource',
+			'Member',
+			'MediaTracker',
+			'MatteBorder',
+			'Math',
+			'MarshalledObject',
+			'MarshalException',
+			'Map.Entry',
+			'Map',
+			'Manifest',
+			'MalformedURLException',
+			'MalformedLinkException',
+			'MARSHAL',
+			'LookupTable',
+			'LookupOp',
+			'LookAndFeel',
+			'LongSeqHolder',
+			'LongSeqHelper',
+			'LongLongSeqHolder',
+			'LongLongSeqHelper',
+			'LongHolder',
+			'Long',
+			'LogStream',
+			'LocateRegistry',
+			'Locale',
+			'LoaderHandler',
+			'ListView',
+			'ListUI',
+			'ListSelectionModel',
+			'ListSelectionListener',
+			'ListSelectionEvent',
+			'ListResourceBundle',
+			'ListModel',
+			'ListIterator',
+			'ListDataListener',
+			'ListDataEvent',
+			'ListCellRenderer',
+			'List',
+			'List',
+			'LinkedList',
+			'LinkageError',
+			'LinkRef',
+			'LinkLoopException',
+			'LinkException',
+			'LineUnavailableException',
+			'LineNumberReader',
+			'LineNumberInputStream',
+			'LineMetrics',
+			'LineListener',
+			'LineEvent.Type',
+			'LineEvent',
+			'LineBreakMeasurer',
+			'LineBorder',
+			'Line2D.Float',
+			'Line2D.Double',
+			'Line2D',
+			'Line.Info',
+			'Line',
+			'LimitExceededException',
+			'Lease',
+			'LdapReferralException',
+			'LdapContext',
+			'LayoutQueue',
+			'LayoutManager2',
+			'LayoutManager',
+			'LayeredHighlighter.LayerPainter',
+			'LayeredHighlighter',
+			'LastOwnerException',
+			'LabelView',
+			'LabelUI',
+			'Label',
+			'Keymap',
+			'KeyStroke',
+			'KeyStoreSpi',
+			'KeyStoreException',
+			'KeyStore',
+			'KeySpec',
+			'KeyPairGeneratorSpi',
+			'KeyPairGenerator',
+			'KeyPair',
+			'KeyManagementException',
+			'KeyListener',
+			'KeyFactorySpi',
+			'KeyFactory',
+			'KeyException',
+			'KeyEvent',
+			'KeyAdapter',
+			'Key',
+			'Kernel',
+			'JobAttributes.SidesType',
+			'JobAttributes.MultipleDocumentHandlingType',
+			'JobAttributes.DialogType',
+			'JobAttributes.DestinationType',
+			'JobAttributes.DefaultSelectionType',
+			'JobAttributes',
+			'JarURLConnection',
+			'JarOutputStream',
+			'JarInputStream',
+			'JarFile',
+			'JarException',
+			'JarEntry',
+			'JWindow',
+			'JViewport',
+			'JTree.EmptySelectionModel',
+			'JTree.DynamicUtilTreeNode',
+			'JTree',
+			'JToolTip',
+			'JToolBar.Separator',
+			'JToolBar',
+			'JToggleButton.ToggleButtonModel',
+			'JToggleButton',
+			'JTextPane',
+			'JTextField',
+			'JTextComponent.KeyBinding',
+			'JTextComponent',
+			'JTextArea',
+			'JTableHeader',
+			'JTable',
+			'JTabbedPane',
+			'JSplitPane',
+			'JSlider',
+			'JSeparator',
+			'JScrollPane',
+			'JScrollBar',
+			'JRootPane',
+			'JRadioButtonMenuItem',
+			'JRadioButton',
+			'JProgressBar',
+			'JPopupMenu.Separator',
+			'JPopupMenu',
+			'JPasswordField',
+			'JPanel',
+			'JOptionPane',
+			'JMenuItem',
+			'JMenuBar',
+			'JMenu',
+			'JList',
+			'JLayeredPane',
+			'JLabel',
+			'JInternalFrame.JDesktopIcon',
+			'JInternalFrame',
+			'JFrame',
+			'JFileChooser',
+			'JEditorPane',
+			'JDialog',
+			'JDesktopPane',
+			'JComponent',
+			'JComboBox.KeySelectionManager',
+			'JComboBox',
+			'JColorChooser',
+			'JCheckBoxMenuItem',
+			'JCheckBox',
+			'JButton',
+			'JApplet',
+			'Iterator',
+			'ItemSelectable',
+			'ItemListener',
+			'ItemEvent',
+			'IstringHelper',
+			'InvokeHandler',
+			'InvocationTargetException',
+			'InvocationHandler',
+			'InvocationEvent',
+			'InvalidValue',
+			'InvalidTransactionException',
+			'InvalidSeq',
+			'InvalidSearchFilterException',
+			'InvalidSearchControlsException',
+			'InvalidParameterSpecException',
+			'InvalidParameterException',
+			'InvalidObjectException',
+			'InvalidNameHolder',
+			'InvalidNameHelper',
+			'InvalidNameException',
+			'InvalidName',
+			'InvalidName',
+			'InvalidMidiDataException',
+			'InvalidKeySpecException',
+			'InvalidKeyException',
+			'InvalidDnDOperationException',
+			'InvalidClassException',
+			'InvalidAttributesException',
+			'InvalidAttributeValueException',
+			'InvalidAttributeIdentifierException',
+			'InvalidAlgorithmParameterException',
+			'Invalid',
+			'Introspector',
+			'IntrospectionException',
+			'InterruptedNamingException',
+			'InterruptedIOException',
+			'InterruptedException',
+			'InternalFrameUI',
+			'InternalFrameListener',
+			'InternalFrameEvent',
+			'InternalFrameAdapter',
+			'InternalError',
+			'Integer',
+			'IntHolder',
+			'InsufficientResourcesException',
+			'Instrument',
+			'InstantiationException',
+			'InstantiationError',
+			'InsetsUIResource',
+			'Insets',
+			'InputVerifier',
+			'InputSubset',
+			'InputStreamReader',
+			'InputStream',
+			'InputStream',
+			'InputStream',
+			'InputMethodRequests',
+			'InputMethodListener',
+			'InputMethodHighlight',
+			'InputMethodEvent',
+			'InputMethodDescriptor',
+			'InputMethodContext',
+			'InputMethod',
+			'InputMapUIResource',
+			'InputMap',
+			'InputEvent',
+			'InputContext',
+			'InlineView',
+			'Initializer',
+			'InitialLdapContext',
+			'InitialDirContext',
+			'InitialContextFactoryBuilder',
+			'InitialContextFactory',
+			'InitialContext',
+			'InheritableThreadLocal',
+			'InflaterInputStream',
+			'Inflater',
+			'InetAddress',
+			'IndirectionException',
+			'IndexedPropertyDescriptor',
+			'IndexOutOfBoundsException',
+			'IndexColorModel',
+			'InconsistentTypeCode',
+			'IncompatibleClassChangeError',
+			'ImagingOpException',
+			'ImageProducer',
+			'ImageObserver',
+			'ImageIcon',
+			'ImageGraphicAttribute',
+			'ImageFilter',
+			'ImageConsumer',
+			'Image',
+			'IllegalThreadStateException',
+			'IllegalStateException',
+			'IllegalPathStateException',
+			'IllegalMonitorStateException',
+			'IllegalComponentStateException',
+			'IllegalArgumentException',
+			'IllegalAccessException',
+			'IllegalAccessError',
+			'IdentityScope',
+			'Identity',
+			'IdentifierHelper',
+			'IconView',
+			'IconUIResource',
+			'Icon',
+			'IRObjectOperations',
+			'IRObject',
+			'IOException',
+			'INV_POLICY',
+			'INV_OBJREF',
+			'INV_IDENT',
+			'INV_FLAG',
+			'INVALID_TRANSACTION',
+			'INTF_REPOS',
+			'INTERNAL',
+			'INITIALIZE',
+			'IMP_LIMIT',
+			'IDLTypeOperations',
+			'IDLTypeHelper',
+			'IDLType',
+			'IDLEntity',
+			'ICC_ProfileRGB',
+			'ICC_ProfileGray',
+			'ICC_Profile',
+			'ICC_ColorSpace',
+			'HyperlinkListener',
+			'HyperlinkEvent.EventType',
+			'HyperlinkEvent',
+			'HttpURLConnection',
+			'Highlighter.HighlightPainter',
+			'Highlighter.Highlight',
+			'Highlighter',
+			'HierarchyListener',
+			'HierarchyEvent',
+			'HierarchyBoundsListener',
+			'HierarchyBoundsAdapter',
+			'Hashtable',
+			'HashSet',
+			'HashMap',
+			'HasControls',
+			'HTMLWriter',
+			'HTMLFrameHyperlinkEvent',
+			'HTMLEditorKit.ParserCallback',
+			'HTMLEditorKit.Parser',
+			'HTMLEditorKit.LinkController',
+			'HTMLEditorKit.InsertHTMLTextAction',
+			'HTMLEditorKit.HTMLTextAction',
+			'HTMLEditorKit.HTMLFactory',
+			'HTMLEditorKit',
+			'HTMLDocument.Iterator',
+			'HTMLDocument',
+			'HTML.UnknownTag',
+			'HTML.Tag',
+			'HTML.Attribute',
+			'HTML',
+			'GuardedObject',
+			'Guard',
+			'Group',
+			'GridLayout',
+			'GridBagLayout',
+			'GridBagConstraints',
+			'GregorianCalendar',
+			'GrayFilter',
+			'GraphicsEnvironment',
+			'GraphicsDevice',
+			'GraphicsConfiguration',
+			'GraphicsConfigTemplate',
+			'Graphics2D',
+			'Graphics',
+			'GraphicAttribute',
+			'GradientPaint',
+			'GlyphView.GlyphPainter',
+			'GlyphView',
+			'GlyphVector',
+			'GlyphMetrics',
+			'GlyphJustificationInfo',
+			'GeneralSecurityException',
+			'GeneralPath',
+			'GapContent',
+			'GZIPOutputStream',
+			'GZIPInputStream',
+			'Frame',
+			'FormatConversionProvider',
+			'Format',
+			'FormView',
+			'FontUIResource',
+			'FontRenderContext',
+			'FontMetrics',
+			'FontFormatException',
+			'Font',
+			'FocusManager',
+			'FocusListener',
+			'FocusEvent',
+			'FocusAdapter',
+			'FlowView.FlowStrategy',
+			'FlowView',
+			'FlowLayout',
+			'FloatSeqHolder',
+			'FloatSeqHelper',
+			'FloatHolder',
+			'FloatControl.Type',
+			'FloatControl',
+			'Float',
+			'FlavorMap',
+			'FlatteningPathIterator',
+			'FixedHolder',
+			'FixedHeightLayoutCache',
+			'FilteredImageSource',
+			'FilterWriter',
+			'FilterReader',
+			'FilterOutputStream',
+			'FilterInputStream',
+			'FilenameFilter',
+			'FileWriter',
+			'FileView',
+			'FileSystemView',
+			'FileReader',
+			'FilePermission',
+			'FileOutputStream',
+			'FileNotFoundException',
+			'FileNameMap',
+			'FileInputStream',
+			'FileFilter',
+			'FileFilter',
+			'FileDialog',
+			'FileDescriptor',
+			'FileChooserUI',
+			'File',
+			'FieldView',
+			'FieldPosition',
+			'FieldNameHelper',
+			'Field',
+			'FeatureDescriptor',
+			'FREE_MEM',
+			'Externalizable',
+			'ExtendedResponse',
+			'ExtendedRequest',
+			'ExportException',
+			'ExpandVetoException',
+			'ExceptionList',
+			'ExceptionInInitializerError',
+			'Exception',
+			'EventSetDescriptor',
+			'EventQueue',
+			'EventObject',
+			'EventListenerList',
+			'EventListener',
+			'EventDirContext',
+			'EventContext',
+			'Event',
+			'EtchedBorder',
+			'Error',
+			'Environment',
+			'Enumeration',
+			'EnumControl.Type',
+			'EnumControl',
+			'Entity',
+			'EncodedKeySpec',
+			'EmptyStackException',
+			'EmptyBorder',
+			'Ellipse2D.Float',
+			'Ellipse2D.Double',
+			'Ellipse2D',
+			'ElementIterator',
+			'Element',
+			'EditorKit',
+			'EOFException',
+			'DynamicImplementation',
+			'DynValue',
+			'DynUnion',
+			'DynStruct',
+			'DynSequence',
+			'DynFixed',
+			'DynEnum',
+			'DynArray',
+			'DynAny',
+			'DropTargetListener',
+			'DropTargetEvent',
+			'DropTargetDropEvent',
+			'DropTargetDragEvent',
+			'DropTargetContext',
+			'DropTarget.DropTargetAutoScroller',
+			'DropTarget',
+			'DriverPropertyInfo',
+			'DriverManager',
+			'Driver',
+			'DragSourceListener',
+			'DragSourceEvent',
+			'DragSourceDropEvent',
+			'DragSourceDragEvent',
+			'DragSourceContext',
+			'DragSource',
+			'DragGestureRecognizer',
+			'DragGestureListener',
+			'DragGestureEvent',
+			'DoubleSeqHolder',
+			'DoubleSeqHelper',
+			'DoubleHolder',
+			'Double',
+			'DomainManagerOperations',
+			'DomainManager',
+			'DomainCombiner',
+			'DocumentParser',
+			'DocumentListener',
+			'DocumentEvent.EventType',
+			'DocumentEvent.ElementChange',
+			'DocumentEvent',
+			'Document',
+			'DnDConstants',
+			'DirectoryManager',
+			'DirectColorModel',
+			'DirStateFactory.Result',
+			'DirStateFactory',
+			'DirObjectFactory',
+			'DirContext',
+			'DimensionUIResource',
+			'Dimension2D',
+			'Dimension',
+			'DigestOutputStream',
+			'DigestInputStream',
+			'DigestException',
+			'Dictionary',
+			'Dialog',
+			'DesktopPaneUI',
+			'DesktopManager',
+			'DesktopIconUI',
+			'DesignMode',
+			'Delegate',
+			'DeflaterOutputStream',
+			'Deflater',
+			'DefinitionKindHelper',
+			'DefinitionKind',
+			'DefaultTreeSelectionModel',
+			'DefaultTreeModel',
+			'DefaultTreeCellRenderer',
+			'DefaultTreeCellEditor',
+			'DefaultTextUI',
+			'DefaultTableModel',
+			'DefaultTableColumnModel',
+			'DefaultTableCellRenderer.UIResource',
+			'DefaultTableCellRenderer',
+			'DefaultStyledDocument.ElementSpec',
+			'DefaultStyledDocument.AttributeUndoableEdit',
+			'DefaultStyledDocument',
+			'DefaultSingleSelectionModel',
+			'DefaultMutableTreeNode',
+			'DefaultMetalTheme',
+			'DefaultMenuLayout',
+			'DefaultListSelectionModel',
+			'DefaultListModel',
+			'DefaultListCellRenderer.UIResource',
+			'DefaultListCellRenderer',
+			'DefaultHighlighter.DefaultHighlightPainter',
+			'DefaultHighlighter',
+			'DefaultFocusManager',
+			'DefaultEditorKit.PasteAction,',
+			'DefaultEditorKit.InsertTabAction',
+			'DefaultEditorKit.InsertContentAction',
+			'DefaultEditorKit.InsertBreakAction',
+			'DefaultEditorKit.DefaultKeyTypedAction',
+			'DefaultEditorKit.CutAction',
+			'DefaultEditorKit.CopyAction',
+			'DefaultEditorKit.BeepAction',
+			'DefaultEditorKit',
+			'DefaultDesktopManager',
+			'DefaultComboBoxModel',
+			'DefaultColorSelectionModel',
+			'DefaultCellEditor',
+			'DefaultCaret',
+			'DefaultButtonModel',
+			'DefaultBoundedRangeModel',
+			'DecimalFormatSymbols',
+			'DecimalFormat',
+			'DebugGraphics',
+			'DateFormatSymbols',
+			'DateFormat',
+			'Date',
+			'DatagramSocketImplFactory',
+			'DatagramSocketImpl',
+			'DatagramSocket',
+			'DatagramPacket',
+			'DatabaseMetaData',
+			'DataTruncation',
+			'DataOutputStream',
+			'DataOutputStream',
+			'DataOutput',
+			'DataLine.Info',
+			'DataLine',
+			'DataInputStream',
+			'DataInput',
+			'DataFormatException',
+			'DataFlavor',
+			'DataBufferUShort',
+			'DataBufferShort',
+			'DataBufferInt',
+			'DataBufferByte',
+			'DataBuffer',
+			'DTDConstants',
+			'DTD',
+			'DSAPublicKeySpec',
+			'DSAPublicKey',
+			'DSAPrivateKeySpec',
+			'DSAPrivateKey',
+			'DSAParams',
+			'DSAParameterSpec',
+			'DSAKeyPairGenerator',
+			'DSAKey',
+			'DGC',
+			'DATA_CONVERSION',
+			'Customizer',
+			'CustomValue',
+			'CustomMarshal',
+			'Cursor',
+			'CurrentOperations',
+			'CurrentHolder',
+			'CurrentHelper',
+			'Current',
+			'CubicCurve2D.Float',
+			'CubicCurve2D.Double',
+			'CubicCurve2D',
+			'CropImageFilter',
+			'ConvolveOp',
+			'ControllerEventListener',
+			'ControlFactory',
+			'Control.Type',
+			'Control',
+			'ContextualRenderedImageFactory',
+			'ContextNotEmptyException',
+			'ContextList',
+			'Context',
+			'ContentModel',
+			'ContentHandlerFactory',
+			'ContentHandler',
+			'ContainerListener',
+			'ContainerEvent',
+			'ContainerAdapter',
+			'Container',
+			'Constructor',
+			'Connection',
+			'ConnectIOException',
+			'ConnectException',
+			'ConnectException',
+			'ConfigurationException',
+			'ConcurrentModificationException',
+			'CompoundName',
+			'CompoundEdit',
+			'CompoundControl.Type',
+			'CompoundControl',
+			'CompoundBorder',
+			'CompositeView',
+			'CompositeName',
+			'CompositeContext',
+			'Composite',
+			'ComponentView',
+			'ComponentUI',
+			'ComponentSampleModel',
+			'ComponentOrientation',
+			'ComponentListener',
+			'ComponentInputMapUIResource',
+			'ComponentInputMap',
+			'ComponentEvent',
+			'ComponentColorModel',
+			'ComponentAdapter',
+			'Component',
+			'CompletionStatusHelper',
+			'CompletionStatus',
+			'Compiler',
+			'Comparator',
+			'Comparable',
+			'CommunicationException',
+			'ComboPopup',
+			'ComboBoxUI',
+			'ComboBoxModel',
+			'ComboBoxEditor',
+			'ColorUIResource',
+			'ColorSpace',
+			'ColorSelectionModel',
+			'ColorModel',
+			'ColorConvertOp',
+			'ColorChooserUI',
+			'ColorChooserComponentFactory',
+			'Color',
+			'Collections',
+			'Collection',
+			'Collator',
+			'CollationKey',
+			'CollationElementIterator',
+			'CodeSource',
+			'Cloneable',
+			'CloneNotSupportedException',
+			'Clob',
+			'ClipboardOwner',
+			'Clipboard',
+			'Clip',
+			'ClassNotFoundException',
+			'ClassLoader',
+			'ClassFormatError',
+			'ClassDesc',
+			'ClassCircularityError',
+			'ClassCastException',
+			'Class',
+			'ChoiceFormat',
+			'Choice',
+			'Checksum',
+			'CheckedOutputStream',
+			'CheckedInputStream',
+			'CheckboxMenuItem',
+			'CheckboxGroup',
+			'Checkbox',
+			'CharacterIterator',
+			'Character.UnicodeBlock',
+			'Character.Subset',
+			'Character',
+			'CharSeqHolder',
+			'CharSeqHelper',
+			'CharHolder',
+			'CharConversionException',
+			'CharArrayWriter',
+			'CharArrayReader',
+			'ChangedCharSetException',
+			'ChangeListener',
+			'ChangeEvent',
+			'CertificateParsingException',
+			'CertificateNotYetValidException',
+			'CertificateFactorySpi',
+			'CertificateFactory',
+			'CertificateExpiredException',
+			'CertificateException',
+			'CertificateEncodingException',
+			'Certificate.CertificateRep',
+			'Certificate',
+			'CellRendererPane',
+			'CellEditorListener',
+			'CellEditor',
+			'CaretListener',
+			'CaretEvent',
+			'Caret',
+			'CardLayout',
+			'Canvas',
+			'CannotUndoException',
+			'CannotRedoException',
+			'CannotProceedHolder',
+			'CannotProceedHelper',
+			'CannotProceedException',
+			'CannotProceed',
+			'CallableStatement',
+			'Calendar',
+			'CTX_RESTRICT_SCOPE',
+			'CSS.Attribute',
+			'CSS',
+			'CRLException',
+			'CRL',
+			'CRC32',
+			'COMM_FAILURE',
+			'CMMException',
+			'ByteLookupTable',
+			'ByteHolder',
+			'ByteArrayOutputStream',
+			'ByteArrayInputStream',
+			'Byte',
+			'ButtonUI',
+			'ButtonModel',
+			'ButtonGroup',
+			'Button',
+			'BufferedWriter',
+			'BufferedReader',
+			'BufferedOutputStream',
+			'BufferedInputStream',
+			'BufferedImageOp',
+			'BufferedImageFilter',
+			'BufferedImage',
+			'BreakIterator',
+			'BoxedValueHelper',
+			'BoxView',
+			'BoxLayout',
+			'Box.Filler',
+			'Box',
+			'Bounds',
+			'BoundedRangeModel',
+			'BorderUIResource.TitledBorderUIResource',
+			'BorderUIResource.MatteBorderUIResource',
+			'BorderUIResource.LineBorderUIResource',
+			'BorderUIResource.EtchedBorderUIResource',
+			'BorderUIResource.EmptyBorderUIResource',
+			'BorderUIResource.CompoundBorderUIResource',
+			'BorderUIResource.BevelBorderUIResource',
+			'BorderUIResource',
+			'BorderLayout',
+			'BorderFactory',
+			'Border',
+			'BooleanSeqHolder',
+			'BooleanSeqHelper',
+			'BooleanHolder',
+			'BooleanControl.Type',
+			'BooleanControl',
+			'Boolean',
+			'Book',
+			'BlockView',
+			'Blob',
+			'BitSet',
+			'BindingTypeHolder',
+			'BindingTypeHelper',
+			'BindingType',
+			'BindingListHolder',
+			'BindingListHelper',
+			'BindingIteratorOperations',
+			'BindingIteratorHolder',
+			'BindingIteratorHelper',
+			'BindingIterator',
+			'BindingHolder',
+			'BindingHelper',
+			'Binding',
+			'BindException',
+			'BinaryRefAddr',
+			'BigInteger',
+			'BigDecimal',
+			'BevelBorder',
+			'Beans',
+			'BeanInfo',
+			'BeanDescriptor',
+			'BeanContextSupport.BCSIterator',
+			'BeanContextSupport',
+			'BeanContextServicesSupport.BCSSServiceProvider',
+			'BeanContextServicesSupport',
+			'BeanContextServicesListener',
+			'BeanContextServices',
+			'BeanContextServiceRevokedListener',
+			'BeanContextServiceRevokedEvent',
+			'BeanContextServiceProviderBeanInfo',
+			'BeanContextServiceProvider',
+			'BeanContextServiceAvailableEvent',
+			'BeanContextProxy',
+			'BeanContextMembershipListener',
+			'BeanContextMembershipEvent',
+			'BeanContextEvent',
+			'BeanContextContainerProxy',
+			'BeanContextChildSupport',
+			'BeanContextChildComponentProxy',
+			'BeanContextChild',
+			'BeanContext',
+			'BatchUpdateException',
+			'BasicViewportUI',
+			'BasicTreeUI',
+			'BasicToolTipUI',
+			'BasicToolBarUI',
+			'BasicToolBarSeparatorUI',
+			'BasicToggleButtonUI',
+			'BasicTextUI.BasicHighlighter',
+			'BasicTextUI.BasicCaret',
+			'BasicTextUI',
+			'BasicTextPaneUI',
+			'BasicTextFieldUI',
+			'BasicTextAreaUI',
+			'BasicTableUI',
+			'BasicTableHeaderUI',
+			'BasicTabbedPaneUI',
+			'BasicStroke',
+			'BasicSplitPaneUI',
+			'BasicSplitPaneDivider',
+			'BasicSliderUI',
+			'BasicSeparatorUI',
+			'BasicScrollPaneUI',
+			'BasicScrollBarUI',
+			'BasicRootPaneUI',
+			'BasicRadioButtonUI',
+			'BasicRadioButtonMenuItemUI',
+			'BasicProgressBarUI',
+			'BasicPopupMenuUI',
+			'BasicPopupMenuSeparatorUI',
+			'BasicPermission',
+			'BasicPasswordFieldUI',
+			'BasicPanelUI',
+			'BasicOptionPaneUI.ButtonAreaLayout',
+			'BasicOptionPaneUI',
+			'BasicMenuUI',
+			'BasicMenuItemUI',
+			'BasicMenuBarUI',
+			'BasicLookAndFeel',
+			'BasicListUI',
+			'BasicLabelUI',
+			'BasicInternalFrameUI',
+			'BasicInternalFrameTitlePane',
+			'BasicIconFactory',
+			'BasicHTML',
+			'BasicGraphicsUtils',
+			'BasicFileChooserUI',
+			'BasicEditorPaneUI',
+			'BasicDirectoryModel',
+			'BasicDesktopPaneUI',
+			'BasicDesktopIconUI',
+			'BasicComboPopup',
+			'BasicComboBoxUI',
+			'BasicComboBoxRenderer.UIResource',
+			'BasicComboBoxRenderer',
+			'BasicComboBoxEditor.UIResource',
+			'BasicComboBoxEditor',
+			'BasicColorChooserUI',
+			'BasicCheckBoxUI',
+			'BasicCheckBoxMenuItemUI',
+			'BasicButtonUI',
+			'BasicButtonListener',
+			'BasicBorders.ToggleButtonBorder',
+			'BasicBorders.SplitPaneBorder',
+			'BasicBorders.RadioButtonBorder',
+			'BasicBorders.MenuBarBorder',
+			'BasicBorders.MarginBorder',
+			'BasicBorders.FieldBorder',
+			'BasicBorders.ButtonBorder',
+			'BasicBorders',
+			'BasicAttributes',
+			'BasicAttribute',
+			'BasicArrowButton',
+			'BandedSampleModel',
+			'BandCombineOp',
+			'BadLocationException',
+			'BadKind',
+			'BAD_TYPECODE',
+			'BAD_POLICY_VALUE',
+			'BAD_POLICY_TYPE',
+			'BAD_POLICY',
+			'BAD_PARAM',
+			'BAD_OPERATION',
+			'BAD_INV_ORDER',
+			'BAD_CONTEXT',
+			'Autoscroll',
+			'Authenticator',
+			'AuthenticationNotSupportedException',
+			'AuthenticationException',
+			'AudioSystem',
+			'AudioPermission',
+			'AudioInputStream',
+			'AudioFormat.Encoding',
+			'AudioFormat',
+			'AudioFileWriter',
+			'AudioFileReader',
+			'AudioFileFormat.Type',
+			'AudioFileFormat',
+			'AudioClip',
+			'Attributes.Name',
+			'Attributes',
+			'AttributedString',
+			'AttributedCharacterIterator.Attribute',
+			'AttributedCharacterIterator',
+			'AttributeSet.ParagraphAttribute',
+			'AttributeSet.FontAttribute',
+			'AttributeSet.ColorAttribute',
+			'AttributeSet.CharacterAttribute',
+			'AttributeSet',
+			'AttributeModificationException',
+			'AttributeList',
+			'AttributeInUseException',
+			'Attribute',
+			'AsyncBoxView',
+			'Arrays',
+			'ArrayStoreException',
+			'ArrayList',
+			'ArrayIndexOutOfBoundsException',
+			'Array',
+			'ArithmeticException',
+			'AreaAveragingScaleFilter',
+			'Area',
+			'Arc2D.Float',
+			'Arc2D.Double',
+			'Arc2D',
+			'ApplicationException',
+			'AppletStub',
+			'AppletInitializer',
+			'AppletContext',
+			'Applet',
+			'AnySeqHolder',
+			'AnySeqHelper',
+			'AnyHolder',
+			'Any',
+			'Annotation',
+			'AncestorListener',
+			'AncestorEvent',
+			'AlreadyBoundHolder',
+			'AlreadyBoundHelper',
+			'AlreadyBoundException',
+			'AlreadyBound',
+			'AlphaComposite',
+			'AllPermission',
+			'AlgorithmParametersSpi',
+			'AlgorithmParameters',
+			'AlgorithmParameterSpec',
+			'AlgorithmParameterGeneratorSpi',
+			'AlgorithmParameterGenerator',
+			'AffineTransformOp',
+			'AffineTransform',
+			'Adler32',
+			'AdjustmentListener',
+			'AdjustmentEvent',
+			'Adjustable',
+			'ActiveEvent',
+			'Activator',
+			'ActivationSystem',
+			'ActivationMonitor',
+			'ActivationInstantiator',
+			'ActivationID',
+			'ActivationGroupID',
+			'ActivationGroupDesc.CommandEnvironment',
+			'ActivationGroupDesc',
+			'ActivationGroup',
+			'ActivationException',
+			'ActivationDesc',
+			'ActivateFailedException',
+			'Activatable',
+			'ActionMapUIResource',
+			'ActionMap',
+			'ActionListener',
+			'ActionEvent',
+			'Action',
+			'AclNotFoundException',
+			'AclEntry',
+			'Acl',
+			'AccessibleValue',
+			'AccessibleText',
+			'AccessibleTableModelChange',
+			'AccessibleTable',
+			'AccessibleStateSet',
+			'AccessibleState',
+			'AccessibleSelection',
+			'AccessibleRole',
+			'AccessibleResourceBundle',
+			'AccessibleRelationSet',
+			'AccessibleRelation',
+			'AccessibleObject',
+			'AccessibleIcon',
+			'AccessibleHypertext',
+			'AccessibleHyperlink',
+			'AccessibleContext',
+			'AccessibleComponent',
+			'AccessibleBundle',
+			'AccessibleAction',
+			'Accessible',
+			'AccessException',
+			'AccessController',
+			'AccessControlException',
+			'AccessControlContext',
+			'AbstractWriter',
+			'AbstractUndoableEdit',
+			'AbstractTableModel',
+			'AbstractSet',
+			'AbstractSequentialList',
+			'AbstractMethodError',
+			'AbstractMap',
+			'AbstractListModel',
+			'AbstractList',
+			'AbstractLayoutCache.NodeDimensions',
+			'AbstractLayoutCache',
+			'AbstractDocument.ElementEdit',
+			'AbstractDocument.Content',
+			'AbstractDocument.AttributeContext',
+			'AbstractDocument',
+			'AbstractColorChooserPanel',
+			'AbstractCollection',
+			'AbstractCellEditor',
+			'AbstractButton',
+			'AbstractBorder',
+			'AbstractAction',
+			'AWTPermission',
+			'AWTException',
+			'AWTEventMulticaster',
+			'AWTEventListener',
+			'AWTEvent',
+			'AWTError',
+			'ARG_OUT',
+			'ARG_INOUT',
+			'ARG_IN'
+			),
+		4 => array(
+			'void',
+			'short',
+			'long',
+			'int',
+			'double',
+			'char',
+			'byte',
+			'boolean',
+			'float'
+			),
+		5 => array(
+			'toList',
+			'subMap',
+			'sort',
+			'size',
+			'reverseEach',
+			'reverse',
+			'pop',
+			'min',
+			'max',
+			'join',
+			'intersect',
+			'inject',
+			'grep',
+			'get',
+			'flatten',
+			'findIndexOf',
+			'findAll',
+			'find',
+			'eachWithIndex',
+			'eachPropertyName',
+			'eachProperty',
+			'each',
+			'count',
+			'collect',
+			'asSynchronized',
+			'asImmutable',
+			'allProperties'
+			),
+		6 => array(
+			'tokenize',
+			'toURL',
+			'toLong',
+			'toList',
+			'toCharacter',
+			'padRight',
+			'padLeft',
+			'eachMatch',
+			'contains',
+			'center'
+			),
+		7 => array(
+			'writeLine',
+			'write',
+			'withWriterAppend',
+			'withWriter',
+			'withStreams',
+			'withStream',
+			'withReader',
+			'withPrintWriter',
+			'withOutputStream',
+			'transformLine',
+			'transformChar',
+			'splitEachLine',
+			'getText',
+			'filterLine',
+			'encodeBase64',
+			'eachLines',
+			'eachLine',
+			'eachFileRecurse',
+			'eachFile',
+			'eachByte',
+			'append'
+			),
+		8 => array(
+			'dump',
+			'inspect',
+			'invokeMethod',
+			'print',
+			'println',
+			'step',
+			'times',
+			'upto',
+			'use',
+			'getText',
+			'start',
+			'startDaemon',
+			'getLastMatcher'
+			),
+		9 => array(
+			'Sql',
+			'call',
+			'eachRow',
+			'execute',
+			'executeUpdate',
+			'close'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '|', '='
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => true,
+		4 => true,
+		5 => true,
+		6 => true,
+		7 => true,
+		8 => true,
+		9 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #aaaadd; font-weight: bold;',
+			4 => 'color: #993333;',
+			5 => 'color: #663399;',
+			6 => 'color: #CC0099;',
+			7 => 'color: #FFCC33;',
+			8 => 'color: #993399;',
+			9 => 'color: #993399; font-weight: bold;'
+			),
+		'COMMENTS' => array(
+			1=> 'color: #808080; font-style: italic;',
+			2=> 'color: #a1a100;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;'
+			)
+		),
+	'URLS' => array(
+		1 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		2 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		3 => 'http://www.google.de/search?as_q={FNAME}&num=100&hl=en&as_occt=url&as_sitesearch=java.sun.com%2Fj2se%2F1.5.0%2Fdocs%2Fapi%2F',
+		4 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		5 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		6 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		7 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		8 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		9 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		0 => '\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}'
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/html4strict.php 0.763/modules/pn_bbcode/pnincludes/geshi/html4strict.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/html4strict.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/html4strict.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,17 +4,19 @@
  * ---------------
  * Author: Nigel McNie (oracle.shinoda@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 102 $
  * Date Started: 2004/07/10
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:14:40 +0100 (Tue, 05 Sep 2006) $
  *
  * HTML 4.01 strict language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2005/12/28 (1.0.4)
+ *   -  Removed escape character for strings
  * 2004/11/27 (1.0.3)
- *  -  Added support for multiple object splitters
+ *   -  Added support for multiple object splitters
  * 2004/10/27 (1.0.2)
  *   -  Added support for URLs
  * 2004/08/05 (1.0.1)
@@ -55,7 +57,7 @@
 	'COMMENT_MULTI' => array('<!--' => '-->'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
 	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
+	'ESCAPE_CHAR' => '',
 	'KEYWORDS' => array(
 		1 => array(
 			),
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/idl.php 0.763/modules/pn_bbcode/pnincludes/geshi/idl.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/idl.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/idl.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,121 @@
+<?php
+/*************************************************************************************
+ * idl.php
+ * -------
+ * Author: Cedric Bosdonnat (cedricbosdo@openoffice.org)
+ * Copyright: (c) 2006 Cedric Bosdonnat
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.1.2.1 $
+ * Date Started: 2006/08/20
+ * Last Modified: $Date: 2006/08/22 10:25:45 $
+ *
+ * Unoidl language file for GeSHi.
+ *
+ * 2006/08/20 (1.0.0)
+ *  -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+
+$language_data = array (
+	'LANG_NAME' => 'Uno Idl',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'published', 'get', 'set', 'service', 'singleton', 'type', 'module', 'interface', 'struct',
+			'const', 'constants', 'exception', 'enum', 'raises', 'typedef'
+			),
+		2 => array(
+            'bound', 'maybeambiguous', 'maybedefault', 'maybevoid', 'oneway', 'optional',
+            'readonly', 'in', 'out', 'inout', 'attribute', 'transient', 'removable'
+          	),
+		3 => array(
+			'True', 'False', 'TRUE', 'FALSE'
+            ),
+		4 => array(
+		    'string', 'long', 'byte', 'hyper', 'boolean', 'any', 'char', 'double', 'long', 
+            'void', 'sequence', 'unsigned', '...'
+            ),
+		),
+	'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ';'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => true,
+		2 => true,
+		3 => true,
+		4 => true,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #990078; font-weight: bold',
+			2 => 'color: #36dd1c;',
+			3 => 'color: #990078; font-weight: bold',
+			4 => 'color: #0000ec;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #3f7f5f;',
+			2 => 'color: #808080;',
+			'MULTI' => 'color: #4080ff; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #666666; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #808080;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #0000dd;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		1 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/ini.php 0.763/modules/pn_bbcode/pnincludes/geshi/ini.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/ini.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/ini.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,18 @@
  * --------
  * Author: deguix (cevo_deguix@yahoo.com.br)
  * Copyright: (c) 2005 deguix
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
  * Date Started: 2005/03/27
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * INI language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2005/12/28 (1.0.1)
+ *   -  Removed unnecessary keyword style index
+ *   -  Added support for " strings
  * 2005/04/05 (1.0.0)
  *   -  First Release
  *
@@ -40,11 +43,11 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'ini',
+	'LANG_NAME' => 'INI',
 	'COMMENT_SINGLE' => array(0 => ';'),
 	'COMMENT_MULTI' => array(),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array(),
+	'QUOTEMARKS' => array('"'),
 	'ESCAPE_CHAR' => '',
 	'KEYWORDS' => array(
 		),
@@ -56,7 +59,6 @@
 		),
 	'STYLES' => array(
 		'KEYWORDS' => array(
-		    0 => ''
 			),
 		'COMMENTS' => array(
 			0 => 'color: #666666; font-style: italic;'
@@ -68,7 +70,7 @@
 		    0 => ''
 			),
 		'STRINGS' => array(
-		    0 => ''
+		    0 => 'color: #933;'
 			),
 		'NUMBERS' => array(
 		    0 => ''
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/inno.php 0.763/modules/pn_bbcode/pnincludes/geshi/inno.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/inno.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/inno.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Thomas Klingler (hotline@theratech.de) based on delphi.php from Jrja Norbert (jnorbi@vipmail.hu)
  * Copyright: (c) 2004 Jrja Norbert, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
  * Date Started: 2005/07/29
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * Inno Script language inkl. Delphi (Object Pascal) language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/java.php 0.763/modules/pn_bbcode/pnincludes/geshi/java.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/java.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/java.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,17 @@
  * --------
  * Author: Nigel McNie (oracle.shinoda@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
  * Date Started: 2004/07/10
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * Java language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2005/12/28 (1.0.4)
+ *   -  Added instanceof keyword
  * 2004/11/27 (1.0.3)
  *   -  Added support for multiple object splitters
  * 2004/08/05 (1.0.2)
@@ -58,7 +60,7 @@
 	'ESCAPE_CHAR' => '\\',
 	'KEYWORDS' => array(
 		1 => array(
-			'for', 'foreach', 'if', 'elseif', 'else', 'while', 'do',
+			'for', 'foreach', 'if', 'else', 'while', 'do',
 			'switch', 'case'
 			),
 		2 => array(
@@ -66,7 +68,9 @@
 			'private', 'protected', 'extends', 'break', 'class',
 			'new', 'try', 'catch', 'throws', 'finally', 'implements',
 			'interface', 'throw', 'native', 'synchronized', 'this',
-            'abstract', 'transient'
+            'abstract', 'transient', 'instanceof', 'assert', 'continue',
+            'default', 'enum', 'package', 'static', 'strictfp', 'super',
+            'volatile', 'const', 'goto'
 			),
 		3 => array(
 			'AbstractAction', 'AbstractBorder', 'AbstractButton', 'AbstractCellEditor',
@@ -1315,7 +1319,7 @@
 			'_Remote_Stub '
 			),
 		4 => array(
-			'static', 'void', 'double', 'int', 'real', 'boolean', 'byte', 'short', 'long', 'single'
+			'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
 			)
 		),
 	'SYMBOLS' => array(
@@ -1367,13 +1371,12 @@
 	'URLS' => array(
 		1 => '',
 		2 => '',
-		3 => 'http://www.google.com/search?q=allinurl%3A{FNAME}+java.sun.com&amp;bntl=1',
+		3 => 'http://www.google.com/search?hl=en&amp;q=allinurl%3A{FNAME}+java.sun.com&amp;bntI=I%27m%20Feeling%20Lucky',
 		4 => ''
 		),
 	'OOLANG' => true,
 	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
+		1 => '.'
 		),
 	'REGEXPS' => array(
 		),
@@ -1384,4 +1387,4 @@
 		)
 );
 
-?>
\ No newline at end of file
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/java5.php 0.763/modules/pn_bbcode/pnincludes/geshi/java5.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/java5.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/java5.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,1023 @@
+<?php
+/*************************************************************************************
+ * java.php
+ * --------
+ * Author: Nigel McNie (oracle.shinoda@gmail.com)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
+ * Date Started: 2004/07/10
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
+ *
+ * Java language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.4)
+ *   -  Added instanceof keyword
+ * 2004/11/27 (1.0.3)
+ *   -  Added support for multiple object splitters
+ * 2004/08/05 (1.0.2)
+ *   -  Added URL support
+ *   -  Added keyword "this", as bugs in GeSHi class ironed out
+ * 2004/08/05 (1.0.1)
+ *   -  Added support for symbols
+ *   -  Added extra missed keywords
+ * 2004/07/14 (1.0.0)
+ *   -  First Release
+ *
+ * TODO
+ * -------------------------
+ * *
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Java(TM) 2 Platform Standard Edition 5.0',
+	'COMMENT_SINGLE' => array(1 => '//'),   /* import statements are not comments! */
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			/* see the authoritative list of all 50 Java keywords at */
+			/* http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#229308 */
+
+			/* java keywords, part 1: control flow */
+			'case', 'default', 'do', 'else', 'for',
+			'goto', 'if', 'switch', 'while'
+
+			/* IMO 'break', 'continue', 'return' and 'throw' */
+                        /* should also be added to this group, as they   */
+			/* also manage the control flow,                 */
+			/* arguably 'try'/'catch'/'finally' as well      */
+			),
+		2 => array(
+			/* java keywords, part 2 */
+
+			'break', 'continue', 'return', 'throw',
+			'try', 'catch', 'finally',
+
+			'abstract', 'assert', 'class', 'const', 'enum', 'extends',
+			'final', 'implements', 'import', 'instanceof', 'interface',
+			'native', 'new', 'package', 'private', 'protected',
+			'public', 'static', 'strictfp', 'super', 'synchronized',
+			'this', 'throws', 'transient', 'volatile'
+			),
+		3 => array(
+			/* Java keywords, part 3: primitive data types and 'void' */
+			'boolean', 'byte', 'char', 'double',
+			'float', 'int', 'long', 'short', 'void'
+			),
+		4 => array(
+			/* other reserved words in Java: literals */
+			/* should be styled to look similar to numbers and Strings */
+			'false', 'null', 'true'
+			),
+		5 => array (
+			'Applet', 'AppletContext', 'AppletStub', 'AudioClip'
+			),
+		6 => array (
+			'AWTError', 'AWTEvent', 'AWTEventMulticaster', 'AWTException', 'AWTKeyStroke', 'AWTPermission', 'ActiveEvent', 'Adjustable', 'AlphaComposite', 'BasicStroke', 'BorderLayout', 'BufferCapabilities', 'BufferCapabilities.FlipContents', 'Button', 'Canvas', 'CardLayout', 'Checkbox', 'CheckboxGroup', 'CheckboxMenuItem', 'Choice', 'Color', 'Component', 'ComponentOrientation', 'Composite', 'CompositeContext', 'Container', 'ContainerOrderFocusTraversalPolicy', 'Cursor', 'DefaultFocusTraversalPolicy', 'DefaultKeyboardFocusManager', 'Dialog', 'Dimension', 'DisplayMode', 'EventQueue', 'FileDialog', 'FlowLayout', 'FocusTraversalPolicy', 'Font', 'FontFormatException', 'FontMetrics', 'Frame', 'GradientPaint', 'Graphics', 'Graphics2D', 'GraphicsConfigTemplate', 'GraphicsConfiguration', 'GraphicsDevice', 'GraphicsEnvironment', 'GridBagConstraints', 'GridBagLayout', 'GridLayout', 'HeadlessException', 'IllegalComponentStateException', 'Image', 'ImageCapabilities', 'Insets', 'ItemSelectable', 'JobAttributes',
+			'JobAttributes.DefaultSelectionType', 'JobAttributes.DestinationType', 'JobAttributes.DialogType', 'JobAttributes.MultipleDocumentHandlingType', 'JobAttributes.SidesType', 'KeyEventDispatcher', 'KeyEventPostProcessor', 'KeyboardFocusManager', 'Label', 'LayoutManager', 'LayoutManager2', 'MediaTracker', 'Menu', 'MenuBar', 'MenuComponent', 'MenuContainer', 'MenuItem', 'MenuShortcut', 'MouseInfo', 'PageAttributes', 'PageAttributes.ColorType', 'PageAttributes.MediaType', 'PageAttributes.OrientationRequestedType', 'PageAttributes.OriginType', 'PageAttributes.PrintQualityType', 'Paint', 'PaintContext', 'Panel', 'Point', 'PointerInfo', 'Polygon', 'PopupMenu', 'PrintGraphics', 'PrintJob', 'Rectangle', 'RenderingHints', 'RenderingHints.Key', 'Robot', 'ScrollPane', 'ScrollPaneAdjustable', 'Scrollbar', 'Shape', 'Stroke', 'SystemColor', 'TextArea', 'TextComponent', 'TextField', 'TexturePaint', 'Toolkit', 'Transparency', 'Window'
+			),
+		7 => array (
+			'CMMException', 'ColorSpace', 'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray', 'ICC_ProfileRGB', 'ProfileDataException'
+			),
+		8 => array (
+			'Clipboard', 'ClipboardOwner', 'DataFlavor', 'FlavorEvent', 'FlavorListener', 'FlavorMap', 'FlavorTable', 'MimeTypeParseException', 'StringSelection', 'SystemFlavorMap', 'Transferable', 'UnsupportedFlavorException'
+			),
+		9 => array (
+			'Autoscroll', 'DnDConstants', 'DragGestureEvent', 'DragGestureListener', 'DragGestureRecognizer', 'DragSource', 'DragSourceAdapter', 'DragSourceContext', 'DragSourceDragEvent', 'DragSourceDropEvent', 'DragSourceEvent', 'DragSourceListener', 'DragSourceMotionListener', 'DropTarget', 'DropTarget.DropTargetAutoScroller', 'DropTargetAdapter', 'DropTargetContext', 'DropTargetDragEvent', 'DropTargetDropEvent', 'DropTargetEvent', 'DropTargetListener', 'InvalidDnDOperationException', 'MouseDragGestureRecognizer'
+			),
+		10 => array (
+			'AWTEventListener', 'AWTEventListenerProxy', 'ActionEvent', 'ActionListener', 'AdjustmentEvent', 'AdjustmentListener', 'ComponentAdapter', 'ComponentEvent', 'ComponentListener', 'ContainerAdapter', 'ContainerEvent', 'ContainerListener', 'FocusAdapter', 'FocusEvent', 'FocusListener', 'HierarchyBoundsAdapter', 'HierarchyBoundsListener', 'HierarchyEvent', 'HierarchyListener', 'InputEvent', 'InputMethodEvent', 'InputMethodListener', 'InvocationEvent', 'ItemEvent', 'ItemListener', 'KeyAdapter', 'KeyEvent', 'KeyListener', 'MouseAdapter', 'MouseListener', 'MouseMotionAdapter', 'MouseMotionListener', 'MouseWheelEvent', 'MouseWheelListener', 'PaintEvent', 'TextEvent', 'TextListener', 'WindowAdapter', 'WindowEvent', 'WindowFocusListener', 'WindowListener', 'WindowStateListener'
+			),
+		11 => array (
+			'FontRenderContext', 'GlyphJustificationInfo', 'GlyphMetrics', 'GlyphVector', 'GraphicAttribute', 'ImageGraphicAttribute', 'LineBreakMeasurer', 'LineMetrics', 'MultipleMaster', 'NumericShaper', 'ShapeGraphicAttribute', 'TextAttribute', 'TextHitInfo', 'TextLayout', 'TextLayout.CaretPolicy', 'TextMeasurer', 'TransformAttribute'
+			),
+		12 => array (
+			'AffineTransform', 'Arc2D', 'Arc2D.Double', 'Arc2D.Float', 'Area', 'CubicCurve2D', 'CubicCurve2D.Double', 'CubicCurve2D.Float', 'Dimension2D', 'Ellipse2D', 'Ellipse2D.Double', 'Ellipse2D.Float', 'FlatteningPathIterator', 'GeneralPath', 'IllegalPathStateException', 'Line2D', 'Line2D.Double', 'Line2D.Float', 'NoninvertibleTransformException', 'PathIterator', 'Point2D', 'Point2D.Double', 'Point2D.Float', 'QuadCurve2D', 'QuadCurve2D.Double', 'QuadCurve2D.Float', 'Rectangle2D', 'Rectangle2D.Double', 'Rectangle2D.Float', 'RectangularShape', 'RoundRectangle2D', 'RoundRectangle2D.Double', 'RoundRectangle2D.Float'
+			),
+		13 => array (
+			'InputContext', 'InputMethodHighlight', 'InputMethodRequests', 'InputSubset'
+			),
+		14 => array (
+			'InputMethod', 'InputMethodContext', 'InputMethodDescriptor'
+			),
+		15 => array (
+			'AffineTransformOp', 'AreaAveragingScaleFilter', 'BandCombineOp', 'BandedSampleModel', 'BufferStrategy', 'BufferedImage', 'BufferedImageFilter', 'BufferedImageOp', 'ByteLookupTable', 'ColorConvertOp', 'ColorModel', 'ComponentColorModel', 'ComponentSampleModel', 'ConvolveOp', 'CropImageFilter', 'DataBuffer', 'DataBufferByte', 'DataBufferDouble', 'DataBufferFloat', 'DataBufferInt', 'DataBufferShort', 'DataBufferUShort', 'DirectColorModel', 'FilteredImageSource', 'ImageConsumer', 'ImageFilter', 'ImageObserver', 'ImageProducer', 'ImagingOpException', 'IndexColorModel', 'Kernel', 'LookupOp', 'LookupTable', 'MemoryImageSource', 'MultiPixelPackedSampleModel', 'PackedColorModel', 'PixelGrabber', 'PixelInterleavedSampleModel', 'RGBImageFilter', 'Raster', 'RasterFormatException', 'RasterOp', 'RenderedImage', 'ReplicateScaleFilter', 'RescaleOp', 'SampleModel', 'ShortLookupTable', 'SinglePixelPackedSampleModel', 'TileObserver', 'VolatileImage', 'WritableRaster', 'WritableRenderedImage'
+			),
+		16 => array (
+			'ContextualRenderedImageFactory', 'ParameterBlock', 'RenderContext', 'RenderableImage', 'RenderableImageOp', 'RenderableImageProducer', 'RenderedImageFactory'
+			),
+		17 => array (
+			'Book', 'PageFormat', 'Pageable', 'Paper', 'Printable', 'PrinterAbortException', 'PrinterException', 'PrinterGraphics', 'PrinterIOException', 'PrinterJob'
+			),
+		18 => array (
+			'AppletInitializer', 'BeanDescriptor', 'BeanInfo', 'Beans', 'Customizer', 'DefaultPersistenceDelegate', 'DesignMode', 'Encoder', 'EventHandler', 'EventSetDescriptor', 'ExceptionListener', 'Expression', 'FeatureDescriptor', 'IndexedPropertyChangeEvent', 'IndexedPropertyDescriptor', 'Introspector', 'MethodDescriptor', 'ParameterDescriptor', 'PersistenceDelegate', 'PropertyChangeEvent', 'PropertyChangeListener', 'PropertyChangeListenerProxy', 'PropertyChangeSupport', 'PropertyDescriptor', 'PropertyEditor', 'PropertyEditorManager', 'PropertyEditorSupport', 'PropertyVetoException', 'SimpleBeanInfo', 'VetoableChangeListener', 'VetoableChangeListenerProxy', 'VetoableChangeSupport', 'Visibility', 'XMLDecoder', 'XMLEncoder'
+			),
+		19 => array (
+			'BeanContext', 'BeanContextChild', 'BeanContextChildComponentProxy', 'BeanContextChildSupport', 'BeanContextContainerProxy', 'BeanContextEvent', 'BeanContextMembershipEvent', 'BeanContextMembershipListener', 'BeanContextProxy', 'BeanContextServiceAvailableEvent', 'BeanContextServiceProvider', 'BeanContextServiceProviderBeanInfo', 'BeanContextServiceRevokedEvent', 'BeanContextServiceRevokedListener', 'BeanContextServices', 'BeanContextServicesListener', 'BeanContextServicesSupport', 'BeanContextServicesSupport.BCSSServiceProvider', 'BeanContextSupport', 'BeanContextSupport.BCSIterator'
+			),
+		20 => array (
+			'BufferedInputStream', 'BufferedOutputStream', 'BufferedReader', 'BufferedWriter', 'ByteArrayInputStream', 'ByteArrayOutputStream', 'CharArrayReader', 'CharArrayWriter', 'CharConversionException', 'Closeable', 'DataInput', 'DataOutput', 'EOFException', 'Externalizable', 'File', 'FileDescriptor', 'FileInputStream', 'FileNotFoundException', 'FileOutputStream', 'FilePermission', 'FileReader', 'FileWriter', 'FilenameFilter', 'FilterInputStream', 'FilterOutputStream', 'FilterReader', 'FilterWriter', 'Flushable', 'IOException', 'InputStreamReader', 'InterruptedIOException', 'InvalidClassException', 'InvalidObjectException', 'LineNumberInputStream', 'LineNumberReader', 'NotActiveException', 'NotSerializableException', 'ObjectInput', 'ObjectInputStream', 'ObjectInputStream.GetField', 'ObjectInputValidation', 'ObjectOutput', 'ObjectOutputStream', 'ObjectOutputStream.PutField', 'ObjectStreamClass', 'ObjectStreamConstants', 'ObjectStreamException', 'ObjectStreamField', 'OptionalDataException', 'OutputStreamWriter',
+			'PipedInputStream', 'PipedOutputStream', 'PipedReader', 'PipedWriter', 'PrintStream', 'PrintWriter', 'PushbackInputStream', 'PushbackReader', 'RandomAccessFile', 'Reader', 'SequenceInputStream', 'Serializable', 'SerializablePermission', 'StreamCorruptedException', 'StreamTokenizer', 'StringBufferInputStream', 'StringReader', 'StringWriter', 'SyncFailedException', 'UTFDataFormatException', 'UnsupportedEncodingException', 'WriteAbortedException', 'Writer'
+			),
+		21 => array (
+			'AbstractMethodError', 'Appendable', 'ArithmeticException', 'ArrayIndexOutOfBoundsException', 'ArrayStoreException', 'AssertionError', 'Boolean', 'Byte', 'CharSequence', 'Character', 'Character.Subset', 'Character.UnicodeBlock', 'Class', 'ClassCastException', 'ClassCircularityError', 'ClassFormatError', 'ClassLoader', 'ClassNotFoundException', 'CloneNotSupportedException', 'Cloneable', 'Comparable', 'Compiler', 'Deprecated', 'Double', 'Enum', 'EnumConstantNotPresentException', 'Error', 'Exception', 'ExceptionInInitializerError', 'Float', 'IllegalAccessError', 'IllegalAccessException', 'IllegalArgumentException', 'IllegalMonitorStateException', 'IllegalStateException', 'IllegalThreadStateException', 'IncompatibleClassChangeError', 'IndexOutOfBoundsException', 'InheritableThreadLocal', 'InstantiationError', 'InstantiationException', 'Integer', 'InternalError', 'InterruptedException', 'Iterable', 'LinkageError', 'Long', 'Math', 'NegativeArraySizeException', 'NoClassDefFoundError', 'NoSuchFieldError',
+			'NoSuchFieldException', 'NoSuchMethodError', 'NoSuchMethodException', 'NullPointerException', 'Number', 'NumberFormatException', 'OutOfMemoryError', 'Override', 'Package', 'Process', 'ProcessBuilder', 'Readable', 'Runnable', 'Runtime', 'RuntimeException', 'RuntimePermission', 'SecurityException', 'SecurityManager', 'Short', 'StackOverflowError', 'StackTraceElement', 'StrictMath', 'String', 'StringBuffer', 'StringBuilder', 'StringIndexOutOfBoundsException', 'SuppressWarnings', 'System', 'Thread', 'Thread.State', 'Thread.UncaughtExceptionHandler', 'ThreadDeath', 'ThreadGroup', 'ThreadLocal', 'Throwable', 'TypeNotPresentException', 'UnknownError', 'UnsatisfiedLinkError', 'UnsupportedClassVersionError', 'UnsupportedOperationException', 'VerifyError', 'VirtualMachineError', 'Void'
+			),
+		22 => array (
+			'AnnotationFormatError', 'AnnotationTypeMismatchException', 'Documented', 'ElementType', 'IncompleteAnnotationException', 'Inherited', 'Retention', 'RetentionPolicy', 'Target'
+			),
+		23 => array (
+			'ClassDefinition', 'ClassFileTransformer', 'IllegalClassFormatException', 'Instrumentation', 'UnmodifiableClassException'
+			),
+		24 => array (
+			'ClassLoadingMXBean', 'CompilationMXBean', 'GarbageCollectorMXBean', 'ManagementFactory', 'ManagementPermission', 'MemoryMXBean', 'MemoryManagerMXBean', 'MemoryNotificationInfo', 'MemoryPoolMXBean', 'MemoryType', 'MemoryUsage', 'OperatingSystemMXBean', 'RuntimeMXBean', 'ThreadInfo', 'ThreadMXBean'
+			),
+		25 => array (
+			'PhantomReference', 'ReferenceQueue', 'SoftReference', 'WeakReference'
+			),
+		26 => array (
+			'AccessibleObject', 'AnnotatedElement', 'Constructor', 'Field', 'GenericArrayType', 'GenericDeclaration', 'GenericSignatureFormatError', 'InvocationHandler', 'InvocationTargetException', 'MalformedParameterizedTypeException', 'Member', 'Method', 'Modifier', 'ParameterizedType', 'ReflectPermission', 'Type', 'TypeVariable', 'UndeclaredThrowableException', 'WildcardType'
+			),
+		27 => array (
+			'BigDecimal', 'BigInteger', 'MathContext', 'RoundingMode'
+			),
+		28 => array (
+			'Authenticator', 'Authenticator.RequestorType', 'BindException', 'CacheRequest', 'CacheResponse', 'ContentHandlerFactory', 'CookieHandler', 'DatagramPacket', 'DatagramSocket', 'DatagramSocketImpl', 'DatagramSocketImplFactory', 'FileNameMap', 'HttpRetryException', 'HttpURLConnection', 'Inet4Address', 'Inet6Address', 'InetAddress', 'InetSocketAddress', 'JarURLConnection', 'MalformedURLException', 'MulticastSocket', 'NetPermission', 'NetworkInterface', 'NoRouteToHostException', 'PasswordAuthentication', 'PortUnreachableException', 'ProtocolException', 'Proxy.Type', 'ProxySelector', 'ResponseCache', 'SecureCacheResponse', 'ServerSocket', 'Socket', 'SocketAddress', 'SocketException', 'SocketImpl', 'SocketImplFactory', 'SocketOptions', 'SocketPermission', 'SocketTimeoutException', 'URI', 'URISyntaxException', 'URL', 'URLClassLoader', 'URLConnection', 'URLDecoder', 'URLEncoder', 'URLStreamHandler', 'URLStreamHandlerFactory', 'UnknownServiceException'
+			),
+		29 => array (
+			'Buffer', 'BufferOverflowException', 'BufferUnderflowException', 'ByteBuffer', 'ByteOrder', 'CharBuffer', 'DoubleBuffer', 'FloatBuffer', 'IntBuffer', 'InvalidMarkException', 'LongBuffer', 'MappedByteBuffer', 'ReadOnlyBufferException', 'ShortBuffer'
+			),
+		30 => array (
+			'AlreadyConnectedException', 'AsynchronousCloseException', 'ByteChannel', 'CancelledKeyException', 'Channel', 'Channels', 'ClosedByInterruptException', 'ClosedChannelException', 'ClosedSelectorException', 'ConnectionPendingException', 'DatagramChannel', 'FileChannel', 'FileChannel.MapMode', 'FileLock', 'FileLockInterruptionException', 'GatheringByteChannel', 'IllegalBlockingModeException', 'IllegalSelectorException', 'InterruptibleChannel', 'NoConnectionPendingException', 'NonReadableChannelException', 'NonWritableChannelException', 'NotYetBoundException', 'NotYetConnectedException', 'OverlappingFileLockException', 'Pipe', 'Pipe.SinkChannel', 'Pipe.SourceChannel', 'ReadableByteChannel', 'ScatteringByteChannel', 'SelectableChannel', 'SelectionKey', 'Selector', 'ServerSocketChannel', 'SocketChannel', 'UnresolvedAddressException', 'UnsupportedAddressTypeException', 'WritableByteChannel'
+			),
+		31 => array (
+			'AbstractInterruptibleChannel', 'AbstractSelectableChannel', 'AbstractSelectionKey', 'AbstractSelector', 'SelectorProvider'
+			),
+		32 => array (
+			'CharacterCodingException', 'Charset', 'CharsetDecoder', 'CharsetEncoder', 'CoderMalfunctionError', 'CoderResult', 'CodingErrorAction', 'IllegalCharsetNameException', 'MalformedInputException', 'UnmappableCharacterException', 'UnsupportedCharsetException'
+			),
+		33 => array (
+			'CharsetProvider'
+			),
+		34 => array (
+			'AccessException', 'AlreadyBoundException', 'ConnectIOException', 'MarshalException', 'MarshalledObject', 'Naming', 'NoSuchObjectException', 'NotBoundException', 'RMISecurityException', 'RMISecurityManager', 'Remote', 'RemoteException', 'ServerError', 'ServerException', 'ServerRuntimeException', 'StubNotFoundException', 'UnexpectedException', 'UnmarshalException'
+			),
+		35 => array (
+			'Activatable', 'ActivateFailedException', 'ActivationDesc', 'ActivationException', 'ActivationGroup', 'ActivationGroupDesc', 'ActivationGroupDesc.CommandEnvironment', 'ActivationGroupID', 'ActivationGroup_Stub', 'ActivationID', 'ActivationInstantiator', 'ActivationMonitor', 'ActivationSystem', 'Activator', 'UnknownGroupException', 'UnknownObjectException'
+			),
+		36 => array (
+			'DGC', 'Lease', 'VMID'
+			),
+		37 => array (
+			'LocateRegistry', 'Registry', 'RegistryHandler'
+			),
+		38 => array (
+			'ExportException', 'LoaderHandler', 'LogStream', 'ObjID', 'Operation', 'RMIClassLoader', 'RMIClassLoaderSpi', 'RMIClientSocketFactory', 'RMIFailureHandler', 'RMIServerSocketFactory', 'RMISocketFactory', 'RemoteCall', 'RemoteObject', 'RemoteObjectInvocationHandler', 'RemoteRef', 'RemoteServer', 'RemoteStub', 'ServerCloneException', 'ServerNotActiveException', 'ServerRef', 'Skeleton', 'SkeletonMismatchException', 'SkeletonNotFoundException', 'SocketSecurityException', 'UID', 'UnicastRemoteObject', 'Unreferenced'
+			),
+		39 => array (
+			'AccessControlContext', 'AccessControlException', 'AccessController', 'AlgorithmParameterGenerator', 'AlgorithmParameterGeneratorSpi', 'AlgorithmParameters', 'AlgorithmParametersSpi', 'AllPermission', 'AuthProvider', 'BasicPermission', 'CodeSigner', 'CodeSource', 'DigestException', 'DigestInputStream', 'DigestOutputStream', 'DomainCombiner', 'GeneralSecurityException', 'Guard', 'GuardedObject', 'Identity', 'IdentityScope', 'InvalidAlgorithmParameterException', 'InvalidParameterException', 'Key', 'KeyException', 'KeyFactory', 'KeyFactorySpi', 'KeyManagementException', 'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi', 'KeyRep', 'KeyRep.Type', 'KeyStore', 'KeyStore.Builder', 'KeyStore.CallbackHandlerProtection', 'KeyStore.Entry', 'KeyStore.LoadStoreParameter', 'KeyStore.PasswordProtection', 'KeyStore.PrivateKeyEntry', 'KeyStore.ProtectionParameter', 'KeyStore.SecretKeyEntry', 'KeyStore.TrustedCertificateEntry', 'KeyStoreException', 'KeyStoreSpi', 'MessageDigest', 'MessageDigestSpi',
+			'NoSuchAlgorithmException', 'NoSuchProviderException', 'PermissionCollection', 'Permissions', 'PrivateKey', 'PrivilegedAction', 'PrivilegedActionException', 'PrivilegedExceptionAction', 'ProtectionDomain', 'Provider', 'Provider.Service', 'ProviderException', 'PublicKey', 'SecureClassLoader', 'SecureRandom', 'SecureRandomSpi', 'Security', 'SecurityPermission', 'Signature', 'SignatureException', 'SignatureSpi', 'SignedObject', 'Signer', 'UnrecoverableEntryException', 'UnrecoverableKeyException', 'UnresolvedPermission'
+			),
+		40 => array (
+			'Acl', 'AclEntry', 'AclNotFoundException', 'Group', 'LastOwnerException', 'NotOwnerException', 'Owner'
+			),
+		41 => array (
+			'CRL', 'CRLException', 'CRLSelector', 'CertPath', 'CertPath.CertPathRep', 'CertPathBuilder', 'CertPathBuilderException', 'CertPathBuilderResult', 'CertPathBuilderSpi', 'CertPathParameters', 'CertPathValidator', 'CertPathValidatorException', 'CertPathValidatorResult', 'CertPathValidatorSpi', 'CertSelector', 'CertStore', 'CertStoreException', 'CertStoreParameters', 'CertStoreSpi', 'Certificate.CertificateRep', 'CertificateFactory', 'CertificateFactorySpi', 'CollectionCertStoreParameters', 'LDAPCertStoreParameters', 'PKIXBuilderParameters', 'PKIXCertPathBuilderResult', 'PKIXCertPathChecker', 'PKIXCertPathValidatorResult', 'PKIXParameters', 'PolicyNode', 'PolicyQualifierInfo', 'TrustAnchor', 'X509CRL', 'X509CRLEntry', 'X509CRLSelector', 'X509CertSelector', 'X509Extension'
+			),
+		42 => array (
+			'DSAKey', 'DSAKeyPairGenerator', 'DSAParams', 'DSAPrivateKey', 'DSAPublicKey', 'ECKey', 'ECPrivateKey', 'ECPublicKey', 'RSAKey', 'RSAMultiPrimePrivateCrtKey', 'RSAPrivateCrtKey', 'RSAPrivateKey', 'RSAPublicKey'
+			),
+		43 => array (
+			'AlgorithmParameterSpec', 'DSAParameterSpec', 'DSAPrivateKeySpec', 'DSAPublicKeySpec', 'ECField', 'ECFieldF2m', 'ECFieldFp', 'ECGenParameterSpec', 'ECParameterSpec', 'ECPoint', 'ECPrivateKeySpec', 'ECPublicKeySpec', 'EllipticCurve', 'EncodedKeySpec', 'InvalidKeySpecException', 'InvalidParameterSpecException', 'KeySpec', 'MGF1ParameterSpec', 'PKCS8EncodedKeySpec', 'PSSParameterSpec', 'RSAKeyGenParameterSpec', 'RSAMultiPrimePrivateCrtKeySpec', 'RSAOtherPrimeInfo', 'RSAPrivateCrtKeySpec', 'RSAPrivateKeySpec', 'RSAPublicKeySpec', 'X509EncodedKeySpec'
+			),
+		44 => array (
+			'BatchUpdateException', 'Blob', 'CallableStatement', 'Clob', 'Connection', 'DataTruncation', 'DatabaseMetaData', 'Driver', 'DriverManager', 'DriverPropertyInfo', 'ParameterMetaData', 'PreparedStatement', 'Ref', 'ResultSet', 'ResultSetMetaData', 'SQLData', 'SQLException', 'SQLInput', 'SQLOutput', 'SQLPermission', 'SQLWarning', 'Savepoint', 'Struct', 'Time', 'Types'
+			),
+		45 => array (
+			'AttributedCharacterIterator', 'AttributedCharacterIterator.Attribute', 'AttributedString', 'Bidi', 'BreakIterator', 'CharacterIterator', 'ChoiceFormat', 'CollationElementIterator', 'CollationKey', 'Collator', 'DateFormat', 'DateFormat.Field', 'DateFormatSymbols', 'DecimalFormat', 'DecimalFormatSymbols', 'FieldPosition', 'Format', 'Format.Field', 'MessageFormat', 'MessageFormat.Field', 'NumberFormat', 'NumberFormat.Field', 'ParseException', 'ParsePosition', 'RuleBasedCollator', 'SimpleDateFormat', 'StringCharacterIterator'
+			),
+		46 => array (
+			'AbstractCollection', 'AbstractList', 'AbstractMap', 'AbstractQueue', 'AbstractSequentialList', 'AbstractSet', 'ArrayList', 'Arrays', 'BitSet', 'Calendar', 'Collection', 'Collections', 'Comparator', 'ConcurrentModificationException', 'Currency', 'Dictionary', 'DuplicateFormatFlagsException', 'EmptyStackException', 'EnumMap', 'EnumSet', 'Enumeration', 'EventListenerProxy', 'EventObject', 'FormatFlagsConversionMismatchException', 'Formattable', 'FormattableFlags', 'Formatter.BigDecimalLayoutForm', 'FormatterClosedException', 'GregorianCalendar', 'HashMap', 'HashSet', 'Hashtable', 'IdentityHashMap', 'IllegalFormatCodePointException', 'IllegalFormatConversionException', 'IllegalFormatException', 'IllegalFormatFlagsException', 'IllegalFormatPrecisionException', 'IllegalFormatWidthException', 'InputMismatchException', 'InvalidPropertiesFormatException', 'Iterator', 'LinkedHashMap', 'LinkedHashSet', 'LinkedList', 'ListIterator', 'ListResourceBundle', 'Locale', 'Map', 'Map.Entry', 'MissingFormatArgumentException',
+			'MissingFormatWidthException', 'MissingResourceException', 'NoSuchElementException', 'Observable', 'Observer', 'PriorityQueue', 'Properties', 'PropertyPermission', 'PropertyResourceBundle', 'Queue', 'Random', 'RandomAccess', 'ResourceBundle', 'Scanner', 'Set', 'SimpleTimeZone', 'SortedMap', 'SortedSet', 'Stack', 'StringTokenizer', 'TimeZone', 'TimerTask', 'TooManyListenersException', 'TreeMap', 'TreeSet', 'UUID', 'UnknownFormatConversionException', 'UnknownFormatFlagsException', 'Vector', 'WeakHashMap'
+			),
+		47 => array (
+			'AbstractExecutorService', 'ArrayBlockingQueue', 'BlockingQueue', 'BrokenBarrierException', 'Callable', 'CancellationException', 'CompletionService', 'ConcurrentHashMap', 'ConcurrentLinkedQueue', 'ConcurrentMap', 'CopyOnWriteArrayList', 'CopyOnWriteArraySet', 'CountDownLatch', 'CyclicBarrier', 'DelayQueue', 'Delayed', 'Exchanger', 'ExecutionException', 'Executor', 'ExecutorCompletionService', 'ExecutorService', 'Executors', 'Future', 'FutureTask', 'LinkedBlockingQueue', 'PriorityBlockingQueue', 'RejectedExecutionException', 'RejectedExecutionHandler', 'ScheduledExecutorService', 'ScheduledFuture', 'ScheduledThreadPoolExecutor', 'Semaphore', 'SynchronousQueue', 'ThreadFactory', 'ThreadPoolExecutor', 'ThreadPoolExecutor.AbortPolicy', 'ThreadPoolExecutor.CallerRunsPolicy', 'ThreadPoolExecutor.DiscardOldestPolicy', 'ThreadPoolExecutor.DiscardPolicy', 'TimeUnit', 'TimeoutException'
+			),
+		48 => array (
+			'AtomicBoolean', 'AtomicInteger', 'AtomicIntegerArray', 'AtomicIntegerFieldUpdater', 'AtomicLong', 'AtomicLongArray', 'AtomicLongFieldUpdater', 'AtomicMarkableReference', 'AtomicReference', 'AtomicReferenceArray', 'AtomicReferenceFieldUpdater', 'AtomicStampedReference'
+			),
+		49 => array (
+			'AbstractQueuedSynchronizer', 'Condition', 'Lock', 'LockSupport', 'ReadWriteLock', 'ReentrantLock', 'ReentrantReadWriteLock', 'ReentrantReadWriteLock.ReadLock', 'ReentrantReadWriteLock.WriteLock'
+			),
+		50 => array (
+			'Attributes.Name', 'JarEntry', 'JarException', 'JarFile', 'JarInputStream', 'JarOutputStream', 'Manifest', 'Pack200', 'Pack200.Packer', 'Pack200.Unpacker'
+			),
+		51 => array (
+			'ConsoleHandler', 'ErrorManager', 'FileHandler', 'Filter', 'Handler', 'Level', 'LogManager', 'LogRecord', 'Logger', 'LoggingMXBean', 'LoggingPermission', 'MemoryHandler', 'SimpleFormatter', 'SocketHandler', 'StreamHandler', 'XMLFormatter'
+			),
+		52 => array (
+			'AbstractPreferences', 'BackingStoreException', 'InvalidPreferencesFormatException', 'NodeChangeEvent', 'NodeChangeListener', 'PreferenceChangeEvent', 'PreferenceChangeListener', 'Preferences', 'PreferencesFactory'
+			),
+		53 => array (
+			'MatchResult', 'Matcher', 'Pattern', 'PatternSyntaxException'
+			),
+		54 => array (
+			'Adler32', 'CRC32', 'CheckedInputStream', 'CheckedOutputStream', 'Checksum', 'DataFormatException', 'Deflater', 'DeflaterOutputStream', 'GZIPInputStream', 'GZIPOutputStream', 'Inflater', 'InflaterInputStream', 'ZipEntry', 'ZipException', 'ZipFile', 'ZipInputStream', 'ZipOutputStream'
+			),
+		55 => array (
+			'Accessible', 'AccessibleAction', 'AccessibleAttributeSequence', 'AccessibleBundle', 'AccessibleComponent', 'AccessibleContext', 'AccessibleEditableText', 'AccessibleExtendedComponent', 'AccessibleExtendedTable', 'AccessibleExtendedText', 'AccessibleHyperlink', 'AccessibleHypertext', 'AccessibleIcon', 'AccessibleKeyBinding', 'AccessibleRelation', 'AccessibleRelationSet', 'AccessibleResourceBundle', 'AccessibleRole', 'AccessibleSelection', 'AccessibleState', 'AccessibleStateSet', 'AccessibleStreamable', 'AccessibleTable', 'AccessibleTableModelChange', 'AccessibleText', 'AccessibleTextSequence', 'AccessibleValue'
+			),
+		56 => array (
+			'ActivityCompletedException', 'ActivityRequiredException', 'InvalidActivityException'
+			),
+		57 => array (
+			'BadPaddingException', 'Cipher', 'CipherInputStream', 'CipherOutputStream', 'CipherSpi', 'EncryptedPrivateKeyInfo', 'ExemptionMechanism', 'ExemptionMechanismException', 'ExemptionMechanismSpi', 'IllegalBlockSizeException', 'KeyAgreement', 'KeyAgreementSpi', 'KeyGenerator', 'KeyGeneratorSpi', 'Mac', 'MacSpi', 'NoSuchPaddingException', 'NullCipher', 'SealedObject', 'SecretKey', 'SecretKeyFactory', 'SecretKeyFactorySpi', 'ShortBufferException'
+			),
+		58 => array (
+			'DHKey', 'DHPrivateKey', 'DHPublicKey', 'PBEKey'
+			),
+		59 => array (
+			'DESKeySpec', 'DESedeKeySpec', 'DHGenParameterSpec', 'DHParameterSpec', 'DHPrivateKeySpec', 'DHPublicKeySpec', 'IvParameterSpec', 'OAEPParameterSpec', 'PBEKeySpec', 'PBEParameterSpec', 'PSource', 'PSource.PSpecified', 'RC2ParameterSpec', 'RC5ParameterSpec', 'SecretKeySpec'
+			),
+		60 => array (
+			'IIOException', 'IIOImage', 'IIOParam', 'IIOParamController', 'ImageIO', 'ImageReadParam', 'ImageReader', 'ImageTranscoder', 'ImageTypeSpecifier', 'ImageWriteParam', 'ImageWriter'
+			),
+		61 => array (
+			'IIOReadProgressListener', 'IIOReadUpdateListener', 'IIOReadWarningListener', 'IIOWriteProgressListener', 'IIOWriteWarningListener'
+			),
+		62 => array (
+			'IIOInvalidTreeException', 'IIOMetadata', 'IIOMetadataController', 'IIOMetadataFormat', 'IIOMetadataFormatImpl', 'IIOMetadataNode'
+			),
+		63 => array (
+			'BMPImageWriteParam'
+			),
+		64 => array (
+			'JPEGHuffmanTable', 'JPEGImageReadParam', 'JPEGImageWriteParam', 'JPEGQTable'
+			),
+		65 => array (
+			'IIORegistry', 'IIOServiceProvider', 'ImageInputStreamSpi', 'ImageOutputStreamSpi', 'ImageReaderSpi', 'ImageReaderWriterSpi', 'ImageTranscoderSpi', 'ImageWriterSpi', 'RegisterableService', 'ServiceRegistry', 'ServiceRegistry.Filter'
+			),
+		66 => array (
+			'FileCacheImageInputStream', 'FileCacheImageOutputStream', 'FileImageInputStream', 'FileImageOutputStream', 'IIOByteBuffer', 'ImageInputStream', 'ImageInputStreamImpl', 'ImageOutputStream', 'ImageOutputStreamImpl', 'MemoryCacheImageInputStream', 'MemoryCacheImageOutputStream'
+			),
+		67 => array (
+			'AttributeChangeNotification', 'AttributeChangeNotificationFilter', 'AttributeNotFoundException', 'AttributeValueExp', 'BadAttributeValueExpException', 'BadBinaryOpValueExpException', 'BadStringOperationException', 'Descriptor', 'DescriptorAccess', 'DynamicMBean', 'InstanceAlreadyExistsException', 'InstanceNotFoundException', 'InvalidApplicationException', 'JMException', 'JMRuntimeException', 'ListenerNotFoundException', 'MBeanAttributeInfo', 'MBeanConstructorInfo', 'MBeanException', 'MBeanFeatureInfo', 'MBeanInfo', 'MBeanNotificationInfo', 'MBeanOperationInfo', 'MBeanParameterInfo', 'MBeanPermission', 'MBeanRegistration', 'MBeanRegistrationException', 'MBeanServer', 'MBeanServerBuilder', 'MBeanServerConnection', 'MBeanServerDelegate', 'MBeanServerDelegateMBean', 'MBeanServerFactory', 'MBeanServerInvocationHandler', 'MBeanServerNotification', 'MBeanServerPermission', 'MBeanTrustPermission', 'MalformedObjectNameException', 'NotCompliantMBeanException', 'Notification', 'NotificationBroadcaster',
+			'NotificationBroadcasterSupport', 'NotificationEmitter', 'NotificationFilter', 'NotificationFilterSupport', 'NotificationListener', 'ObjectInstance', 'ObjectName', 'OperationsException', 'PersistentMBean', 'Query', 'QueryEval', 'QueryExp', 'ReflectionException', 'RuntimeErrorException', 'RuntimeMBeanException', 'RuntimeOperationsException', 'ServiceNotFoundException', 'StandardMBean', 'StringValueExp', 'ValueExp'
+			),
+		68 => array (
+			'ClassLoaderRepository', 'MLet', 'MLetMBean', 'PrivateClassLoader', 'PrivateMLet'
+			),
+		69 => array (
+			'DescriptorSupport', 'InvalidTargetObjectTypeException', 'ModelMBean', 'ModelMBeanAttributeInfo', 'ModelMBeanConstructorInfo', 'ModelMBeanInfo', 'ModelMBeanInfoSupport', 'ModelMBeanNotificationBroadcaster', 'ModelMBeanNotificationInfo', 'ModelMBeanOperationInfo', 'RequiredModelMBean', 'XMLParseException'
+			),
+		70 => array (
+			'CounterMonitor', 'CounterMonitorMBean', 'GaugeMonitor', 'GaugeMonitorMBean', 'Monitor', 'MonitorMBean', 'MonitorNotification', 'MonitorSettingException', 'StringMonitor', 'StringMonitorMBean'
+			),
+		71 => array (
+			'ArrayType', 'CompositeData', 'CompositeDataSupport', 'CompositeType', 'InvalidOpenTypeException', 'KeyAlreadyExistsException', 'OpenDataException', 'OpenMBeanAttributeInfo', 'OpenMBeanAttributeInfoSupport', 'OpenMBeanConstructorInfo', 'OpenMBeanConstructorInfoSupport', 'OpenMBeanInfo', 'OpenMBeanInfoSupport', 'OpenMBeanOperationInfo', 'OpenMBeanOperationInfoSupport', 'OpenMBeanParameterInfo', 'OpenMBeanParameterInfoSupport', 'SimpleType', 'TabularData', 'TabularDataSupport', 'TabularType'
+			),
+		72 => array (
+			'InvalidRelationIdException', 'InvalidRelationServiceException', 'InvalidRelationTypeException', 'InvalidRoleInfoException', 'InvalidRoleValueException', 'MBeanServerNotificationFilter', 'Relation', 'RelationException', 'RelationNotFoundException', 'RelationNotification', 'RelationService', 'RelationServiceMBean', 'RelationServiceNotRegisteredException', 'RelationSupport', 'RelationSupportMBean', 'RelationType', 'RelationTypeNotFoundException', 'RelationTypeSupport', 'Role', 'RoleInfo', 'RoleInfoNotFoundException', 'RoleList', 'RoleNotFoundException', 'RoleResult', 'RoleStatus', 'RoleUnresolved', 'RoleUnresolvedList'
+			),
+		73 => array (
+			'JMXAuthenticator', 'JMXConnectionNotification', 'JMXConnector', 'JMXConnectorFactory', 'JMXConnectorProvider', 'JMXConnectorServer', 'JMXConnectorServerFactory', 'JMXConnectorServerMBean', 'JMXConnectorServerProvider', 'JMXPrincipal', 'JMXProviderException', 'JMXServerErrorException', 'JMXServiceURL', 'MBeanServerForwarder', 'NotificationResult', 'SubjectDelegationPermission', 'TargetedNotification'
+			),
+		74 => array (
+			'RMIConnection', 'RMIConnectionImpl', 'RMIConnectionImpl_Stub', 'RMIConnector', 'RMIConnectorServer', 'RMIIIOPServerImpl', 'RMIJRMPServerImpl', 'RMIServer', 'RMIServerImpl', 'RMIServerImpl_Stub'
+			),
+		75 => array (
+			'TimerAlarmClockNotification', 'TimerMBean', 'TimerNotification'
+			),
+		76 => array (
+			'AuthenticationNotSupportedException', 'BinaryRefAddr', 'CannotProceedException', 'CommunicationException', 'CompositeName', 'CompoundName', 'ConfigurationException', 'ContextNotEmptyException', 'InitialContext', 'InsufficientResourcesException', 'InterruptedNamingException', 'InvalidNameException', 'LimitExceededException', 'LinkException', 'LinkLoopException', 'LinkRef', 'MalformedLinkException', 'Name', 'NameAlreadyBoundException', 'NameClassPair', 'NameNotFoundException', 'NameParser', 'NamingEnumeration', 'NamingException', 'NamingSecurityException', 'NoInitialContextException', 'NoPermissionException', 'NotContextException', 'OperationNotSupportedException', 'PartialResultException', 'RefAddr', 'Referenceable', 'ReferralException', 'ServiceUnavailableException', 'SizeLimitExceededException', 'StringRefAddr', 'TimeLimitExceededException'
+			),
+		77 => array (
+			'AttributeInUseException', 'AttributeModificationException', 'BasicAttribute', 'BasicAttributes', 'DirContext', 'InitialDirContext', 'InvalidAttributeIdentifierException', 'InvalidAttributesException', 'InvalidSearchControlsException', 'InvalidSearchFilterException', 'ModificationItem', 'NoSuchAttributeException', 'SchemaViolationException', 'SearchControls', 'SearchResult'
+			),
+		78 => array (
+			'EventContext', 'EventDirContext', 'NamespaceChangeListener', 'NamingEvent', 'NamingExceptionEvent', 'NamingListener', 'ObjectChangeListener'
+			),
+		79 => array (
+			'BasicControl', 'ControlFactory', 'ExtendedRequest', 'ExtendedResponse', 'HasControls', 'InitialLdapContext', 'LdapContext', 'LdapName', 'LdapReferralException', 'ManageReferralControl', 'PagedResultsControl', 'PagedResultsResponseControl', 'Rdn', 'SortControl', 'SortKey', 'SortResponseControl', 'StartTlsRequest', 'StartTlsResponse', 'UnsolicitedNotification', 'UnsolicitedNotificationEvent', 'UnsolicitedNotificationListener'
+			),
+		80 => array (
+			'DirObjectFactory', 'DirStateFactory', 'DirStateFactory.Result', 'DirectoryManager', 'InitialContextFactory', 'InitialContextFactoryBuilder', 'NamingManager', 'ObjectFactory', 'ObjectFactoryBuilder', 'ResolveResult', 'Resolver', 'StateFactory'
+			),
+		81 => array (
+			'ServerSocketFactory', 'SocketFactory'
+			),
+		82 => array (
+			'CertPathTrustManagerParameters', 'HandshakeCompletedEvent', 'HandshakeCompletedListener', 'HostnameVerifier', 'HttpsURLConnection', 'KeyManager', 'KeyManagerFactory', 'KeyManagerFactorySpi', 'KeyStoreBuilderParameters', 'ManagerFactoryParameters', 'SSLContext', 'SSLContextSpi', 'SSLEngine', 'SSLEngineResult', 'SSLEngineResult.HandshakeStatus', 'SSLEngineResult.Status', 'SSLException', 'SSLHandshakeException', 'SSLKeyException', 'SSLPeerUnverifiedException', 'SSLPermission', 'SSLProtocolException', 'SSLServerSocket', 'SSLServerSocketFactory', 'SSLSession', 'SSLSessionBindingEvent', 'SSLSessionBindingListener', 'SSLSessionContext', 'SSLSocket', 'SSLSocketFactory', 'TrustManager', 'TrustManagerFactory', 'TrustManagerFactorySpi', 'X509ExtendedKeyManager', 'X509KeyManager', 'X509TrustManager'
+			),
+		83 => array (
+			'AttributeException', 'CancelablePrintJob', 'Doc', 'DocFlavor', 'DocFlavor.BYTE_ARRAY', 'DocFlavor.CHAR_ARRAY', 'DocFlavor.INPUT_STREAM', 'DocFlavor.READER', 'DocFlavor.SERVICE_FORMATTED', 'DocFlavor.STRING', 'DocFlavor.URL', 'DocPrintJob', 'FlavorException', 'MultiDoc', 'MultiDocPrintJob', 'MultiDocPrintService', 'PrintException', 'PrintService', 'PrintServiceLookup', 'ServiceUI', 'ServiceUIFactory', 'SimpleDoc', 'StreamPrintService', 'StreamPrintServiceFactory', 'URIException'
+			),
+		84 => array (
+			'AttributeSetUtilities', 'DateTimeSyntax', 'DocAttribute', 'DocAttributeSet', 'EnumSyntax', 'HashAttributeSet', 'HashDocAttributeSet', 'HashPrintJobAttributeSet', 'HashPrintRequestAttributeSet', 'HashPrintServiceAttributeSet', 'IntegerSyntax', 'PrintJobAttribute', 'PrintJobAttributeSet', 'PrintRequestAttribute', 'PrintRequestAttributeSet', 'PrintServiceAttribute', 'PrintServiceAttributeSet', 'ResolutionSyntax', 'SetOfIntegerSyntax', 'Size2DSyntax', 'SupportedValuesAttribute', 'TextSyntax', 'URISyntax', 'UnmodifiableSetException'
+			),
+		85 => array (
+			'Chromaticity', 'ColorSupported', 'Compression', 'Copies', 'CopiesSupported', 'DateTimeAtCompleted', 'DateTimeAtCreation', 'DateTimeAtProcessing', 'Destination', 'DocumentName', 'Fidelity', 'Finishings', 'JobHoldUntil', 'JobImpressions', 'JobImpressionsCompleted', 'JobImpressionsSupported', 'JobKOctets', 'JobKOctetsProcessed', 'JobKOctetsSupported', 'JobMediaSheets', 'JobMediaSheetsCompleted', 'JobMediaSheetsSupported', 'JobMessageFromOperator', 'JobName', 'JobOriginatingUserName', 'JobPriority', 'JobPrioritySupported', 'JobSheets', 'JobState', 'JobStateReason', 'JobStateReasons', 'Media', 'MediaName', 'MediaPrintableArea', 'MediaSize', 'MediaSize.Engineering', 'MediaSize.ISO', 'MediaSize.JIS', 'MediaSize.NA', 'MediaSize.Other', 'MediaSizeName', 'MediaTray', 'MultipleDocumentHandling', 'NumberOfDocuments', 'NumberOfInterveningJobs', 'NumberUp', 'NumberUpSupported', 'OrientationRequested', 'OutputDeviceAssigned', 'PDLOverrideSupported', 'PageRanges', 'PagesPerMinute', 'PagesPerMinuteColor',
+			'PresentationDirection', 'PrintQuality', 'PrinterInfo', 'PrinterIsAcceptingJobs', 'PrinterLocation', 'PrinterMakeAndModel', 'PrinterMessageFromOperator', 'PrinterMoreInfo', 'PrinterMoreInfoManufacturer', 'PrinterName', 'PrinterResolution', 'PrinterState', 'PrinterStateReason', 'PrinterStateReasons', 'PrinterURI', 'QueuedJobCount', 'ReferenceUriSchemesSupported', 'RequestingUserName', 'Severity', 'SheetCollate', 'Sides'
+			),
+		86 => array (
+			'PrintEvent', 'PrintJobAdapter', 'PrintJobAttributeEvent', 'PrintJobAttributeListener', 'PrintJobEvent', 'PrintJobListener', 'PrintServiceAttributeEvent', 'PrintServiceAttributeListener'
+			),
+		87 => array (
+			'PortableRemoteObject'
+			),
+		88 => array (
+			'ClassDesc', 'PortableRemoteObjectDelegate', 'Stub', 'StubDelegate', 'Tie', 'Util', 'UtilDelegate', 'ValueHandler', 'ValueHandlerMultiFormat'
+			),
+		89 => array (
+			'SslRMIClientSocketFactory', 'SslRMIServerSocketFactory'
+			),
+		90 => array (
+			'AuthPermission', 'DestroyFailedException', 'Destroyable', 'PrivateCredentialPermission', 'RefreshFailedException', 'Refreshable', 'Subject', 'SubjectDomainCombiner'
+			),
+		91 => array (
+			'Callback', 'CallbackHandler', 'ChoiceCallback', 'ConfirmationCallback', 'LanguageCallback', 'NameCallback', 'PasswordCallback', 'TextInputCallback', 'TextOutputCallback', 'UnsupportedCallbackException'
+			),
+		92 => array (
+			'DelegationPermission', 'KerberosKey', 'KerberosPrincipal', 'KerberosTicket', 'ServicePermission'
+			),
+		93 => array (
+			'AccountException', 'AccountExpiredException', 'AccountLockedException', 'AccountNotFoundException', 'AppConfigurationEntry', 'AppConfigurationEntry.LoginModuleControlFlag', 'Configuration', 'CredentialException', 'CredentialExpiredException', 'CredentialNotFoundException', 'FailedLoginException', 'LoginContext', 'LoginException'
+			),
+		94 => array (
+			'LoginModule'
+			),
+		95 => array (
+			'X500Principal', 'X500PrivateCredential'
+			),
+		96 => array (
+			'AuthorizeCallback', 'RealmCallback', 'RealmChoiceCallback', 'Sasl', 'SaslClient', 'SaslClientFactory', 'SaslException', 'SaslServer', 'SaslServerFactory'
+			),
+		97 => array (
+			'ControllerEventListener', 'Instrument', 'InvalidMidiDataException', 'MetaEventListener', 'MetaMessage', 'MidiChannel', 'MidiDevice', 'MidiDevice.Info', 'MidiEvent', 'MidiFileFormat', 'MidiMessage', 'MidiSystem', 'MidiUnavailableException', 'Patch', 'Receiver', 'Sequence', 'Sequencer', 'Sequencer.SyncMode', 'ShortMessage', 'Soundbank', 'SoundbankResource', 'Synthesizer', 'SysexMessage', 'Track', 'Transmitter', 'VoiceStatus'
+			),
+		98 => array (
+			'MidiDeviceProvider', 'MidiFileReader', 'MidiFileWriter', 'SoundbankReader'
+			),
+		99 => array (
+			'AudioFileFormat', 'AudioFileFormat.Type', 'AudioFormat', 'AudioFormat.Encoding', 'AudioInputStream', 'AudioPermission', 'AudioSystem', 'BooleanControl', 'BooleanControl.Type', 'Clip', 'CompoundControl', 'CompoundControl.Type', 'Control.Type', 'DataLine', 'DataLine.Info', 'EnumControl', 'EnumControl.Type', 'FloatControl', 'FloatControl.Type', 'Line', 'Line.Info', 'LineEvent', 'LineEvent.Type', 'LineListener', 'LineUnavailableException', 'Mixer', 'Mixer.Info', 'Port', 'Port.Info', 'ReverbType', 'SourceDataLine', 'TargetDataLine', 'UnsupportedAudioFileException'
+			),
+		100 => array (
+			'AudioFileReader', 'AudioFileWriter', 'FormatConversionProvider', 'MixerProvider'
+			),
+		101 => array (
+			'ConnectionEvent', 'ConnectionEventListener', 'ConnectionPoolDataSource', 'DataSource', 'PooledConnection', 'RowSet', 'RowSetEvent', 'RowSetInternal', 'RowSetListener', 'RowSetMetaData', 'RowSetReader', 'RowSetWriter', 'XAConnection', 'XADataSource'
+			),
+		102 => array (
+			'BaseRowSet', 'CachedRowSet', 'FilteredRowSet', 'JdbcRowSet', 'JoinRowSet', 'Joinable', 'Predicate', 'RowSetMetaDataImpl', 'RowSetWarning', 'WebRowSet'
+			),
+		103 => array (
+			'SQLInputImpl', 'SQLOutputImpl', 'SerialArray', 'SerialBlob', 'SerialClob', 'SerialDatalink', 'SerialException', 'SerialJavaObject', 'SerialRef', 'SerialStruct'
+			),
+		104 => array (
+			'SyncFactory', 'SyncFactoryException', 'SyncProvider', 'SyncProviderException', 'SyncResolver', 'TransactionalWriter', 'XmlReader', 'XmlWriter'
+			),
+		105 => array (
+			'AbstractAction', 'AbstractButton', 'AbstractCellEditor', 'AbstractListModel', 'AbstractSpinnerModel', 'Action', 'ActionMap', 'BorderFactory', 'BoundedRangeModel', 'Box', 'Box.Filler', 'BoxLayout', 'ButtonGroup', 'ButtonModel', 'CellEditor', 'CellRendererPane', 'ComboBoxEditor', 'ComboBoxModel', 'ComponentInputMap', 'DebugGraphics', 'DefaultBoundedRangeModel', 'DefaultButtonModel', 'DefaultCellEditor', 'DefaultComboBoxModel', 'DefaultDesktopManager', 'DefaultFocusManager', 'DefaultListCellRenderer', 'DefaultListCellRenderer.UIResource', 'DefaultListModel', 'DefaultListSelectionModel', 'DefaultSingleSelectionModel', 'DesktopManager', 'FocusManager', 'GrayFilter', 'Icon', 'ImageIcon', 'InputMap', 'InputVerifier', 'InternalFrameFocusTraversalPolicy', 'JApplet', 'JButton', 'JCheckBox', 'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox', 'JComboBox.KeySelectionManager', 'JComponent', 'JDesktopPane', 'JDialog', 'JEditorPane', 'JFileChooser', 'JFormattedTextField', 'JFormattedTextField.AbstractFormatter',
+			'JFormattedTextField.AbstractFormatterFactory', 'JFrame', 'JInternalFrame', 'JInternalFrame.JDesktopIcon', 'JLabel', 'JLayeredPane', 'JList', 'JMenu', 'JMenuBar', 'JMenuItem', 'JOptionPane', 'JPanel', 'JPasswordField', 'JPopupMenu', 'JPopupMenu.Separator', 'JProgressBar', 'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane', 'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider', 'JSpinner', 'JSpinner.DateEditor', 'JSpinner.DefaultEditor', 'JSpinner.ListEditor', 'JSpinner.NumberEditor', 'JSplitPane', 'JTabbedPane', 'JTable', 'JTable.PrintMode', 'JTextArea', 'JTextField', 'JTextPane', 'JToggleButton', 'JToggleButton.ToggleButtonModel', 'JToolBar', 'JToolBar.Separator', 'JToolTip', 'JTree', 'JTree.DynamicUtilTreeNode', 'JTree.EmptySelectionModel', 'JViewport', 'JWindow', 'KeyStroke', 'LayoutFocusTraversalPolicy', 'ListCellRenderer', 'ListModel', 'ListSelectionModel', 'LookAndFeel', 'MenuElement', 'MenuSelectionManager', 'MutableComboBoxModel', 'OverlayLayout', 'Popup', 'PopupFactory', 'ProgressMonitor',
+			'ProgressMonitorInputStream', 'Renderer', 'RepaintManager', 'RootPaneContainer', 'ScrollPaneConstants', 'ScrollPaneLayout', 'ScrollPaneLayout.UIResource', 'Scrollable', 'SingleSelectionModel', 'SizeRequirements', 'SizeSequence', 'SortingFocusTraversalPolicy', 'SpinnerDateModel', 'SpinnerListModel', 'SpinnerModel', 'SpinnerNumberModel', 'Spring', 'SpringLayout', 'SpringLayout.Constraints', 'SwingConstants', 'SwingUtilities', 'ToolTipManager', 'TransferHandler', 'UIDefaults', 'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap', 'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue', 'UIManager', 'UIManager.LookAndFeelInfo', 'UnsupportedLookAndFeelException', 'ViewportLayout', 'WindowConstants'
+			),
+		106 => array (
+			'AbstractBorder', 'BevelBorder', 'Border', 'CompoundBorder', 'EmptyBorder', 'EtchedBorder', 'LineBorder', 'MatteBorder', 'SoftBevelBorder', 'TitledBorder'
+			),
+		107 => array (
+			'AbstractColorChooserPanel', 'ColorChooserComponentFactory', 'ColorSelectionModel', 'DefaultColorSelectionModel'
+			),
+		108 => array (
+			'AncestorEvent', 'AncestorListener', 'CaretEvent', 'CaretListener', 'CellEditorListener', 'ChangeEvent', 'ChangeListener', 'DocumentEvent.ElementChange', 'DocumentEvent.EventType', 'DocumentListener', 'EventListenerList', 'HyperlinkEvent', 'HyperlinkEvent.EventType', 'HyperlinkListener', 'InternalFrameAdapter', 'InternalFrameEvent', 'InternalFrameListener', 'ListDataEvent', 'ListDataListener', 'ListSelectionEvent', 'ListSelectionListener', 'MenuDragMouseEvent', 'MenuDragMouseListener', 'MenuEvent', 'MenuKeyEvent', 'MenuKeyListener', 'MenuListener', 'MouseInputAdapter', 'MouseInputListener', 'PopupMenuEvent', 'PopupMenuListener', 'SwingPropertyChangeSupport', 'TableColumnModelEvent', 'TableColumnModelListener', 'TableModelEvent', 'TableModelListener', 'TreeExpansionEvent', 'TreeExpansionListener', 'TreeModelEvent', 'TreeModelListener', 'TreeSelectionEvent', 'TreeSelectionListener', 'TreeWillExpandListener', 'UndoableEditEvent', 'UndoableEditListener'
+			),
+		109 => array (
+			'FileSystemView', 'FileView'
+			),
+		110 => array (
+			'ActionMapUIResource', 'BorderUIResource', 'BorderUIResource.BevelBorderUIResource', 'BorderUIResource.CompoundBorderUIResource', 'BorderUIResource.EmptyBorderUIResource', 'BorderUIResource.EtchedBorderUIResource', 'BorderUIResource.LineBorderUIResource', 'BorderUIResource.MatteBorderUIResource', 'BorderUIResource.TitledBorderUIResource', 'ButtonUI', 'ColorChooserUI', 'ColorUIResource', 'ComboBoxUI', 'ComponentInputMapUIResource', 'ComponentUI', 'DesktopIconUI', 'DesktopPaneUI', 'DimensionUIResource', 'FileChooserUI', 'FontUIResource', 'IconUIResource', 'InputMapUIResource', 'InsetsUIResource', 'InternalFrameUI', 'LabelUI', 'ListUI', 'MenuBarUI', 'MenuItemUI', 'OptionPaneUI', 'PanelUI', 'PopupMenuUI', 'ProgressBarUI', 'RootPaneUI', 'ScrollBarUI', 'ScrollPaneUI', 'SeparatorUI', 'SliderUI', 'SpinnerUI', 'SplitPaneUI', 'TabbedPaneUI', 'TableHeaderUI', 'TableUI', 'TextUI', 'ToolBarUI', 'ToolTipUI', 'TreeUI', 'UIResource', 'ViewportUI'
+			),
+		111 => array (
+			'BasicArrowButton', 'BasicBorders', 'BasicBorders.ButtonBorder', 'BasicBorders.FieldBorder', 'BasicBorders.MarginBorder', 'BasicBorders.MenuBarBorder', 'BasicBorders.RadioButtonBorder', 'BasicBorders.RolloverButtonBorder', 'BasicBorders.SplitPaneBorder', 'BasicBorders.ToggleButtonBorder', 'BasicButtonListener', 'BasicButtonUI', 'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI', 'BasicColorChooserUI', 'BasicComboBoxEditor', 'BasicComboBoxEditor.UIResource', 'BasicComboBoxRenderer', 'BasicComboBoxRenderer.UIResource', 'BasicComboBoxUI', 'BasicComboPopup', 'BasicDesktopIconUI', 'BasicDesktopPaneUI', 'BasicDirectoryModel', 'BasicEditorPaneUI', 'BasicFileChooserUI', 'BasicFormattedTextFieldUI', 'BasicGraphicsUtils', 'BasicHTML', 'BasicIconFactory', 'BasicInternalFrameTitlePane', 'BasicInternalFrameUI', 'BasicLabelUI', 'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI', 'BasicMenuItemUI', 'BasicMenuUI', 'BasicOptionPaneUI', 'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI', 'BasicPasswordFieldUI',
+			'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI', 'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI', 'BasicRadioButtonUI', 'BasicRootPaneUI', 'BasicScrollBarUI', 'BasicScrollPaneUI', 'BasicSeparatorUI', 'BasicSliderUI', 'BasicSpinnerUI', 'BasicSplitPaneDivider', 'BasicSplitPaneUI', 'BasicTabbedPaneUI', 'BasicTableHeaderUI', 'BasicTableUI', 'BasicTextAreaUI', 'BasicTextFieldUI', 'BasicTextPaneUI', 'BasicTextUI', 'BasicTextUI.BasicCaret', 'BasicTextUI.BasicHighlighter', 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI', 'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI', 'BasicViewportUI', 'ComboPopup', 'DefaultMenuLayout'
+			),
+		112 => array (
+			'DefaultMetalTheme', 'MetalBorders', 'MetalBorders.ButtonBorder', 'MetalBorders.Flush3DBorder', 'MetalBorders.InternalFrameBorder', 'MetalBorders.MenuBarBorder', 'MetalBorders.MenuItemBorder', 'MetalBorders.OptionDialogBorder', 'MetalBorders.PaletteBorder', 'MetalBorders.PopupMenuBorder', 'MetalBorders.RolloverButtonBorder', 'MetalBorders.ScrollPaneBorder', 'MetalBorders.TableHeaderBorder', 'MetalBorders.TextFieldBorder', 'MetalBorders.ToggleButtonBorder', 'MetalBorders.ToolBarBorder', 'MetalButtonUI', 'MetalCheckBoxIcon', 'MetalCheckBoxUI', 'MetalComboBoxButton', 'MetalComboBoxEditor', 'MetalComboBoxEditor.UIResource', 'MetalComboBoxIcon', 'MetalComboBoxUI', 'MetalDesktopIconUI', 'MetalFileChooserUI', 'MetalIconFactory', 'MetalIconFactory.FileIcon16', 'MetalIconFactory.FolderIcon16', 'MetalIconFactory.PaletteCloseIcon', 'MetalIconFactory.TreeControlIcon', 'MetalIconFactory.TreeFolderIcon', 'MetalIconFactory.TreeLeafIcon', 'MetalInternalFrameTitlePane', 'MetalInternalFrameUI', 'MetalLabelUI',
+			'MetalLookAndFeel', 'MetalMenuBarUI', 'MetalPopupMenuSeparatorUI', 'MetalProgressBarUI', 'MetalRadioButtonUI', 'MetalRootPaneUI', 'MetalScrollBarUI', 'MetalScrollButton', 'MetalScrollPaneUI', 'MetalSeparatorUI', 'MetalSliderUI', 'MetalSplitPaneUI', 'MetalTabbedPaneUI', 'MetalTextFieldUI', 'MetalTheme', 'MetalToggleButtonUI', 'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI', 'OceanTheme'
+			),
+		113 => array (
+			'MultiButtonUI', 'MultiColorChooserUI', 'MultiComboBoxUI', 'MultiDesktopIconUI', 'MultiDesktopPaneUI', 'MultiFileChooserUI', 'MultiInternalFrameUI', 'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel', 'MultiMenuBarUI', 'MultiMenuItemUI', 'MultiOptionPaneUI', 'MultiPanelUI', 'MultiPopupMenuUI', 'MultiProgressBarUI', 'MultiRootPaneUI', 'MultiScrollBarUI', 'MultiScrollPaneUI', 'MultiSeparatorUI', 'MultiSliderUI', 'MultiSpinnerUI', 'MultiSplitPaneUI', 'MultiTabbedPaneUI', 'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI', 'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI', 'MultiViewportUI'
+			),
+		114 => array (
+			'ColorType', 'Region', 'SynthConstants', 'SynthContext', 'SynthGraphicsUtils', 'SynthLookAndFeel', 'SynthPainter', 'SynthStyle', 'SynthStyleFactory'
+			),
+		115 => array (
+			'AbstractTableModel', 'DefaultTableCellRenderer', 'DefaultTableCellRenderer.UIResource', 'DefaultTableColumnModel', 'DefaultTableModel', 'JTableHeader', 'TableCellEditor', 'TableCellRenderer', 'TableColumn', 'TableColumnModel', 'TableModel'
+			),
+		116 => array (
+			'AbstractDocument', 'AbstractDocument.AttributeContext', 'AbstractDocument.Content', 'AbstractDocument.ElementEdit', 'AbstractWriter', 'AsyncBoxView', 'AttributeSet.CharacterAttribute', 'AttributeSet.ColorAttribute', 'AttributeSet.FontAttribute', 'AttributeSet.ParagraphAttribute', 'BadLocationException', 'BoxView', 'Caret', 'ChangedCharSetException', 'ComponentView', 'CompositeView', 'DateFormatter', 'DefaultCaret', 'DefaultEditorKit', 'DefaultEditorKit.BeepAction', 'DefaultEditorKit.CopyAction', 'DefaultEditorKit.CutAction', 'DefaultEditorKit.DefaultKeyTypedAction', 'DefaultEditorKit.InsertBreakAction', 'DefaultEditorKit.InsertContentAction', 'DefaultEditorKit.InsertTabAction', 'DefaultEditorKit.PasteAction', 'DefaultFormatter', 'DefaultFormatterFactory', 'DefaultHighlighter', 'DefaultHighlighter.DefaultHighlightPainter', 'DefaultStyledDocument', 'DefaultStyledDocument.AttributeUndoableEdit', 'DefaultStyledDocument.ElementSpec', 'DefaultTextUI', 'DocumentFilter', 'DocumentFilter.FilterBypass',
+			'EditorKit', 'ElementIterator', 'FieldView', 'FlowView', 'FlowView.FlowStrategy', 'GapContent', 'GlyphView', 'GlyphView.GlyphPainter', 'Highlighter', 'Highlighter.Highlight', 'Highlighter.HighlightPainter', 'IconView', 'InternationalFormatter', 'JTextComponent', 'JTextComponent.KeyBinding', 'Keymap', 'LabelView', 'LayeredHighlighter', 'LayeredHighlighter.LayerPainter', 'LayoutQueue', 'MaskFormatter', 'MutableAttributeSet', 'NavigationFilter', 'NavigationFilter.FilterBypass', 'NumberFormatter', 'PasswordView', 'PlainDocument', 'PlainView', 'Position', 'Position.Bias', 'Segment', 'SimpleAttributeSet', 'StringContent', 'Style', 'StyleConstants', 'StyleConstants.CharacterConstants', 'StyleConstants.ColorConstants', 'StyleConstants.FontConstants', 'StyleConstants.ParagraphConstants', 'StyleContext', 'StyledDocument', 'StyledEditorKit', 'StyledEditorKit.AlignmentAction', 'StyledEditorKit.BoldAction', 'StyledEditorKit.FontFamilyAction', 'StyledEditorKit.FontSizeAction', 'StyledEditorKit.ForegroundAction',
+			'StyledEditorKit.ItalicAction', 'StyledEditorKit.StyledTextAction', 'StyledEditorKit.UnderlineAction', 'TabExpander', 'TabSet', 'TabStop', 'TabableView', 'TableView', 'TextAction', 'Utilities', 'View', 'ViewFactory', 'WrappedPlainView', 'ZoneView'
+			),
+		117 => array (
+			'BlockView', 'CSS', 'CSS.Attribute', 'FormSubmitEvent', 'FormSubmitEvent.MethodType', 'FormView', 'HTML', 'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag', 'HTMLDocument', 'HTMLDocument.Iterator', 'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory', 'HTMLEditorKit.HTMLTextAction', 'HTMLEditorKit.InsertHTMLTextAction', 'HTMLEditorKit.LinkController', 'HTMLEditorKit.Parser', 'HTMLEditorKit.ParserCallback', 'HTMLFrameHyperlinkEvent', 'HTMLWriter', 'ImageView', 'InlineView', 'ListView', 'MinimalHTMLWriter', 'ObjectView', 'Option', 'StyleSheet', 'StyleSheet.BoxPainter', 'StyleSheet.ListPainter'
+			),
+		118 => array (
+			'ContentModel', 'DTD', 'DTDConstants', 'DocumentParser', 'ParserDelegator', 'TagElement'
+			),
+		119 => array (
+			'RTFEditorKit'
+			),
+		120 => array (
+			'AbstractLayoutCache', 'AbstractLayoutCache.NodeDimensions', 'DefaultMutableTreeNode', 'DefaultTreeCellEditor', 'DefaultTreeCellRenderer', 'DefaultTreeModel', 'DefaultTreeSelectionModel', 'ExpandVetoException', 'FixedHeightLayoutCache', 'MutableTreeNode', 'RowMapper', 'TreeCellEditor', 'TreeCellRenderer', 'TreeModel', 'TreeNode', 'TreePath', 'TreeSelectionModel', 'VariableHeightLayoutCache'
+			),
+		121 => array (
+			'AbstractUndoableEdit', 'CannotRedoException', 'CannotUndoException', 'CompoundEdit', 'StateEdit', 'StateEditable', 'UndoManager', 'UndoableEdit', 'UndoableEditSupport'
+			),
+		122 => array (
+			'InvalidTransactionException', 'TransactionRequiredException', 'TransactionRolledbackException'
+			),
+		123 => array (
+			'XAException', 'XAResource', 'Xid'
+			),
+		124 => array (
+			'XMLConstants'
+			),
+		125 => array (
+			'DatatypeConfigurationException', 'DatatypeConstants', 'DatatypeConstants.Field', 'DatatypeFactory', 'Duration', 'XMLGregorianCalendar'
+			),
+		126 => array (
+			'NamespaceContext', 'QName'
+			),
+		127 => array (
+			'DocumentBuilder', 'DocumentBuilderFactory', 'FactoryConfigurationError', 'ParserConfigurationException', 'SAXParser', 'SAXParserFactory'
+			),
+		128 => array (
+			'ErrorListener', 'OutputKeys', 'Result', 'Source', 'SourceLocator', 'Templates', 'Transformer', 'TransformerConfigurationException', 'TransformerException', 'TransformerFactory', 'TransformerFactoryConfigurationError', 'URIResolver'
+			),
+		129 => array (
+			'DOMResult', 'DOMSource'
+			),
+		130 => array (
+			'SAXResult', 'SAXSource', 'SAXTransformerFactory', 'TemplatesHandler', 'TransformerHandler'
+			),
+		131 => array (
+			'StreamResult', 'StreamSource'
+			),
+		132 => array (
+			'Schema', 'SchemaFactory', 'SchemaFactoryLoader', 'TypeInfoProvider', 'Validator', 'ValidatorHandler'
+			),
+		133 => array (
+			'XPath', 'XPathConstants', 'XPathException', 'XPathExpression', 'XPathExpressionException', 'XPathFactory', 'XPathFactoryConfigurationException', 'XPathFunction', 'XPathFunctionException', 'XPathFunctionResolver', 'XPathVariableResolver'
+			),
+		134 => array (
+			'ChannelBinding', 'GSSContext', 'GSSCredential', 'GSSException', 'GSSManager', 'GSSName', 'MessageProp', 'Oid'
+			),
+		135 => array (
+			'ACTIVITY_COMPLETED', 'ACTIVITY_REQUIRED', 'ARG_IN', 'ARG_INOUT', 'ARG_OUT', 'Any', 'AnyHolder', 'AnySeqHolder', 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION', 'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE', 'BAD_POLICY_VALUE', 'BAD_QOS', 'BAD_TYPECODE', 'BooleanHolder', 'BooleanSeqHelper', 'BooleanSeqHolder', 'ByteHolder', 'CODESET_INCOMPATIBLE', 'COMM_FAILURE', 'CTX_RESTRICT_SCOPE', 'CharHolder', 'CharSeqHelper', 'CharSeqHolder', 'CompletionStatus', 'CompletionStatusHelper', 'ContextList', 'CurrentHolder', 'CustomMarshal', 'DATA_CONVERSION', 'DefinitionKind', 'DefinitionKindHelper', 'DomainManager', 'DomainManagerOperations', 'DoubleHolder', 'DoubleSeqHelper', 'DoubleSeqHolder', 'Environment', 'ExceptionList', 'FREE_MEM', 'FixedHolder', 'FloatHolder', 'FloatSeqHelper', 'FloatSeqHolder', 'IDLType', 'IDLTypeHelper', 'IDLTypeOperations', 'IMP_LIMIT', 'INITIALIZE', 'INTERNAL', 'INTF_REPOS', 'INVALID_ACTIVITY', 'INVALID_TRANSACTION', 'INV_FLAG', 'INV_IDENT', 'INV_OBJREF', 'INV_POLICY', 'IRObject',
+			'IRObjectOperations', 'IdentifierHelper', 'IntHolder', 'LocalObject', 'LongHolder', 'LongLongSeqHelper', 'LongLongSeqHolder', 'LongSeqHelper', 'LongSeqHolder', 'MARSHAL', 'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION', 'NO_RESOURCES', 'NO_RESPONSE', 'NVList', 'NamedValue', 'OBJECT_NOT_EXIST', 'OBJ_ADAPTER', 'OMGVMCID', 'ObjectHelper', 'ObjectHolder', 'OctetSeqHelper', 'OctetSeqHolder', 'PERSIST_STORE', 'PRIVATE_MEMBER', 'PUBLIC_MEMBER', 'ParameterMode', 'ParameterModeHelper', 'ParameterModeHolder', 'PolicyError', 'PolicyErrorCodeHelper', 'PolicyErrorHelper', 'PolicyErrorHolder', 'PolicyHelper', 'PolicyHolder', 'PolicyListHelper', 'PolicyListHolder', 'PolicyOperations', 'PolicyTypeHelper', 'PrincipalHolder', 'REBIND', 'RepositoryIdHelper', 'Request', 'ServerRequest', 'ServiceDetail', 'ServiceDetailHelper', 'ServiceInformation', 'ServiceInformationHelper', 'ServiceInformationHolder', 'SetOverrideType', 'SetOverrideTypeHelper', 'ShortHolder', 'ShortSeqHelper', 'ShortSeqHolder', 'StringHolder',
+			'StringSeqHelper', 'StringSeqHolder', 'StringValueHelper', 'StructMember', 'StructMemberHelper', 'SystemException', 'TCKind', 'TIMEOUT', 'TRANSACTION_MODE', 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK', 'TRANSACTION_UNAVAILABLE', 'TRANSIENT', 'TypeCode', 'TypeCodeHolder', 'ULongLongSeqHelper', 'ULongLongSeqHolder', 'ULongSeqHelper', 'ULongSeqHolder', 'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE', 'UShortSeqHelper', 'UShortSeqHolder', 'UnionMember', 'UnionMemberHelper', 'UnknownUserException', 'UnknownUserExceptionHelper', 'UnknownUserExceptionHolder', 'UserException', 'VM_ABSTRACT', 'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE', 'ValueBaseHelper', 'ValueBaseHolder', 'ValueMember', 'ValueMemberHelper', 'VersionSpecHelper', 'VisibilityHelper', 'WCharSeqHelper', 'WCharSeqHolder', 'WStringSeqHelper', 'WStringSeqHolder', 'WStringValueHelper', 'WrongTransaction', 'WrongTransactionHelper', 'WrongTransactionHolder', '_IDLTypeStub', '_PolicyStub'
+			),
+		136 => array (
+			'Invalid', 'InvalidSeq'
+			),
+		137 => array (
+			'BadKind'
+			),
+		138 => array (
+			'ApplicationException', 'BoxedValueHelper', 'CustomValue', 'IDLEntity', 'IndirectionException', 'InvokeHandler', 'RemarshalException', 'ResponseHandler', 'ServantObject', 'Streamable', 'StreamableValue', 'UnknownException', 'ValueBase', 'ValueFactory', 'ValueInputStream', 'ValueOutputStream'
+			),
+		139 => array (
+			'BindingHelper', 'BindingHolder', 'BindingIterator', 'BindingIteratorHelper', 'BindingIteratorHolder', 'BindingIteratorOperations', 'BindingIteratorPOA', 'BindingListHelper', 'BindingListHolder', 'BindingType', 'BindingTypeHelper', 'BindingTypeHolder', 'IstringHelper', 'NameComponent', 'NameComponentHelper', 'NameComponentHolder', 'NameHelper', 'NameHolder', 'NamingContext', 'NamingContextExt', 'NamingContextExtHelper', 'NamingContextExtHolder', 'NamingContextExtOperations', 'NamingContextExtPOA', 'NamingContextHelper', 'NamingContextHolder', 'NamingContextOperations', 'NamingContextPOA', '_BindingIteratorImplBase', '_BindingIteratorStub', '_NamingContextExtStub', '_NamingContextImplBase', '_NamingContextStub'
+			),
+		140 => array (
+			'AddressHelper', 'InvalidAddress', 'InvalidAddressHelper', 'InvalidAddressHolder', 'StringNameHelper', 'URLStringHelper'
+			),
+		141 => array (
+			'AlreadyBound', 'AlreadyBoundHelper', 'AlreadyBoundHolder', 'CannotProceed', 'CannotProceedHelper', 'CannotProceedHolder', 'InvalidNameHolder', 'NotEmpty', 'NotEmptyHelper', 'NotEmptyHolder', 'NotFound', 'NotFoundHelper', 'NotFoundHolder', 'NotFoundReason', 'NotFoundReasonHelper', 'NotFoundReasonHolder'
+			),
+		142 => array (
+			'Parameter'
+			),
+		143 => array (
+			'DynAnyFactory', 'DynAnyFactoryHelper', 'DynAnyFactoryOperations', 'DynAnyHelper', 'DynAnyOperations', 'DynAnySeqHelper', 'DynArrayHelper', 'DynArrayOperations', 'DynEnumHelper', 'DynEnumOperations', 'DynFixedHelper', 'DynFixedOperations', 'DynSequenceHelper', 'DynSequenceOperations', 'DynStructHelper', 'DynStructOperations', 'DynUnionHelper', 'DynUnionOperations', 'DynValueBox', 'DynValueBoxOperations', 'DynValueCommon', 'DynValueCommonOperations', 'DynValueHelper', 'DynValueOperations', 'NameDynAnyPair', 'NameDynAnyPairHelper', 'NameDynAnyPairSeqHelper', 'NameValuePairSeqHelper', '_DynAnyFactoryStub', '_DynAnyStub', '_DynArrayStub', '_DynEnumStub', '_DynFixedStub', '_DynSequenceStub', '_DynStructStub', '_DynUnionStub', '_DynValueStub'
+			),
+		144 => array (
+			'InconsistentTypeCodeHelper'
+			),
+		145 => array (
+			'InvalidValueHelper'
+			),
+		146 => array (
+			'CodeSets', 'Codec', 'CodecFactory', 'CodecFactoryHelper', 'CodecFactoryOperations', 'CodecOperations', 'ComponentIdHelper', 'ENCODING_CDR_ENCAPS', 'Encoding', 'ExceptionDetailMessage', 'IOR', 'IORHelper', 'IORHolder', 'MultipleComponentProfileHelper', 'MultipleComponentProfileHolder', 'ProfileIdHelper', 'RMICustomMaxStreamFormat', 'ServiceContext', 'ServiceContextHelper', 'ServiceContextHolder', 'ServiceContextListHelper', 'ServiceContextListHolder', 'ServiceIdHelper', 'TAG_ALTERNATE_IIOP_ADDRESS', 'TAG_CODE_SETS', 'TAG_INTERNET_IOP', 'TAG_JAVA_CODEBASE', 'TAG_MULTIPLE_COMPONENTS', 'TAG_ORB_TYPE', 'TAG_POLICIES', 'TAG_RMI_CUSTOM_MAX_STREAM_FORMAT', 'TaggedComponent', 'TaggedComponentHelper', 'TaggedComponentHolder', 'TaggedProfile', 'TaggedProfileHelper', 'TaggedProfileHolder', 'TransactionService'
+			),
+		147 => array (
+			'UnknownEncoding', 'UnknownEncodingHelper'
+			),
+		148 => array (
+			'FormatMismatch', 'FormatMismatchHelper', 'InvalidTypeForEncoding', 'InvalidTypeForEncodingHelper'
+			),
+		149 => array (
+			'SYNC_WITH_TRANSPORT', 'SyncScopeHelper'
+			),
+		150 => array (
+			'ACTIVE', 'AdapterManagerIdHelper', 'AdapterNameHelper', 'AdapterStateHelper', 'ClientRequestInfo', 'ClientRequestInfoOperations', 'ClientRequestInterceptor', 'ClientRequestInterceptorOperations', 'DISCARDING', 'HOLDING', 'INACTIVE', 'IORInfo', 'IORInfoOperations', 'IORInterceptor', 'IORInterceptorOperations', 'IORInterceptor_3_0', 'IORInterceptor_3_0Helper', 'IORInterceptor_3_0Holder', 'IORInterceptor_3_0Operations', 'Interceptor', 'InterceptorOperations', 'InvalidSlot', 'InvalidSlotHelper', 'LOCATION_FORWARD', 'NON_EXISTENT', 'ORBIdHelper', 'ORBInitInfo', 'ORBInitInfoOperations', 'ORBInitializer', 'ORBInitializerOperations', 'ObjectReferenceFactory', 'ObjectReferenceFactoryHelper', 'ObjectReferenceFactoryHolder', 'ObjectReferenceTemplate', 'ObjectReferenceTemplateHelper', 'ObjectReferenceTemplateHolder', 'ObjectReferenceTemplateSeqHelper', 'ObjectReferenceTemplateSeqHolder', 'PolicyFactory', 'PolicyFactoryOperations', 'RequestInfo', 'RequestInfoOperations', 'SUCCESSFUL', 'SYSTEM_EXCEPTION',
+			'ServerIdHelper', 'ServerRequestInfo', 'ServerRequestInfoOperations', 'ServerRequestInterceptor', 'ServerRequestInterceptorOperations', 'TRANSPORT_RETRY', 'USER_EXCEPTION'
+			),
+		151 => array (
+			'DuplicateName', 'DuplicateNameHelper'
+			),
+		152 => array (
+			'AdapterActivator', 'AdapterActivatorOperations', 'ID_ASSIGNMENT_POLICY_ID', 'ID_UNIQUENESS_POLICY_ID', 'IMPLICIT_ACTIVATION_POLICY_ID', 'IdAssignmentPolicy', 'IdAssignmentPolicyOperations', 'IdAssignmentPolicyValue', 'IdUniquenessPolicy', 'IdUniquenessPolicyOperations', 'IdUniquenessPolicyValue', 'ImplicitActivationPolicy', 'ImplicitActivationPolicyOperations', 'ImplicitActivationPolicyValue', 'LIFESPAN_POLICY_ID', 'LifespanPolicy', 'LifespanPolicyOperations', 'LifespanPolicyValue', 'POA', 'POAHelper', 'POAManager', 'POAManagerOperations', 'POAOperations', 'REQUEST_PROCESSING_POLICY_ID', 'RequestProcessingPolicy', 'RequestProcessingPolicyOperations', 'RequestProcessingPolicyValue', 'SERVANT_RETENTION_POLICY_ID', 'Servant', 'ServantActivator', 'ServantActivatorHelper', 'ServantActivatorOperations', 'ServantActivatorPOA', 'ServantLocator', 'ServantLocatorHelper', 'ServantLocatorOperations', 'ServantLocatorPOA', 'ServantManager', 'ServantManagerOperations', 'ServantRetentionPolicy',
+			'ServantRetentionPolicyOperations', 'ServantRetentionPolicyValue', 'THREAD_POLICY_ID', 'ThreadPolicy', 'ThreadPolicyOperations', 'ThreadPolicyValue', '_ServantActivatorStub', '_ServantLocatorStub'
+			),
+		153 => array (
+			'NoContext', 'NoContextHelper'
+			),
+		154 => array (
+			'AdapterInactive', 'AdapterInactiveHelper', 'State'
+			),
+		155 => array (
+			'AdapterAlreadyExists', 'AdapterAlreadyExistsHelper', 'AdapterNonExistent', 'AdapterNonExistentHelper', 'InvalidPolicy', 'InvalidPolicyHelper', 'NoServant', 'NoServantHelper', 'ObjectAlreadyActive', 'ObjectAlreadyActiveHelper', 'ObjectNotActive', 'ObjectNotActiveHelper', 'ServantAlreadyActive', 'ServantAlreadyActiveHelper', 'ServantNotActive', 'ServantNotActiveHelper', 'WrongAdapter', 'WrongAdapterHelper', 'WrongPolicy', 'WrongPolicyHelper'
+			),
+		156 => array (
+			'CookieHolder'
+			),
+		157 => array (
+			'RunTime', 'RunTimeOperations'
+			),
+		158 => array (
+			'_Remote_Stub'
+			),
+		159 => array (
+			'Attr', 'CDATASection', 'CharacterData', 'Comment', 'DOMConfiguration', 'DOMError', 'DOMErrorHandler', 'DOMException', 'DOMImplementation', 'DOMImplementationList', 'DOMImplementationSource', 'DOMStringList', 'DocumentFragment', 'DocumentType', 'EntityReference', 'NameList', 'NamedNodeMap', 'Node', 'NodeList', 'Notation', 'ProcessingInstruction', 'Text', 'TypeInfo', 'UserDataHandler'
+			),
+		160 => array (
+			'DOMImplementationRegistry'
+			),
+		161 => array (
+			'EventException', 'EventTarget', 'MutationEvent', 'UIEvent'
+			),
+		162 => array (
+			'DOMImplementationLS', 'LSException', 'LSInput', 'LSLoadEvent', 'LSOutput', 'LSParser', 'LSParserFilter', 'LSProgressEvent', 'LSResourceResolver', 'LSSerializer', 'LSSerializerFilter'
+			),
+		163 => array (
+			'DTDHandler', 'DocumentHandler', 'EntityResolver', 'ErrorHandler', 'HandlerBase', 'InputSource', 'Locator', 'SAXException', 'SAXNotRecognizedException', 'SAXNotSupportedException', 'SAXParseException', 'XMLFilter', 'XMLReader'
+			),
+		164 => array (
+			'Attributes2', 'Attributes2Impl', 'DeclHandler', 'DefaultHandler2', 'EntityResolver2', 'LexicalHandler', 'Locator2', 'Locator2Impl'
+			),
+		165 => array (
+			'AttributeListImpl', 'AttributesImpl', 'DefaultHandler', 'LocatorImpl', 'NamespaceSupport', 'ParserAdapter', 'ParserFactory', 'XMLFilterImpl', 'XMLReaderAdapter', 'XMLReaderFactory'
+			),
+		/* ambiguous class names (appear in more than one package) */
+		166 => array (
+			'Annotation', 'AnySeqHelper', 'Array', 'Attribute', 'AttributeList', 'AttributeSet', 'Attributes', 'AuthenticationException', 'Binding', 'Bounds', 'Certificate', 'CertificateEncodingException', 'CertificateException', 'CertificateExpiredException', 'CertificateNotYetValidException', 'CertificateParsingException', 'ConnectException', 'ContentHandler', 'Context', 'Control', 'Current', 'CurrentHelper', 'CurrentOperations', 'DOMLocator', 'DataInputStream', 'DataOutputStream', 'Date', 'DefaultLoaderRepository', 'Delegate', 'Document', 'DocumentEvent', 'DynAny', 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence', 'DynStruct', 'DynUnion', 'DynValue', 'DynamicImplementation', 'Element', 'Entity', 'Event', 'EventListener', 'FieldNameHelper', 'FileFilter', 'Formatter', 'ForwardRequest', 'ForwardRequestHelper', 'InconsistentTypeCode', 'InputStream', 'IntrospectionException', 'InvalidAttributeValueException', 'InvalidKeyException', 'InvalidName', 'InvalidNameHelper', 'InvalidValue', 'List', 'MouseEvent',
+			'NameValuePair', 'NameValuePairHelper', 'ORB', 'Object', 'ObjectIdHelper', 'ObjectImpl', 'OpenType', 'OutputStream', 'ParagraphView', 'Parser', 'Permission', 'Policy', 'Principal', 'Proxy', 'Reference', 'Statement', 'Timer', 'Timestamp', 'TypeMismatch', 'TypeMismatchHelper', 'UNKNOWN', 'UnknownHostException', 'X509Certificate'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		/* all Java keywords are case sensitive */
+		1 => true, 2 => true, 3 => true, 4 => true,
+		5 => true, 6 => true, 7 => true, 8 => true, 9 => true,
+		10 => true, 11 => true, 12 => true, 13 => true, 14 => true,
+		15 => true, 16 => true, 17 => true, 18 => true, 19 => true,
+		20 => true, 21 => true, 22 => true, 23 => true, 24 => true,
+		25 => true, 26 => true, 27 => true, 28 => true, 29 => true,
+		30 => true, 31 => true, 32 => true, 33 => true, 34 => true,
+		35 => true, 36 => true, 37 => true, 38 => true, 39 => true,
+		40 => true, 41 => true, 42 => true, 43 => true, 44 => true,
+		45 => true, 46 => true, 47 => true, 48 => true, 49 => true,
+		50 => true, 51 => true, 52 => true, 53 => true, 54 => true,
+		55 => true, 56 => true, 57 => true, 58 => true, 59 => true,
+		60 => true, 61 => true, 62 => true, 63 => true, 64 => true,
+		65 => true, 66 => true, 67 => true, 68 => true, 69 => true,
+		70 => true, 71 => true, 72 => true, 73 => true, 74 => true,
+		75 => true, 76 => true, 77 => true, 78 => true, 79 => true,
+		80 => true, 81 => true, 82 => true, 83 => true, 84 => true,
+		85 => true, 86 => true, 87 => true, 88 => true, 89 => true,
+		90 => true, 91 => true, 92 => true, 93 => true, 94 => true,
+		95 => true, 96 => true, 97 => true, 98 => true, 99 => true,
+		100 => true, 101 => true, 102 => true, 103 => true, 104 => true,
+		105 => true, 106 => true, 107 => true, 108 => true, 109 => true,
+		110 => true, 111 => true, 112 => true, 113 => true, 114 => true,
+		115 => true, 116 => true, 117 => true, 118 => true, 119 => true,
+		120 => true, 121 => true, 122 => true, 123 => true, 124 => true,
+		125 => true, 126 => true, 127 => true, 128 => true, 129 => true,
+		130 => true, 131 => true, 132 => true, 133 => true, 134 => true,
+		135 => true, 136 => true, 137 => true, 138 => true, 139 => true,
+		140 => true, 141 => true, 142 => true, 143 => true, 144 => true,
+		145 => true, 146 => true, 147 => true, 148 => true, 149 => true,
+		150 => true, 151 => true, 152 => true, 153 => true, 154 => true,
+		155 => true, 156 => true, 157 => true, 158 => true, 159 => true,
+		160 => true, 161 => true, 162 => true, 163 => true, 164 => true,
+		165 => true, 166 => true
+	),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #993333;',
+			4 => 'color: #b13366;',
+			5 => 'color: #aaaadd; font-weight: bold;',
+			6 => 'color: #aaaadd; font-weight: bold;',
+			7 => 'color: #aaaadd; font-weight: bold;',
+			8 => 'color: #aaaadd; font-weight: bold;',
+			9 => 'color: #aaaadd; font-weight: bold;',
+			10 => 'color: #aaaadd; font-weight: bold;',
+			11 => 'color: #aaaadd; font-weight: bold;',
+			12 => 'color: #aaaadd; font-weight: bold;',
+			13 => 'color: #aaaadd; font-weight: bold;',
+			14 => 'color: #aaaadd; font-weight: bold;',
+			15 => 'color: #aaaadd; font-weight: bold;',
+			16 => 'color: #aaaadd; font-weight: bold;',
+			17 => 'color: #aaaadd; font-weight: bold;',
+			18 => 'color: #aaaadd; font-weight: bold;',
+			19 => 'color: #aaaadd; font-weight: bold;',
+			20 => 'color: #aaaadd; font-weight: bold;',
+			21 => 'color: #aaaadd; font-weight: bold;',
+			22 => 'color: #aaaadd; font-weight: bold;',
+			23 => 'color: #aaaadd; font-weight: bold;',
+			24 => 'color: #aaaadd; font-weight: bold;',
+			25 => 'color: #aaaadd; font-weight: bold;',
+			26 => 'color: #aaaadd; font-weight: bold;',
+			27 => 'color: #aaaadd; font-weight: bold;',
+			28 => 'color: #aaaadd; font-weight: bold;',
+			29 => 'color: #aaaadd; font-weight: bold;',
+			30 => 'color: #aaaadd; font-weight: bold;',
+			31 => 'color: #aaaadd; font-weight: bold;',
+			32 => 'color: #aaaadd; font-weight: bold;',
+			33 => 'color: #aaaadd; font-weight: bold;',
+			34 => 'color: #aaaadd; font-weight: bold;',
+			35 => 'color: #aaaadd; font-weight: bold;',
+			36 => 'color: #aaaadd; font-weight: bold;',
+			37 => 'color: #aaaadd; font-weight: bold;',
+			38 => 'color: #aaaadd; font-weight: bold;',
+			39 => 'color: #aaaadd; font-weight: bold;',
+			40 => 'color: #aaaadd; font-weight: bold;',
+			41 => 'color: #aaaadd; font-weight: bold;',
+			42 => 'color: #aaaadd; font-weight: bold;',
+			43 => 'color: #aaaadd; font-weight: bold;',
+			44 => 'color: #aaaadd; font-weight: bold;',
+			45 => 'color: #aaaadd; font-weight: bold;',
+			46 => 'color: #aaaadd; font-weight: bold;',
+			47 => 'color: #aaaadd; font-weight: bold;',
+			48 => 'color: #aaaadd; font-weight: bold;',
+			49 => 'color: #aaaadd; font-weight: bold;',
+			50 => 'color: #aaaadd; font-weight: bold;',
+			51 => 'color: #aaaadd; font-weight: bold;',
+			52 => 'color: #aaaadd; font-weight: bold;',
+			53 => 'color: #aaaadd; font-weight: bold;',
+			54 => 'color: #aaaadd; font-weight: bold;',
+			55 => 'color: #aaaadd; font-weight: bold;',
+			56 => 'color: #aaaadd; font-weight: bold;',
+			57 => 'color: #aaaadd; font-weight: bold;',
+			58 => 'color: #aaaadd; font-weight: bold;',
+			59 => 'color: #aaaadd; font-weight: bold;',
+			60 => 'color: #aaaadd; font-weight: bold;',
+			61 => 'color: #aaaadd; font-weight: bold;',
+			62 => 'color: #aaaadd; font-weight: bold;',
+			63 => 'color: #aaaadd; font-weight: bold;',
+			64 => 'color: #aaaadd; font-weight: bold;',
+			65 => 'color: #aaaadd; font-weight: bold;',
+			66 => 'color: #aaaadd; font-weight: bold;',
+			67 => 'color: #aaaadd; font-weight: bold;',
+			68 => 'color: #aaaadd; font-weight: bold;',
+			69 => 'color: #aaaadd; font-weight: bold;',
+			70 => 'color: #aaaadd; font-weight: bold;',
+			71 => 'color: #aaaadd; font-weight: bold;',
+			72 => 'color: #aaaadd; font-weight: bold;',
+			73 => 'color: #aaaadd; font-weight: bold;',
+			74 => 'color: #aaaadd; font-weight: bold;',
+			75 => 'color: #aaaadd; font-weight: bold;',
+			76 => 'color: #aaaadd; font-weight: bold;',
+			77 => 'color: #aaaadd; font-weight: bold;',
+			78 => 'color: #aaaadd; font-weight: bold;',
+			79 => 'color: #aaaadd; font-weight: bold;',
+			80 => 'color: #aaaadd; font-weight: bold;',
+			81 => 'color: #aaaadd; font-weight: bold;',
+			82 => 'color: #aaaadd; font-weight: bold;',
+			83 => 'color: #aaaadd; font-weight: bold;',
+			84 => 'color: #aaaadd; font-weight: bold;',
+			85 => 'color: #aaaadd; font-weight: bold;',
+			86 => 'color: #aaaadd; font-weight: bold;',
+			87 => 'color: #aaaadd; font-weight: bold;',
+			88 => 'color: #aaaadd; font-weight: bold;',
+			89 => 'color: #aaaadd; font-weight: bold;',
+			90 => 'color: #aaaadd; font-weight: bold;',
+			91 => 'color: #aaaadd; font-weight: bold;',
+			92 => 'color: #aaaadd; font-weight: bold;',
+			93 => 'color: #aaaadd; font-weight: bold;',
+			94 => 'color: #aaaadd; font-weight: bold;',
+			95 => 'color: #aaaadd; font-weight: bold;',
+			96 => 'color: #aaaadd; font-weight: bold;',
+			97 => 'color: #aaaadd; font-weight: bold;',
+			98 => 'color: #aaaadd; font-weight: bold;',
+			99 => 'color: #aaaadd; font-weight: bold;',
+			100 => 'color: #aaaadd; font-weight: bold;',
+			101 => 'color: #aaaadd; font-weight: bold;',
+			102 => 'color: #aaaadd; font-weight: bold;',
+			103 => 'color: #aaaadd; font-weight: bold;',
+			104 => 'color: #aaaadd; font-weight: bold;',
+			105 => 'color: #aaaadd; font-weight: bold;',
+			106 => 'color: #aaaadd; font-weight: bold;',
+			107 => 'color: #aaaadd; font-weight: bold;',
+			108 => 'color: #aaaadd; font-weight: bold;',
+			109 => 'color: #aaaadd; font-weight: bold;',
+			110 => 'color: #aaaadd; font-weight: bold;',
+			111 => 'color: #aaaadd; font-weight: bold;',
+			112 => 'color: #aaaadd; font-weight: bold;',
+			113 => 'color: #aaaadd; font-weight: bold;',
+			114 => 'color: #aaaadd; font-weight: bold;',
+			115 => 'color: #aaaadd; font-weight: bold;',
+			116 => 'color: #aaaadd; font-weight: bold;',
+			117 => 'color: #aaaadd; font-weight: bold;',
+			118 => 'color: #aaaadd; font-weight: bold;',
+			119 => 'color: #aaaadd; font-weight: bold;',
+			120 => 'color: #aaaadd; font-weight: bold;',
+			121 => 'color: #aaaadd; font-weight: bold;',
+			122 => 'color: #aaaadd; font-weight: bold;',
+			123 => 'color: #aaaadd; font-weight: bold;',
+			124 => 'color: #aaaadd; font-weight: bold;',
+			125 => 'color: #aaaadd; font-weight: bold;',
+			126 => 'color: #aaaadd; font-weight: bold;',
+			127 => 'color: #aaaadd; font-weight: bold;',
+			128 => 'color: #aaaadd; font-weight: bold;',
+			129 => 'color: #aaaadd; font-weight: bold;',
+			130 => 'color: #aaaadd; font-weight: bold;',
+			131 => 'color: #aaaadd; font-weight: bold;',
+			132 => 'color: #aaaadd; font-weight: bold;',
+			133 => 'color: #aaaadd; font-weight: bold;',
+			134 => 'color: #aaaadd; font-weight: bold;',
+			135 => 'color: #aaaadd; font-weight: bold;',
+			136 => 'color: #aaaadd; font-weight: bold;',
+			137 => 'color: #aaaadd; font-weight: bold;',
+			138 => 'color: #aaaadd; font-weight: bold;',
+			139 => 'color: #aaaadd; font-weight: bold;',
+			140 => 'color: #aaaadd; font-weight: bold;',
+			141 => 'color: #aaaadd; font-weight: bold;',
+			142 => 'color: #aaaadd; font-weight: bold;',
+			143 => 'color: #aaaadd; font-weight: bold;',
+			144 => 'color: #aaaadd; font-weight: bold;',
+			145 => 'color: #aaaadd; font-weight: bold;',
+			146 => 'color: #aaaadd; font-weight: bold;',
+			147 => 'color: #aaaadd; font-weight: bold;',
+			148 => 'color: #aaaadd; font-weight: bold;',
+			149 => 'color: #aaaadd; font-weight: bold;',
+			150 => 'color: #aaaadd; font-weight: bold;',
+			151 => 'color: #aaaadd; font-weight: bold;',
+			152 => 'color: #aaaadd; font-weight: bold;',
+			153 => 'color: #aaaadd; font-weight: bold;',
+			154 => 'color: #aaaadd; font-weight: bold;',
+			155 => 'color: #aaaadd; font-weight: bold;',
+			156 => 'color: #aaaadd; font-weight: bold;',
+			157 => 'color: #aaaadd; font-weight: bold;',
+			158 => 'color: #aaaadd; font-weight: bold;',
+			159 => 'color: #aaaadd; font-weight: bold;',
+			160 => 'color: #aaaadd; font-weight: bold;',
+			161 => 'color: #aaaadd; font-weight: bold;',
+			162 => 'color: #aaaadd; font-weight: bold;',
+			163 => 'color: #aaaadd; font-weight: bold;',
+			164 => 'color: #aaaadd; font-weight: bold;',
+			165 => 'color: #aaaadd; font-weight: bold;',
+			166 => 'color: #aaaadd; font-weight: bold;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => '',
+		5 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/applet/{FNAME}.html',
+		6 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/{FNAME}.html',
+		7 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/color/{FNAME}.html',
+		8 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/datatransfer/{FNAME}.html',
+		9 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/dnd/{FNAME}.html',
+		10 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/{FNAME}.html',
+		11 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/font/{FNAME}.html',
+		12 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/geom/{FNAME}.html',
+		13 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/im/{FNAME}.html',
+		14 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/im/spi/{FNAME}.html',
+		15 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/{FNAME}.html',
+		16 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/renderable/{FNAME}.html',
+		17 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/print/{FNAME}.html',
+		18 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/beans/{FNAME}.html',
+		19 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/beans/beancontext/{FNAME}.html',
+		20 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/io/{FNAME}.html',
+		21 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/{FNAME}.html',
+		22 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/{FNAME}.html',
+		23 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/instrument/{FNAME}.html',
+		24 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/{FNAME}.html',
+		25 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ref/{FNAME}.html',
+		26 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/{FNAME}.html',
+		27 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/math/{FNAME}.html',
+		28 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/net/{FNAME}.html',
+		29 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/{FNAME}.html',
+		30 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/{FNAME}.html',
+		31 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/spi/{FNAME}.html',
+		32 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/{FNAME}.html',
+		33 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/spi/{FNAME}.html',
+		34 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/{FNAME}.html',
+		35 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/activation/{FNAME}.html',
+		36 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/dgc/{FNAME}.html',
+		37 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/registry/{FNAME}.html',
+		38 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/server/{FNAME}.html',
+		39 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/{FNAME}.html',
+		40 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/acl/{FNAME}.html',
+		41 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/cert/{FNAME}.html',
+		42 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/interfaces/{FNAME}.html',
+		43 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/spec/{FNAME}.html',
+		44 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/sql/{FNAME}.html',
+		45 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/text/{FNAME}.html',
+		46 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/{FNAME}.html',
+		47 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/{FNAME}.html',
+		48 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/atomic/{FNAME}.html',
+		49 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/locks/{FNAME}.html',
+		50 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/{FNAME}.html',
+		51 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/{FNAME}.html',
+		52 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/prefs/{FNAME}.html',
+		53 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/{FNAME}.html',
+		54 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/zip/{FNAME}.html',
+		55 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/{FNAME}.html',
+		56 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/activity/{FNAME}.html',
+		57 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/{FNAME}.html',
+		58 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/interfaces/{FNAME}.html',
+		59 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/spec/{FNAME}.html',
+		60 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/{FNAME}.html',
+		61 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/event/{FNAME}.html',
+		62 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/metadata/{FNAME}.html',
+		63 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/plugins/bmp/{FNAME}.html',
+		64 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/plugins/jpeg/{FNAME}.html',
+		65 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/spi/{FNAME}.html',
+		66 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/stream/{FNAME}.html',
+		67 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/{FNAME}.html',
+		68 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/loading/{FNAME}.html',
+		69 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/modelmbean/{FNAME}.html',
+		70 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/monitor/{FNAME}.html',
+		71 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/openmbean/{FNAME}.html',
+		72 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/relation/{FNAME}.html',
+		73 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/remote/{FNAME}.html',
+		74 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/remote/rmi/{FNAME}.html',
+		75 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/timer/{FNAME}.html',
+		76 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/{FNAME}.html',
+		77 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/directory/{FNAME}.html',
+		78 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/event/{FNAME}.html',
+		79 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/ldap/{FNAME}.html',
+		80 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/{FNAME}.html',
+		81 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/net/{FNAME}.html',
+		82 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/{FNAME}.html',
+		83 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/{FNAME}.html',
+		84 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/{FNAME}.html',
+		85 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/standard/{FNAME}.html',
+		86 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/event/{FNAME}.html',
+		87 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/{FNAME}.html',
+		88 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/CORBA/{FNAME}.html',
+		89 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/ssl/{FNAME}.html',
+		90 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/{FNAME}.html',
+		91 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/callback/{FNAME}.html',
+		92 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/kerberos/{FNAME}.html',
+		93 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/login/{FNAME}.html',
+		94 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/spi/{FNAME}.html',
+		95 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/x500/{FNAME}.html',
+		96 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/sasl/{FNAME}.html',
+		97 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/{FNAME}.html',
+		98 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/spi/{FNAME}.html',
+		99 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/sampled/{FNAME}.html',
+		100 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/sampled/spi/{FNAME}.html',
+		101 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/{FNAME}.html',
+		102 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/{FNAME}.html',
+		103 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/serial/{FNAME}.html',
+		104 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/spi/{FNAME}.html',
+		105 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/{FNAME}.html',
+		106 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/border/{FNAME}.html',
+		107 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/colorchooser/{FNAME}.html',
+		108 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/{FNAME}.html',
+		109 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/filechooser/{FNAME}.html',
+		110 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/{FNAME}.html',
+		111 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/basic/{FNAME}.html',
+		112 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/metal/{FNAME}.html',
+		113 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/multi/{FNAME}.html',
+		114 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/synth/{FNAME}.html',
+		115 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/{FNAME}.html',
+		116 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/{FNAME}.html',
+		117 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/{FNAME}.html',
+		118 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/parser/{FNAME}.html',
+		119 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/rtf/{FNAME}.html',
+		120 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/{FNAME}.html',
+		121 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/undo/{FNAME}.html',
+		122 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/{FNAME}.html',
+		123 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/{FNAME}.html',
+		124 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/{FNAME}.html',
+		125 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/datatype/{FNAME}.html',
+		126 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/namespace/{FNAME}.html',
+		127 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/parsers/{FNAME}.html',
+		128 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/{FNAME}.html',
+		129 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/dom/{FNAME}.html',
+		130 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/sax/{FNAME}.html',
+		131 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/stream/{FNAME}.html',
+		132 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/{FNAME}.html',
+		133 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/xpath/{FNAME}.html',
+		134 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/ietf/jgss/{FNAME}.html',
+		135 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/{FNAME}.html',
+		136 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/DynAnyPackage/{FNAME}.html',
+		137 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/TypeCodePackage/{FNAME}.html',
+		138 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/portable/{FNAME}.html',
+		139 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/{FNAME}.html',
+		140 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/NamingContextExtPackage/{FNAME}.html',
+		141 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/NamingContextPackage/{FNAME}.html',
+		142 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/Dynamic/{FNAME}.html',
+		143 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/{FNAME}.html',
+		144 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/DynAnyFactoryPackage/{FNAME}.html',
+		145 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/DynAnyPackage/{FNAME}.html',
+		146 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/{FNAME}.html',
+		147 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/CodecFactoryPackage/{FNAME}.html',
+		148 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/CodecPackage/{FNAME}.html',
+		149 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/Messaging/{FNAME}.html',
+		150 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/{FNAME}.html',
+		151 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/ORBInitInfoPackage/{FNAME}.html',
+		152 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/{FNAME}.html',
+		153 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/CurrentPackage/{FNAME}.html',
+		154 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/{FNAME}.html',
+		155 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/POAPackage/{FNAME}.html',
+		156 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/ServantLocatorPackage/{FNAME}.html',
+		157 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/SendingContext/{FNAME}.html',
+		158 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/stub/java/rmi/{FNAME}.html',
+		159 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/{FNAME}.html',
+		160 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/bootstrap/{FNAME}.html',
+		161 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/events/{FNAME}.html',
+		162 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/ls/{FNAME}.html',
+		163 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/{FNAME}.html',
+		164 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/ext/{FNAME}.html',
+		165 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/helpers/{FNAME}.html',
+		/* ambiguous class names (appear in more than one package) */
+		166 => 'http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+{FNAME}'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		/* Java does not use '::' */
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/javascript.php 0.763/modules/pn_bbcode/pnincludes/geshi/javascript.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/javascript.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/javascript.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * --------------
  * Author: Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
  * Date Started: 2004/06/20
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * JavaScript language file for GeSHi.
  *
@@ -42,7 +42,7 @@
  ************************************************************************************/
 
 $language_data = array (
-  'LANG_NAME' => 'JAVASCRIPT',
+  'LANG_NAME' => 'Javascript',
   'COMMENT_SINGLE' => array(1 => '//'),
   'COMMENT_MULTI' => array('/*' => '*/'),
   'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/lisp.php 0.763/modules/pn_bbcode/pnincludes/geshi/lisp.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/lisp.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/lisp.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,17 @@
  * --------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
  * Date Started: 2004/08/30
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * Generic Lisp language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2005/12/9  (1.0.2)
+ *  -  Added support for :keywords and ::access (Denis Mashkevich)
  * 2004/11/27 (1.0.1)
  *  -  Added support for multiple object splitters
  * 2004/08/30 (1.0.0)
@@ -42,7 +44,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'LISP',
+	'LANG_NAME' => 'Lisp',
 	'COMMENT_SINGLE' => array(1 => ';'),
 	'COMMENT_MULTI' => array(';|' => '|;'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
@@ -104,7 +106,8 @@
 			0 => 'color: #cc66cc;'
 			),
 		'METHODS' => array(
-			0 => 'color: #202020;'
+			0 => 'color: #555;',
+            1 => 'color: #555;'
 			),
 		'SYMBOLS' => array(
 			0 => 'color: #66cc66;'
@@ -116,8 +119,9 @@
 		),
 	'URLS' => array(
 		),
-	'OOLANG' => false,
+	'OOLANG' => true,
 	'OBJECT_SPLITTERS' => array(
+            '::', ':'
 		),
 	'REGEXPS' => array(
 		),
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/lua.php 0.763/modules/pn_bbcode/pnincludes/geshi/lua.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/lua.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/lua.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
  * Date Started: 2004/07/10
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * LUA language file for GeSHi.
  *
@@ -45,7 +45,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'LUA',
+	'LANG_NAME' => 'Lua',
 	'COMMENT_SINGLE' => array(1 => "--"),
 	'COMMENT_MULTI' => array('--[[' => ']]'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/matlab.php 0.763/modules/pn_bbcode/pnincludes/geshi/matlab.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/matlab.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/matlab.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,20 @@
  * -----------
  * Author: Florian Knorn (floz@gmx.de)
  * Copyright: (c) 2004 Florian Knorn (http://www.florian-knorn.com)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.3 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
  * Date Started: 2005/02/09
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * Matlab M-file language file for GeSHi. 
  *
  * CHANGES
  * -------
+ * 2006-03-25
+ *   - support for the transpose operator
+ *   - many keywords added
+ *   - links to the matlab documentation at mathworks
+ *      by: Olivier Verdier (olivier.verdier@free.fr)
  * 2005/05/07 (1.0.0)
  *   -  First Release
  *
@@ -38,11 +43,11 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'M',
+	'LANG_NAME' => 'Matlab M',
 	'COMMENT_SINGLE' => array(1 => '%'),
 	'COMMENT_MULTI' => array(),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'"),
+	'QUOTEMARKS' => array(),
 	'ESCAPE_CHAR' => '',
 	'KEYWORDS' => array(
 		1 => array(
@@ -50,6 +55,745 @@
 			'function', 'global', 'if', 'otherwise', 'persistent', 'return', 
 			'switch', 'try', 'while','...'
 			),
+        2 => array(
+                            'all',
+							'any',
+							'exist',
+							'find',
+							'is',
+							'isa',
+							'logical',
+							'mislocked',
+							
+							'builtin',
+							'eval',
+							'evalc',
+							'evalin',
+							'feval',
+							'function',
+							'global',
+							'nargchk',
+							'persistent',
+							'script',
+							'break',
+							'case',
+							'catch',
+							'else',
+							'elseif',
+							'end',
+							'error',
+							'for',
+							'if',
+							'otherwise',
+							'return',
+							'switch',
+							'try',
+							'warning',
+							'while',
+							'input',
+							'keyboard',
+							'menu',
+							'pause',
+							'class',
+							'double',
+							'inferiorto',
+							'inline',
+							'int8',
+							'int16',
+							'int32',
+							'isa',
+							'loadobj',
+							'saveobj',
+							'single',
+							'superiorto',
+							'uint8',
+							'int16',
+							'uint32',
+							'dbclear',
+							'dbcont',
+							'dbdown',
+							'dbmex',
+							'dbquit',
+							'dbstack',
+							'dbstatus',
+							'dbstep',
+							'dbstop',
+							'dbtype',
+							'dbup',
+								
+							'blkdiag',
+							'eye',
+							'linspace',
+							'logspace',
+							'ones',
+							'rand',
+							'randn',
+							'zeros',
+							'ans',
+							'computer',
+							'eps',
+							'flops',
+							'i',
+							'Inf',
+							'inputname',
+							'j',
+							'NaN',
+							'nargin',
+							'nargout',
+							'pi',
+							'realmax',
+							'realmin',
+							'varargin',
+							'varargout',
+							'calendar',
+							'clock',
+							'cputime',
+							'date',
+							'datenum',
+							'datestr',
+							'datevec',
+							'eomday',
+							'etime',
+							'now',
+							'tic',
+							'toc',
+							'weekday',
+							'cat',
+							'diag',
+							'fliplr',
+							'flipud',
+							'repmat',
+							'reshape',
+							'rot90',
+							'tril',
+							'triu',
+							'compan',
+							'gallery',
+							'hadamard',
+							'hankel',
+							'hilb',
+							'invhilb',
+							'magic',
+							'pascal',
+							'toeplitz',
+							'wilkinson',
+							'abs',
+							'acos',
+							'acosh',
+							'acot',
+							'acoth',
+							'acsc',
+							'acsch',
+							'angle',
+							'asec',
+							'asech',
+							'asin',
+							'asinh',
+							'atan',
+							'atanh',
+							'atan2',
+							'ceil',
+							'complex',
+							'conj',
+							'cos',
+							'cosh',
+							'cot',
+							'coth',
+							'csc',
+							'csch',
+							'exp',
+							'fix',
+							'floor',
+							'gcd',
+							'imag',
+							'lcm',
+							'log',
+							'log2',
+							'log10',
+							'mod',
+							'nchoosek',
+							'real',
+							'rem',
+							'round',
+							'sec',
+							'sech',
+							'sign',
+							'sin',
+							'sinh',
+							'sqrt',
+							'tan',
+							'tanh',
+							'airy',
+							'besselh',
+							'besseli',
+							'besselk',
+							'besselj',
+							'Bessely',
+							'beta',
+							'betainc',
+							'betaln',
+							'ellipj',
+							'ellipke',
+							'erf',
+							'erfc',
+							'erfcx',
+							'erfiny',
+							'expint',
+							'factorial',
+							'gamma',
+							'gammainc',
+							'gammaln',
+							'legendre',
+							'pow2',
+							'rat',
+							'rats',
+							'cart2pol',
+							'cart2sph',
+							'pol2cart',
+							'sph2cart',
+							'abs',
+							'eval',
+							'real',
+							'strings',
+							'deblank',
+							'findstr',
+							'lower',
+							'strcat',
+							'strcmp',
+							'strcmpi',
+							'strjust',
+							'strmatch',
+							'strncmp',
+							'strrep',
+							'strtok',
+							'strvcat',
+							'symvar',
+							'texlabel',
+							'upper',
+							'char',
+							'int2str',
+							'mat2str',
+							'num2str',
+							'sprintf',
+							'sscanf',
+							'str2double',
+							'str2num',
+							'bin2dec',
+							'dec2bin',
+							'dec2hex',
+							'hex2dec',
+							'hex2num',
+							'fclose',
+							'fopen',
+							'fread',
+							'fwrite',
+							'fgetl',
+							'fgets',
+							'fprintf',
+							'fscanf',
+							'feof',
+							'ferror',
+							'frewind',
+							'fseek',
+							'ftell',
+							'sprintf',
+							'sscanf',
+							'dlmread',
+							'dlmwrite',
+							'hdf',
+							'imfinfo',
+							'imread',
+							'imwrite',
+							'textread',
+							'wk1read',
+							'wk1write',
+							'bitand',
+							'bitcmp',
+							'bitor',
+							'bitmax',
+							'bitset',
+							'bitshift',
+							'bitget',
+							'bitxor',
+							'fieldnames',
+							'getfield',
+							'rmfield',
+							'setfield',
+							'struct',
+							'struct2cell',
+							'class',
+							'isa',
+							'cell',
+							'cellfun',
+							'cellstr',
+							'cell2struct',
+							'celldisp',
+							'cellplot',
+							'num2cell',
+							'cat',
+							'flipdim',
+							'ind2sub',
+							'ipermute',
+							'ndgrid',
+							'ndims',
+							'permute',
+							'reshape',
+							'shiftdim',
+							'squeeze',
+							'sub2ind',
+							'cond',
+							'condeig',
+							'det',
+							'norm',
+							'null',
+							'orth',
+							'rank',
+							'rcond',
+							'rref',
+							'rrefmovie',
+							'subspace',
+							'trace',
+							'chol',
+							'inv',
+							'lscov',
+							'lu',
+							'nnls',
+							'pinv',
+							'qr',
+							'balance',
+							'cdf2rdf',
+							'eig',
+							'gsvd',
+							'hess',
+							'poly',
+							'qz',
+							'rsf2csf',
+							'schur',
+							'svd',
+							'expm',
+							'funm',
+							'logm',
+							'sqrtm',
+							'qrdelete',
+							'qrinsert',
+							'bar',
+							'barh',
+							'hist',
+							'hold',
+							'loglog',
+							'pie',
+							'plot',
+							'polar',
+							'semilogx',
+							'semilogy',
+							'subplot',
+							'bar3',
+							'bar3h',
+							'comet3',
+							'cylinder',
+							'fill3',
+							'plot3',
+							'quiver3',
+							'slice',
+							'sphere',
+							'stem3',
+							'waterfall',
+							'clabel',
+							'datetick',
+							'grid',
+							'gtext',
+							'legend',
+							'plotyy',
+							'title',
+							'xlabel',
+							'ylabel',
+							'zlabel',
+							'contour',
+							'contourc',
+							'contourf',
+							'hidden',
+							'meshc',
+							'mesh',
+							'peaks',
+							'surf',
+							'surface',
+							'surfc',
+							'surfl',
+							'trimesh',
+							'trisurf',
+							'coneplot',
+							'contourslice',
+							'isocaps',
+							'isonormals',
+							'isosurface',
+							'reducepatch',
+							'reducevolume',
+							'shrinkfaces',
+							'smooth3',
+							'stream2',
+							'stream3',
+							'streamline',
+							'surf2patch',
+							'subvolume',
+							'griddata',
+							'meshgrid',
+							'area',
+							'box',
+							'comet',
+							'compass',
+							'errorbar',
+							'ezcontour',
+							'ezcontourf',
+							'ezmesh',
+							'ezmeshc',
+							'ezplot',
+							'ezplot3',
+							'ezpolar',
+							'ezsurf',
+							'ezsurfc',
+							'feather',
+							'fill',
+							'fplot',
+							'pareto',
+							'pie3',
+							'plotmatrix',
+							'pcolor',
+							'rose',
+							'quiver',
+							'ribbon',
+							'stairs',
+							'scatter',
+							'scatter3',
+							'stem',
+							'convhull',
+							'delaunay',
+							'dsearch',
+							'inpolygon',
+							'polyarea',
+							'tsearch',
+							'voronoi',
+							'camdolly',
+							'camlookat',
+							'camorbit',
+							'campan',
+							'campos',
+							'camproj',
+							'camroll',
+							'camtarget',
+							'camup',
+							'camva',
+							'camzoom',
+							'daspect',
+							'pbaspect',
+							'view',
+							'viewmtx',
+							'xlim',
+							'ylim',
+							'zlim',
+							'camlight',
+							'diffuse',
+							'lighting',
+							'lightingangle',
+							'material',
+							'specular',
+							'brighten',
+							'bwcontr',
+							'caxis',
+							'colorbar',
+							'colorcube',
+							'colordef',
+							'colormap',
+							'graymon',
+							'hsv2rgb',
+							'rgb2hsv',
+							'rgbplot',
+							'shading',
+							'spinmap',
+							'surfnorm',
+							'whitebg',
+							'autumn',
+							'bone',
+							'contrast',
+							'cool',
+							'copper',
+							'flag',
+							'gray',
+							'hot',
+							'hsv',
+							'jet',
+							'lines',
+							'prism',
+							'spring',
+							'summer',
+							'winter',
+							'orient',
+							'print',
+							'printopt',
+							'saveas',
+							'copyobj',
+							'findobj',
+							'gcbo',
+							'gco',
+							'get',
+							'rotate',
+							'ishandle',
+							'set',
+							'axes',
+							'figure',
+							'image',
+							'light',
+							'line',
+							'patch',
+							'rectangle',
+							'surface',
+							'text Create',
+							'uicontext Create',
+							'capture',
+							'clc',
+							'clf',
+							'clg',
+							'close',
+							'gcf',
+							'newplot',
+							'refresh',
+							'saveas',
+							'axis',
+							'cla',
+							'gca',
+							'propedit',
+							'reset',
+							'rotate3d',
+							'selectmoveresize',
+							'shg',
+							'ginput',
+							'zoom',
+							'dragrect',
+							'drawnow',
+							'rbbox',
+							'dialog',
+							'errordlg',
+							'helpdlg',
+							'inputdlg',
+							'listdlg',
+							'msgbox',
+							'pagedlg',
+							'printdlg',
+							'questdlg',
+							'uigetfile',
+							'uiputfile',
+							'uisetcolor',
+							'uisetfont',
+							'warndlg',
+							'menu',
+							'menuedit',
+							'uicontextmenu',
+							'uicontrol',
+							'uimenu',
+							'dragrect',
+							'findfigs',
+							'gcbo',
+							'rbbox',
+							'selectmoveresize',
+							'textwrap',
+							'uiresume',
+							'uiwait Used',
+							'waitbar',
+							'waitforbuttonpress',
+							'convhull',
+							'cumprod',
+							'cumsum',
+							'cumtrapz',
+							'delaunay',
+							'dsearch',
+							'factor',
+							'inpolygon',
+							'max',
+							'mean',
+							'median',
+							'min',
+							'perms',
+							'polyarea',
+							'primes',
+							'prod',
+							'sort',
+							'sortrows',
+							'std',
+							'sum',
+							'trapz',
+							'tsearch',
+							'var',
+							'voronoi',
+							'del2',
+							'diff',
+							'gradient',
+							'corrcoef',
+							'cov',
+							'conv',
+							'conv2',
+							'deconv',
+							'filter',
+							'filter2',
+							'abs',
+							'angle',
+							'cplxpair',
+							'fft',
+							'fft2',
+							'fftshift',
+							'ifft',
+							'ifft2',
+							'ifftn',
+							'ifftshift',
+							'nextpow2',
+							'unwrap',
+							'cross',
+							'intersect',
+							'ismember',
+							'setdiff',
+							'setxor',
+							'union',
+							'unique',
+							'conv',
+							'deconv',
+							'poly',
+							'polyder',
+							'polyeig',
+							'polyfit',
+							'polyval',
+							'polyvalm',
+							'residue',
+							'roots',
+							'griddata',
+							'interp1',
+							'interp2',
+							'interp3',
+							'interpft',
+							'interpn',
+							'meshgrid',
+							'ndgrid',
+							'spline',
+							'dblquad',
+							'fmin',
+							'fmins',
+							'fzero',
+							'ode45,',
+							'ode113,',
+							'ode15s,',
+							'ode23s,',
+							'ode23t,',
+							'ode23tb',
+							'odefile',
+							'odeget',
+							'odeset',
+							'quad,',
+							'vectorize',
+							'spdiags',
+							'speye',
+							'sprand',
+							'sprandn',
+							'sprandsym',
+							'find',
+							'full',
+							'sparse',
+							'spconvert',
+							'nnz',
+							'nonzeros',
+							'nzmax',
+							'spalloc',
+							'spfun',
+							'spones',
+							'colmmd',
+							'colperm',
+							'dmperm',
+							'randperm',
+							'symmmd',
+							'symrcm',
+							'condest',
+							'normest',
+							'bicg',
+							'bicgstab',
+							'cgs',
+							'cholinc',
+							'cholupdate',
+							'gmres',
+							'luinc',
+							'pcg',
+							'qmr',
+							'qr',
+							'qrdelete',
+							'qrinsert',
+							'qrupdate',
+							'eigs',
+							'svds',
+							'spparms',
+							'lin2mu',
+							'mu2lin',
+							'sound',
+							'soundsc',
+							'auread',
+							'auwrite',
+							'wavread',
+							'wavwrite',
+							'[Keywords 6]',
+							'addpath',
+							'doc',
+							'docopt',
+							'help',
+							'helpdesk',
+							'helpwin',
+							'lasterr',
+							'lastwarn',
+							'lookfor',
+							'partialpath',
+							'path',
+							'pathtool',
+							'profile',
+							'profreport',
+							'rmpath',
+							'type',
+							'ver',
+							'version',
+							'web',
+							'what',
+							'whatsnew',
+							'which',
+							'clear',
+							'disp',
+							'length',
+							'load',
+							'mlock',
+							'munlock',
+							'openvar',
+							'pack',
+							'save',
+							'saveas',
+							'size',
+							'who',
+							'whos',
+							'workspace',
+							'clc',
+							'echo',
+							'format',
+							'home',
+							'more',
+							'cd',
+							'copyfile',
+							'delete',
+							'diary',
+							'dir',
+							'edit',
+							'fileparts',
+							'fullfile',
+							'inmem',
+							'ls',
+							'matlabroot',
+							'mkdir',
+							'open',
+							'pwd',
+							'tempdir',
+							'tempname',
+							'matlabrc',
+							'quit',                            
+)
 		),
 	'SYMBOLS' => array( 
 		'...' 
@@ -58,37 +802,46 @@
 		GESHI_COMMENTS => true,
 		1 => false,
 		2 => false,
-		3 => false,
-		4 => false,
+		//3 => false,
+		//4 => false,
 		),
 	'STYLES' => array(
 		'KEYWORDS' => array(
 			1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
 			),
 		'COMMENTS' => array(
 			1 => 'color: #228B22;',
 			),
 		'ESCAPE_CHAR' => array(
+            0 => ''
 			),
 		'BRACKETS' => array(
+            0 => 'color: #080;'
 			),
 		'STRINGS' => array(
-			0 => 'color: #A020F0;'
+			//0 => 'color: #A020F0;'
 			),
 		'NUMBERS' => array(
+            0 => 'color: #33f;'
 			),
 		'METHODS' => array(
+            1 => '',
+            2 => ''
 			),
 		'SYMBOLS' => array(
+            0 => 'color: #080;'
 			),
 		'REGEXPS' => array(
+            0 => 'color:#A020F0;'
 			),
 		'SCRIPT' => array(
+            0 => ''
 			)
 		),
 	'URLS' => array(
 		1 => '',
-		2 => '',
+		2 => 'http://www.mathworks.com/access/helpdesk/help/techdoc/ref/{FNAME}.html',
 		3 => '',
 		4 => ''
 		),
@@ -98,6 +851,13 @@
 		2 => '::'
 		),
 	'REGEXPS' => array(
+        0 => array(
+            GESHI_SEARCH => "([^\w])'([^\\n\\r']*)'",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => "\\1'",
+            GESHI_AFTER => "'"
+		)
 		),
 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
 	'SCRIPT_DELIMITERS' => array(
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/mpasm.php 0.763/modules/pn_bbcode/pnincludes/geshi/mpasm.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/mpasm.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/mpasm.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ---------
  * Author: Bakalex (bakalex@gmail.com)
  * Copyright: (c) 2004 Bakalex, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
  * Date Started: 2004/12/6
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * Microchip Assembler language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/mysql.php 0.763/modules/pn_bbcode/pnincludes/geshi/mysql.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/mysql.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/mysql.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,13 +1,13 @@
- <?php 
+<?php 
  /************************************************************************************* 
  * mysql.php 
  * --------- 
- * Author: Carl Frstenberg (azatoth@gmail.com) 
- * Copyright: (c) 2005 Carl Frstenberg, Nigel McNie (http://qbnz.com/highlighter) 
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.1 $ 
+ * Author: Carl F�rstenberg (azatoth@gmail.com) 
+ * Copyright: (c) 2005 Carl F�rstenberg, Nigel McNie (http://qbnz.com/highlighter) 
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $ 
  * Date Started: 2004/06/04 
- * Last Modified: $Date: 2005/12/14 22:35:54 $ 
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $ 
  * 
  * MySQL language file for GeSHi. 
  * 
@@ -62,12 +62,13 @@
   /* Control Flow Functions */ 
   'CASE', 'WHEN', 'THEN', 'ELSE', 'END', 
   /* String Functions */ 
-  'BIN', 'BIT_LENGTH', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'COMPRESS', 'CONCAT', 
+  'UNHEX', 'BIN', 'BIT_LENGTH', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'COMPRESS', 'CONCAT', 
   'CONCAT_WS', 'CONV', 'ELT', 'EXPORT_SET', 'FIELD', 'FIND_IN_SET', 'FORMAT', 'HEX',  
   'INSERT', 'INSTR', 'LCASE', 'LEFT', 'LENGTH', 'LOAD_FILE', 'LOCATE', 'LOWER', 'LPAD', 
   'LTRIM', 'MAKE_SET', 'MID', 'OCT', 'OCTET_LENGTH', 'ORD', 'POSITION', 'QUOTE', 'REPEAT', 
   'REPLACE', 'REVERSE', 'RIGHT', 'RPAD', 'RTRIM', 'SOUNDEX', 'SPACE', 'SUBSTRING',  
-  'SUBSTRING_INDEX', 'TRIM', 'UCASE', 'UPPER', 'UNCOMPRESS', 'UNCOMPRESSD_LENGTH', 'UNHEX',  
+  'SUBSTRING_INDEX', 'TRIM', 'UCASE', 'UPPER', 'UNCOMPRESS', 'UNCOMPRESSD_LENGTH',
+  'MD5', 'SHA1',  
   /* Numeric Functions */ 
   'ABS', 'ACOS', 'ASIN', 'ATAN', 'ATAN2', 'CEILING', 'CEIL', 'COS', 'COT', 'CRC32', 'DEGREES', 
   'EXP', 'FLOOR', 'LN', 'LOG', 'LOG2', 'LOG10', 'MOD', 'PI', 'POW', 'POWER', 'RADIANS', 'RAND', 
@@ -99,9 +100,13 @@
    4 => array( 
    'MICROSECOND', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR', 'SECOND_MICROSECOND',  
    'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'HOUR_MICROSECOND', 'HOUR_SECOND', 'HOUR_MINUTE', 'DAY_MICROSECOND', 
-   'DAY_SECOND', 'DAY_MINUTE', 'DAY_HOUR', 'YEAR_MONTH', 
-   ), 
+   'DAY_SECOND', 'DAY_MINUTE', 'DAY_HOUR', 'YEAR_MONTH' 
+   ),
+   5 => array(
+   'OR', 'XOR', 'AND', 'NOT', 'BETWEEN', 'IS', 'LIKE', 'REGEXP', 'IN', 'DIV',
+    'MOD', 'BINARY', 'COLLATE', 'LIMIT', 'OFFSET'
    ), 
+   ),
    'SYMBOLS' => array( 
    ':=', 
    '||', 'OR', 'XOR', 
@@ -126,15 +131,18 @@
    2 => false, 
    3 => false, 
    4 => false, 
+   5 => false
    ), 
    'STYLES' => array( 
    'KEYWORDS' => array( 
    1 => 'color: #993333; font-weight: bold;', 
    2 => 'color: #aa9933; font-weight: bold;', 
    3 => 'color: #aa3399; font-weight: bold;', 
-   4 => 'color: #33aa99; font-weight: bold;', 
+   4 => 'color: #33aa99; font-weight: bold;',
+   5 => 'color: #993333; font-weight: bold;'
    ), 
    'COMMENTS' => array( 
+   'MULTI' => 'color: #808080; font-style: italic;', 
    1 => 'color: #808080; font-style: italic;', 
    2 => 'color: #808080; font-style: italic;' 
    ), 
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/nsis.php 0.763/modules/pn_bbcode/pnincludes/geshi/nsis.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/nsis.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/nsis.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,17 @@
  * --------
  * Author: deguix (cevo_deguix@yahoo.com.br), Tux (http://tux.a4.cz/)
  * Copyright: (c) 2005 deguix, 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
- * Date Started: 2005/06/17
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 103 $
+ * Date Started: 2005/12/03
+ * Last Modified: $Date: 2006-09-05 22:15:30 +0100 (Tue, 05 Sep 2006) $
  *
  * Nullsoft Scriptable Install System language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2005/12/03 (2.0.2)
+ *   - Updated to NSIS 2.11.
  * 2005/06/17 (2.0.1)
  *   - Updated to NSIS 2.07b0.
  * 2005/04/05 (2.0.0)
@@ -48,7 +50,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'nsis',
+	'LANG_NAME' => 'NSIS',
 	'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
 	'COMMENT_MULTI' => array('/*' => '*/'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
@@ -56,9 +58,10 @@
 	'ESCAPE_CHAR' => '',
 	'KEYWORDS' => array(
 		1 => array(
-			'!addIncludeDir', '!addplugindir', '!cd', '!define', '!echo', '!else', '!endif', '!error', '!execute', '!ifdef',
-			'!ifmacrodef', '!ifmacrondef', '!ifndef', '!include', '!insertmacro', '!macro', '!macroend', '!packhdr',
-			'!system', '!undef', '!verbose', '!warning'
+			'!appendfile', '!addIncludeDir', '!addplugindir', '!cd', '!define', '!delfile', '!echo', '!else',
+			'!endif', '!error', '!execute', '!ifdef', '!ifmacrodef', '!ifmacrondef', '!ifndef', '!include',
+			'!insertmacro', '!macro', '!macroend', '!packhdr', '!tempfile', '!system', '!undef', '!verbose',
+			'!warning'
 		  ),
 		2 => array(
 			'AddBrandingImage', 'AllowRootDirInstall', 'AutoCloseWindow', 'BGFont',
@@ -109,15 +112,15 @@
 			'MB_ABORTRETRYIGNORE', 'MB_DEFBUTTON1', 'MB_DEFBUTTON2', 'MB_DEFBUTTON3', 'MB_DEFBUTTON4',
 			'MB_ICONEXCLAMATION', 'MB_ICONINFORMATION', 'MB_ICONQUESTION', 'MB_ICONSTOP', 'MB_OK', 'MB_OKCANCEL',
 			'MB_RETRYCANCEL', 'MB_RIGHT', 'MB_SETFOREGROUND', 'MB_TOPMOST', 'MB_YESNO', 'MB_YESNOCANCEL', 'nevershow',
-			'none', 'normal', 'off', 'OFFLINE', 'on', 'radiobuttons', 'READONLY', 'RO', 'show', 'silent', 'silentlog',
-			'SW_HIDE', 'SW_SHOWMAXIMIZED', 'SW_SHOWMINIMIZED', 'SW_SHOWNORMAL', 'SYSTEM', 'textonly', 'true', 'try',
-			'uninstConfirm', 'zlib'
+			'none', 'normal', 'off', 'OFFLINE', 'on', 'radiobuttons', 'READONLY', 'RO', 'SHCTX', 'SHELL_CONTEXT', 'show',
+			'silent', 'silentlog', 'SW_HIDE', 'SW_SHOWMAXIMIZED', 'SW_SHOWMINIMIZED', 'SW_SHOWNORMAL', 'SYSTEM',
+			'textonly', 'true', 'try', 'uninstConfirm', 'zlib'
 		   ),
 		6 => array(
-			'/a', '/components', '/COMPONENTSONLYONCUSTOM', '/CUSTOMSTRING', '/e', '/FILESONLY', '/gray', '/ifempty', '/IMGID',
-			'/ITALIC', '/lang', '/NOCUSTOM', '/nonfatal', '/NOUNLOAD', '/oname', '/r', '/REBOOTOK', '/RESIZETOFIT', '/SOLID',
-			'/SD', '/SHORT', '/silent', '/SOLID', '/STRIKE', '/TIMEOUT', '/TRIMCENTER', '/TRIMLEFT', '/TRIMRIGHT', '/UNDERLINE',
-			'/windows', '/x'
+			'/a', '/components', '/COMPONENTSONLYONCUSTOM', '/CUSTOMSTRING', '/e', '/FILESONLY', '/FINAL', '/gray', '/GLOBAL',
+			'/ifempty', '/IMGID', '/ITALIC', '/lang', '/NOCUSTOM', '/nonfatal', '/NOUNLOAD', '/oname', '/r', '/REBOOTOK',
+			'/RESIZETOFIT', '/SOLID', '/SD', '/SHORT', '/silent', '/SOLID', '/STRIKE', '/TIMEOUT', '/TRIMCENTER', '/TRIMLEFT',
+			'/TRIMRIGHT', '/UNDERLINE', '/windows', '/x'
 		   ),
 		7 => array(
 			'.onGUIEnd', '.onGUIInit', '.onInit', '.onInstFailed', '.onInstSuccess', '.onMouseOverSection',
@@ -207,6 +210,15 @@
 		   ),
 		13 => array(
 			'Colors.nsh', 'WHITE', 'BLACK', 'YELLOW', 'RED', 'GREEN', 'BLUE', 'MAGENTA', 'CYAN', 'rgb2hex'
+		   ),
+		14 => array(
+			'FileFunc.nsh', '${Locate}', '${GetSize}', '${DriveSpace}', '${GetDrives}', '${GetTime}', '${GetFileAttributes}', '${GetFileVersion}', '${GetExeName}', '${GetExePath}', '${GetParameters}', '${GetOptions}', '${GetRoot}', '${GetParent}', '${GetFileName}', '${GetBaseName}', '${GetFileExt}', '${BannerTrimPath}', '${DirState}', '${RefreshShellIcons}'
+		   ),
+		15 => array(
+			'TextFunc.nsh', '${LineFind}', '${LineRead}', '${FileReadFromEnd}', '${LineSum}', '${FileJoin}', '${TextCompare}', '${ConfigRead}', '${ConfigWrite}', '${FileRecode}', '${TrimNewLines}'
+		   ),
+		16 => array(
+			'WordFunc.nsh', '${WordFind}', '${WordFind2X}', '${WordFind3X}', '${WordReplace}', '${WordAdd}', '${WordInsert}', '${StrFilter}', '${VersionCompare}', '${VersionConvert}'
 		   )
 	),
 	'SYMBOLS' => array(
@@ -225,7 +237,10 @@
 		10 => false,
 		11 => false,
 		12 => false,
-		13 => false
+		13 => false,
+		14 => false,
+		15 => false,
+		16 => false
 		),
 	'STYLES' => array(
 		'KEYWORDS' => array(
@@ -241,7 +256,10 @@
 			10 => 'color: #006600;',
 			11 => 'color: #006600;',
 			12 => 'color: #006600;',
-			13 => 'color: #006600;'
+			13 => 'color: #006600;',
+			14 => 'color: #006600;',
+			15 => 'color: #006600;',
+			16 => 'color: #006600;'
 			),
 		'COMMENTS' => array(
 			1 => 'color: #666666; font-style: italic;',
@@ -295,6 +313,10 @@
 		10 => '',
 		11 => '',
 		12 => '',
+		13 => '',
+		14 => '',
+		15 => '',
+		16 => ''
 		),
 	'OOLANG' => false,
 	'OBJECT_SPLITTERS' => array(
@@ -308,14 +330,14 @@
 		5 => '\$\{.{1,256}\}',
 		6 => '\$\\\(.{1,256}\\\)',
 		7 => array(
-			GESHI_SEARCH => '([a-zA-Z0-9_]*?)(::)([a-zA-Z0-9_]*?)',
+			GESHI_SEARCH => '([^:/\\\*\?\"\<\>\|\s]*?)(::)([^:/\\\*\?\"\<\>\|\s]*?)',
 			GESHI_REPLACE => '\\1',
 			GESHI_MODIFIERS => '',
 			GESHI_BEFORE => '',
 			GESHI_AFTER => '\\2\\3'
 			),
 		8 => array(
-			GESHI_SEARCH => '([a-zA-Z0-9_]*?)(::)([a-zA-Z0-9_]*?\s)',
+			GESHI_SEARCH => '([^:/\\\*\?\"\<\>\|\s]*?)(::)([^:/\\\*\?\"\<\>\|]*?\s)',
 			GESHI_REPLACE => '\\3',
 			GESHI_MODIFIERS => '',
 			GESHI_BEFORE => '\\1\\2',
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/objc.php 0.763/modules/pn_bbcode/pnincludes/geshi/objc.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/objc.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/objc.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * --------
  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
  * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Objective C language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/ocaml-brief.php 0.763/modules/pn_bbcode/pnincludes/geshi/ocaml-brief.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/ocaml-brief.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/ocaml-brief.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2005/08/27
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * OCaml (Objective Caml) language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/ocaml.php 0.763/modules/pn_bbcode/pnincludes/geshi/ocaml.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/ocaml.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/ocaml.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2005/08/27
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * OCaml (Objective Caml) language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/oobas.php 0.763/modules/pn_bbcode/pnincludes/geshi/oobas.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/oobas.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/oobas.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ---------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/08/30
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * OpenOffice.org Basic language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/oracle8.php 0.763/modules/pn_bbcode/pnincludes/geshi/oracle8.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/oracle8.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/oracle8.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -----------
  * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Oracle 8 language file for GeSHi
  *
@@ -40,7 +40,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Oracle 8',
+	'LANG_NAME' => 'Oracle 8 SQL',
 	'COMMENT_SINGLE' => array(1 => '--'),
 	'COMMENT_MULTI' => array('/*' => '*/'),
 	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/pascal.php 0.763/modules/pn_bbcode/pnincludes/geshi/pascal.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/pascal.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/pascal.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Tux (tux@inamil.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/07/26
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Pascal language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/perl.php 0.763/modules/pn_bbcode/pnincludes/geshi/perl.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/perl.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/perl.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,17 +4,19 @@
  * --------
  * Author: Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/08/20
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Perl language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2006/01/05 (1.0.2)
+ *   -  Used hardescape feature for ' strings (Cliff Stanford)
  * 2004/11/27 (1.0.1)
- *  -  Added support for multiple object splitters
+ *   -  Added support for multiple object splitters
  * 2004/08/20 (1.0.0)
  *   -  First Release
  *
@@ -48,7 +50,12 @@
 	'COMMENT_SINGLE' => array(1 => '#'),
 	'COMMENT_MULTI' => array( '=pod' => '=cut'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
+	'QUOTEMARKS' => array('"'),
+	'HARDQUOTE' => array("'", "'"),		    // An optional 2-element array defining the beginning and end of a hard-quoted string
+	'HARDESCAPE' => array('\\\'', "\\\\"),	    // Things that must still be escaped inside a hard-quoted string
+						    // If HARDQUOTE is defined, HARDESCAPE must be defined
+						    // This will not work unless the first character of each element is either in the
+						    // QUOTEMARKS array or is the ESCAPE_CHAR
 	'ESCAPE_CHAR' => '\\',
 	'KEYWORDS' => array(
 		1 => array(
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/php-brief.php 0.763/modules/pn_bbcode/pnincludes/geshi/php-brief.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/php-brief.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/php-brief.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -------------
  * Author: Nigel McNie (oracle.shinoda@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/06/02
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * PHP language file for GeSHi (brief version).
  *
@@ -64,7 +64,7 @@
 			'null', '__LINE__', '__FILE__',
 			'false', '&lt;?php', '?&gt;',
 			'true', 'var', 'default',
-			'function', 'class', 'new', '&amp;new'
+			'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
 			),
 		3 => array(
 			'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/php.php 0.763/modules/pn_bbcode/pnincludes/geshi/php.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/php.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/php.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * --------
  * Author: Nigel McNie (oracle.shinoda@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/06/20
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * PHP language file for GeSHi.
  *
@@ -69,7 +69,7 @@
 			'false', '&lt;?php', '?&gt;', '&lt;?',
 			'&lt;script language', '&lt;/script&gt;',
 			'true', 'var', 'default',
-			'function', 'class', 'new', '&amp;new',
+			'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
 			'__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
 			'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
 			'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/python.php 0.763/modules/pn_bbcode/pnincludes/geshi/python.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/python.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/python.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/08/30
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Python language file for GeSHi.
  *
@@ -172,7 +172,10 @@
 		),
 	'CASE_SENSITIVE' => array(
 		GESHI_COMMENTS => true,
-		1 => true
+		1 => true,
+        2 => true,
+        3 => true,
+        4 => true
 		),
 	'STYLES' => array(
 		'KEYWORDS' => array(
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/qbasic.php 0.763/modules/pn_bbcode/pnincludes/geshi/qbasic.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/qbasic.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/qbasic.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Nigel McNie (oracle.shinoda@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2004/06/20
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * QBasic/QuickBASIC language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/reg.php 0.763/modules/pn_bbcode/pnincludes/geshi/reg.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/reg.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/reg.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,214 @@
+<?php
+/*************************************************************************************
+ * reg.php
+ * -------
+ * Author: Sean Hanna (smokingrope@gmail.com)
+ * Copyright: (c) 2006 Sean Hanna 
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.2.2.3 $
+ * Date Started: 03/15/2006
+ * Last Modified: $Date: 2006/07/22 11:30:25 $
+ *
+ * Microsoft Registry Editor Language File.
+ *
+ * CHANGES
+ * -------
+ * 03/15/2006 (0.5.0)
+ *  -  Syntax File Created
+ * 04/27/2006 (0.9.5)
+ *  - Syntax Coloring Cleaned Up
+ *  - First Release
+ * 04/29/2006 (1.0.0)
+ *  - Updated a few coloring settings
+ *
+ * TODO (updated 4/27/2006)
+ * -------------------------
+ * - Add a verification to the multi-line portion of the hex field regex
+ *    for a '\' character on the line preceding the line of the multi-line
+ *    hex field.
+ *
+ * KNOWN ISSUES (updated 4/27/2006)
+ * ---------------------------------
+ *
+ * - There are two regexes for the multiline hex value regex. The regex for
+ *		all lines after the first does not verify that the previous line contains
+ *		a line continuation character '\'. This regex also does not check for 
+ *		end of line as it should.
+ *
+ * - If number_highlighting is enabled during processing of this syntax file
+ *    many of the regexps used will appear slightly incorrect.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+
+ ************************************************************************************/
+$language_data = array (
+	'LANG_NAME' => 'Microsoft Registry',
+	'COMMENT_SINGLE' => array(1 =>';'),
+	'COMMENT_MULTI' => array( ),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array(),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(),
+		2 => array()
+	    /* Registry Key Constants Not Used
+		3 => array(
+			'HKEY_LOCAL_MACHINE', 
+			'HKEY_CLASSES_ROOT', 
+			'HKEY_CURRENT_USER',
+			'HKEY_USERS', 
+			'HKEY_CURRENT_CONFIG', 
+			'HKEY_DYN_DATA',
+			'HKLM', 'HKCR', 'HKCU', 'HKU', 'HKCC', 'HKDD'
+			)/***/
+		),
+	'SYMBOLS' => array( ),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array( 1 => 'color: #00CCFF;',
+			 				 2 => 'color: #0000FF;' ),
+		'COMMENTS' => array( 1 => 'color: #009900;' ),
+		'ESCAPE_CHAR' => array(),
+		'BRACKETS' => array(),
+		'STRINGS' => array( 0 => 'color: #009900;' ),
+		'NUMBERS' => array(),
+		'METHODS' => array(),
+		'SYMBOLS' => array(),
+		'SCRIPT' => array(),
+		'REGEXPS' => array( 
+			0 => '',
+			1 => 'color: #0000FF;',
+			2 => '',
+			3 => '',
+			4 => 'color: #0000FF;',
+			5 => '',
+		 	6 => '',
+		 	7 => '',
+		 	8 => '',
+		 	9 => 'color: #FF6600;',
+			)
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		// Highlight Key Delimiters
+		0 => array(
+			GESHI_SEARCH => '((^|\\n)\\s*)(\\\\\\[(.*)\\\\\\])(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\5',
+			GESHI_CLASS => 'kw1'
+			),
+		// Highlight File Format Header Version 5
+		1 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*)(Windows Registry Editor Version [0-9]+(.)+([0-9]+))((\\n|$)\\s*)',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\6',
+			GESHI_CLASS => 'geshi_registry_header'
+			),
+		// Highlight File Format Header Version 4
+		2 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*)(REGEDIT [0-9]+)(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\4',
+			GESHI_CLASS => 'geshi_registry_header'
+			),
+		// Highlight dword: 32 bit integer values
+		3 => array(
+			GESHI_SEARCH => '(=\\s*)(dword:[0-9]{8})(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\3',
+			GESHI_CLASS => 'kw2'
+			),			
+		// Highlight variable names
+		4 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*\\&quot\\;)(.*)(\\&quot\\;\\s*=)',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\4',
+			GESHI_CLASS => 'geshi_variable'
+			),
+		// Highlight String Values
+		5 => array(
+			GESHI_SEARCH => '(=\\s*)(\\&quot\\;.*\\&quot\\;)(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\3',
+			GESHI_CLASS => 'st0'
+			),
+		// Highlight Hexadecimal Values
+		6 => array(
+			GESHI_SEARCH => '(=\\s*)(hex((\\\\\\([0-9]{1,2}\\\\\\))|()):(([0-9a-fA-F]{2},)|(\\s))*(([0-9a-fA-F]{2})|(\\\\\\\\)))(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\12',
+			GESHI_CLASS => 'kw2'
+			),
+		// Highlight Hexadecimal Values (Multi-Line)
+		7 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*)((([0-9a-fA-F]{2},)|(\\s))*(([0-9a-fA-F]{2})|(\\\\\\\\)))',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\10',
+			GESHI_CLASS => 'kw2'
+			),
+		// Highlight Default Variable
+		8 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*)(@)(\\s*=)',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\4',
+			GESHI_CLASS => 'geshi_variable'
+			),
+		// Highlight GUID's found anywhere.
+		9 => array(
+			GESHI_SEARCH => '(\\{[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}\\})',
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => '',
+			GESHI_CLASS => 'geshi_guid'
+			)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+$this->set_numbers_highlighting(false);
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/robots.php 0.763/modules/pn_bbcode/pnincludes/geshi/robots.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/robots.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/robots.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,100 @@
+<?php
+/*************************************************************************************
+ * robots.php
+ * --------
+ * Author: Christian Lescuyer (cl@goelette.net)
+ * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
+ * Date Started: 2006/02/17
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
+ *
+ * robots.txt language file for GeSHi.
+ *
+ * 2006/02/17 (1.0.0)
+ *   -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'robots.txt',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'User-agent', 'Disallow'
+            )
+        ),
+    'SYMBOLS' => array(
+        ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://www.robotstxt.org/wc/norobots.html'
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
\ No newline at end of file
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/ruby.php 0.763/modules/pn_bbcode/pnincludes/geshi/ruby.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/ruby.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/ruby.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,18 @@
  * --------
  * Author: Amit Gupta (http://blog.igeek.info/)
  * Copyright: (c) 2005 Amit Gupta (http://blog.igeek.info/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 104 $
  * Date Started: 2005/09/05
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:16:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Ruby language file for GeSHi
  *
  * CHANGES
  * -------
+ * 2006/01/05 (1.0.1)
+ *   -  Add =begin multiline comments (Juan J. Martnez)
+ *   -  Add ` string (Juan J. Martnez)
  * 2005/09/05 (1.0.0)
  *   -  First Release
  *
@@ -44,9 +47,9 @@
 $language_data = array (
 	'LANG_NAME' => 'Ruby',
 	'COMMENT_SINGLE' => array(1 => "#"),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
+    'COMMENT_MULTI' => array( "=begin" => "=end"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"', '`'),
 	'ESCAPE_CHAR' => '\\',
 	'KEYWORDS' => array(
 		1 => array(
@@ -90,7 +93,8 @@
 			3 => 'color:#CC0066; font-weight:bold;'
 			),
 		'COMMENTS' => array(
-			1 => 'color:#008000; font-style:italic;'
+			1 => 'color:#008000; font-style:italic;',
+            'MULTI' => 'color:#000080; font-style:italic;'
 			),
 		'ESCAPE_CHAR' => array(
 			0 => 'color:#000099;'
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/sas.php 0.763/modules/pn_bbcode/pnincludes/geshi/sas.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/sas.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/sas.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,359 @@
+<?php
+/*************************************************************************************
+ * sas.php
+ * -------
+ * Author: Galen Johnson (solitaryr@gmail.com)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.5.2.2 $
+ * Date Started: 2005/12/27
+ * Last Modified: $Date: 2006/07/22 11:30:28 $
+ *
+ * SAS language file for GeSHi. Based on the sas vim file.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2005/12/27)
+ * -------------------------
+ *
+ * * Check highlighting stuff works
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'SAS',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            '_NULL_', '_INFILE_', '_N_', '_WEBOUT_', '_NUMERIC_', '_CHARACTER_', '_ALL_'
+            ),
+        2 => array(
+            '%BQUOTE', '%NRBQUOTE', '%CMPRES', '%QCMPRES',
+
+            '%COMPSTOR', '%DATATYP', '%DISPLAY', '%DO',
+            '%ELSE', '%END', '%EVAL', '%GLOBAL',
+            '%GOTO', '%IF', '%INDEX', '%INPUT',
+            '%KEYDEF', '%LABEL', '%LEFT', '%LENGTH',
+            '%LET', '%LOCAL', '%LOWCASE', '%MACRO',
+            '%MEND', '%NRBQUOTE', '%NRQUOTE', '%NRSTR',
+
+            '%PUT', '%QCMPRES', '%QLEFT', '%QLOWCASE',
+            '%QSCAN', '%QSUBSTR', '%QSYSFUNC', '%QTRIM',
+            '%QUOTE', '%QUPCASE', '%SCAN', '%STR',
+            '%SUBSTR', '%SUPERQ', '%SYSCALL', '%SYSEVALF',
+            '%SYSEXEC', '%SYSFUNC', '%SYSGET', '%SYSLPUT',
+            '%SYSPROD', '%SYSRC', '%SYSRPUT', '%THEN',
+
+            '%TO', '%TRIM', '%UNQUOTE', '%UNTIL',
+            '%UPCASE', '%VERIFY', '%WHILE', '%WINDOW'
+            ),
+        3 => array(
+            'ABS', 'ADDR', 'AIRY', 'ARCOS', 'ARSIN', 'ATAN', 'ATTRC', 'ATTRN',
+
+            'BAND', 'BETAINV', 'BLSHIFT', 'BNOT', 'BOR', 'BRSHIFT', 'BXOR',
+            'BYTE', 'CDF', 'CEIL', 'CEXIST', 'CINV', 'CLOSE', 'CNONCT', 'COLLATE',
+            'COMPBL', 'COMPOUND', 'COMPRESS', 'COSH', 'COS', 'CSS', 'CUROBS',
+            'CV', 'DACCDBSL', 'DACCDB', 'DACCSL', 'DACCSYD', 'DACCTAB',
+            'DAIRY', 'DATETIME', 'DATEJUL', 'DATEPART', 'DATE', 'DAY',
+            'DCLOSE', 'DEPDBSL', 'DEPDB', 'DEPSL',
+
+            'DEPSYD', 'DEPSYD', 'DEPTAB', 'DEPTAB', 'DEQUOTE', 'DHMS',
+            'DIF', 'DIGAMMA', 'DIM', 'DINFO', 'DNUM', 'DOPEN', 'DOPTNAME',
+            'DOPTNUM', 'DREAD', 'DROPNOTE', 'DSNAME', 'ERFC', 'ERF', 'EXIST',
+            'EXP', 'FAPPEND', 'FCLOSE', 'FCOL', 'FDELETE', 'FETCHOBS', 'FETCH',
+            'FEXIST', 'FGET', 'FILEEXIST', 'FILENAME', 'FILEREF', 'FINFO',
+            'FINV', 'FIPNAMEL', 'FIPNAME', 'FIPSTATE', 'FLOOR', 'FNONCT',
+
+            'FNOTE', 'FOPEN', 'FOPTNAME', 'FOPTNUM', 'FPOINT', 'FPOS',
+            'FPUT', 'FREAD', 'FREWIND', 'FRLEN', 'FSEP', 'FUZZ', 'FWRITE',
+            'GAMINV', 'GAMMA', 'GETOPTION', 'GETVARC', 'GETVARN', 'HBOUND',
+            'HMS', 'HOSTHELP', 'HOUR', 'IBESSEL', 'INDEXW', 'INDEXC',
+            'INDEX', 'INPUTN', 'INPUTC', 'INPUT', 'INTRR', 'INTCK', 'INTNX',
+            'INT', 'IRR', 'JBESSEL', 'JULDATE', 'KURTOSIS', 'LAG', 'LBOUND',
+
+            'LEFT', 'LENGTH', 'LGAMMA', 'LIBNAME', 'LIBREF', 'LOG10',
+            'LOG2', 'LOGPDF', 'LOGPMF', 'LOGSDF', 'LOG', 'LOWCASE', 'MAX', 'MDY',
+            'MEAN', 'MINUTE', 'MIN', 'MOD', 'MONTH', 'MOPEN', 'MORT',
+            'NETPV', 'NMISS', 'NORMAL', 'NPV', 'N', 'OPEN', 'ORDINAL',
+            'PATHNAME', 'PDF', 'PEEKC', 'PEEK', 'PMF', 'POINT', 'POISSON', 'POKE',
+            'PROBBETA', 'PROBBNML', 'PROBCHI', 'PROBF', 'PROBGAM',
+
+            'PROBHYPR', 'PROBIT', 'PROBNEGB', 'PROBNORM', 'PROBT', 'PUTN',
+            'PUTC', 'PUT', 'QTR', 'QUOTE', 'RANBIN', 'RANCAU', 'RANEXP',
+            'RANGAM', 'RANGE', 'RANK', 'RANNOR', 'RANPOI', 'RANTBL', 'RANTRI',
+            'RANUNI', 'REPEAT', 'RESOLVE', 'REVERSE', 'REWIND', 'RIGHT',
+            'ROUND', 'SAVING', 'SCAN', 'SDF', 'SECOND', 'SIGN', 'SINH', 'SIN',
+            'SKEWNESS', 'SOUNDEX', 'SPEDIS', 'SQRT', 'STDERR', 'STD', 'STFIPS',
+
+            'STNAME', 'STNAMEL', 'SUBSTR', 'SUM', 'SYMGET', 'SYSGET', 'SYSMSG',
+            'SYSPROD', 'SYSRC', 'SYSTEM', 'TANH', 'TAN', 'TIMEPART', 'TIME',
+            'TINV', 'TNONCT', 'TODAY', 'TRANSLATE', 'TRANWRD', 'TRIGAMMA',
+            'TRIMN', 'TRIM', 'TRUNC', 'UNIFORM', 'UPCASE', 'USS',
+            'VARFMT', 'VARINFMT', 'VARLABEL', 'VARLEN', 'VARNAME',
+            'VARNUM', 'VARRAYX', 'VARRAY', 'VARTYPE', 'VAR', 'VERIFY', 'VFORMATX',
+
+            'VFORMATDX', 'VFORMATD', 'VFORMATNX', 'VFORMATN', 'VFORMATWX',
+            'VFORMATW', 'VFORMAT', 'VINARRAYX', 'VINARRAY', 'VINFORMATX',
+            'VINFORMATDX', 'VINFORMATD', 'VINFORMATNX', 'VINFORMATN',
+            'VINFORMATWX', 'VINFORMATW', 'VINFORMAT', 'VLABELX',
+            'VLABEL', 'VLENGTHX', 'VLENGTH', 'VNAMEX', 'VNAME', 'VTYPEX',
+            'VTYPE', 'WEEKDAY', 'YEAR', 'YYQ', 'ZIPFIPS', 'ZIPNAME', 'ZIPNAMEL',
+
+            'ZIPSTATE'
+            ),
+        4 => array(
+            'ABORT', 'ARRAY', 'ATTRIB', 'BY', 'CALL', 'CARDS4', 'CATNAME',
+            'CONTINUE', 'DATALINES4', 'DELETE', 'DISPLAY',
+
+            'DM', 'DROP', 'ENDSAS', 'FILENAME', 'FILE', 'FOOTNOTE',
+            'FORMAT', 'GOTO', 'INFILE', 'INFORMAT', 'INPUT', 'KEEP',
+            'LABEL', 'LEAVE', 'LENGTH', 'LIBNAME', 'LINK', 'LIST', 'LOSTCARD',
+            'MERGE', 'MISSING', 'MODIFY', 'OPTIONS', 'OUTPUT', 'PAGE',
+            'PUT', 'REDIRECT', 'REMOVE', 'RENAME', 'REPLACE', 'RETAIN',
+            'RETURN', 'SELECT', 'SET', 'SKIP', 'STARTSAS', 'STOP', 'TITLE',
+
+            'UPDATE', 'WAITSAS', 'WHERE', 'WINDOW', 'X', 'SYSTASK',
+            'ADD', 'AND', 'ALTER', 'AS', 'CASCADE', 'CHECK', 'CREATE',
+            'DELETE', 'DESCRIBE', 'DISTINCT', 'DROP', 'FOREIGN',
+            'FROM', 'GROUP', 'HAVING', 'INDEX', 'INSERT', 'INTO', 'IN',
+            'KEY', 'LIKE', 'MESSAGE', 'MODIFY', 'MSGTYPE', 'NOT',
+            'NULL', 'ON', 'OR', 'ORDER', 'PRIMARY', 'REFERENCES',
+
+            'RESET', 'RESTRICT', 'SELECT', 'SET', 'TABLE',
+            'UNIQUE', 'UPDATE', 'VALIDATE', 'VIEW', 'WHERE'
+            ),
+        5 => array(
+            'DO', 'ELSE', 'END', 'IF', 'THEN', 'UNTIL', 'WHILE'
+
+            ),
+        6 => array(
+            'RUN', 'QUIT', 'DATA'
+            ),
+        7 => array(
+
+            'ERROR'
+            ),
+        8 => array(
+            'WARNING'
+            ),
+
+        9 => array(
+            'NOTE'
+            )
+        ),
+    'SYMBOLS' => array(
+
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+
+        6 => false,
+        7 => false,
+        8 => false,
+        9 => false
+
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff;',
+
+            2 => 'color: #0000ff;',
+            3 => 'color: #0000ff;',
+            4 => 'color: #0000ff;',
+            5 => 'color: #0000ff;',
+
+            6 => 'color: #000080; font-weight: bold;',
+            7 => 'color: #ff0000;',
+            8 => 'color: #00ff00;',
+            9 => 'color: #0000ff;'
+
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #006400; font-style: italic;',
+            'MULTI' => 'color: #006400; font-style: italic;'
+
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #a020f0;'
+
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #2e8b57; font-weight: bold;'
+            ),
+        'METHODS' => array(
+
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff; font-weight: bold;',
+            1 => 'color: #000080; font-weight: bold;',
+
+            2 => 'color: #006400; font-style: italic;',
+            3 => 'color: #006400; font-style: italic;',
+            4 => 'color: #006400; font-style: italic;',
+            5 => 'color: #ff0000; font-weight: bold;',
+
+            6 => 'color: #00ff00; font-style: italic;',
+            7 => 'color: #0000ff; font-style: normal;',
+            8 => 'color: #b218b2; font-weight: bold;',
+            9 => 'color: #b218b2; font-weight: bold;'
+
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+
+        7 => '',
+        8 => '',
+        9 => ''
+        ),
+
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+
+        0 => "&amp;[a-zA-Z_][a-zA-Z0-9_]*",
+        1 => array(
+            GESHI_SEARCH => '(^\\s*)(PROC \\w+)',
+            GESHI_REPLACE => '\\2',
+
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+
+        2 => array(
+            GESHI_SEARCH => '(^\\s*)(\\*.*;)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'im',
+
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+        3 => array(
+
+            GESHI_SEARCH => '(.*;\\s*)(\\*.*;)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '\\1',
+
+            GESHI_AFTER => ''
+            ),
+        4 => array(
+            GESHI_SEARCH => '(^\\s*)(%\\*.*;)',
+
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+
+            ),
+        5 => array(
+            GESHI_SEARCH => '(^ERROR.*)',
+            GESHI_REPLACE => '\\1',
+
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+
+        6 => array(
+            GESHI_SEARCH => '(^WARNING.*)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'im',
+
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        7 => array(
+
+            GESHI_SEARCH => '(^NOTE.*)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '',
+
+            GESHI_AFTER => ''
+            ),
+        8 => array(
+            GESHI_SEARCH => '(^\\s*)(CARDS.*)(^\\s*;\\s*$)',
+
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'sim',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+
+            ),
+        9 => array(
+            GESHI_SEARCH => '(^\\s*)(DATALINES.*)(^\\s*;\\s*$)',
+            GESHI_REPLACE => '\\2',
+
+            GESHI_MODIFIERS => 'sim',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            )
+
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+
+        )
+);
+
+?>
\ No newline at end of file
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/scheme.php 0.763/modules/pn_bbcode/pnincludes/geshi/scheme.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/scheme.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/scheme.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Jon Raphaelson (jonraphaelson@gmail.com)
  * Copyright: (c) 2005 Jon Raphaelson, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2004/08/30
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Scheme language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/sdlbasic.php 0.763/modules/pn_bbcode/pnincludes/geshi/sdlbasic.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/sdlbasic.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/sdlbasic.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ------------
  * Author: Roberto Rossi 
  * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.2 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2005/08/19
- * Date Modified: $Date: 2005/12/14 22:35:54 $
+ * Date Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
  *
  * sdlBasic (http://sdlbasic.sf.net) language file for GeSHi.
  *
@@ -36,7 +36,7 @@
  *
  ************************************************************************************/
  $language_data = array (
-	'LANG_NAME' => 'Visual Basic',
+	'LANG_NAME' => 'sdlBasic',
 	'COMMENT_SINGLE' => array(1 => "'", 2 => "rem", 3 => "!", 4 => "#"),
 	'COMMENT_MULTI' => array(),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/smalltalk.php 0.763/modules/pn_bbcode/pnincludes/geshi/smalltalk.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/smalltalk.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/smalltalk.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,161 @@
+<?php
+/*************************************************************************************
+ * smalltalk.php
+ * --------
+ * Author: Bananeweizen (Bananeweizen@gmx.de)
+ * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.1.2.3 $
+ * Date Started: 2005/03/27
+ * Last Modified: $Date: 2006/07/22 11:30:33 $
+ *
+ * Smalltalk language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006-05-24 (1.0.0)
+ *   -  First Release
+ *
+ * TODO
+ * -------------------------
+ * * recognize nested array symbols correctly
+ * 
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Smalltalk',
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array('"' => '"'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'"),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array('self','super','true','false','nil')
+		),
+	'SYMBOLS' => array(
+		'[', ']', '=' , ':=', '(', ')', '#'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #7f007f;'
+			),
+		'COMMENTS' => array(
+			'MULTI' => 'color: #007f00; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+		    0 => ''
+			),
+		'BRACKETS' => array(
+		    0 => ''
+			),
+		'STRINGS' => array(
+		    0 => 'color: #7f0000;'
+			),
+		'NUMBERS' => array(
+		    0 => 'color: #7f0000;'
+			),
+		'METHODS' => array(
+		    0 => ''
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #000066; font-weight:bold;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;',
+			1 => 'color: #7f0000;',
+			2 => 'color: #7f0000;',
+			3 => 'color: #00007f;',
+			4 => 'color: #7f007f;',
+			5 => 'color: #00007f;',
+			6 => 'color: #00007f;'
+			),
+		'SCRIPT' => array(
+		    0 => ''
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => array(
+			GESHI_SEARCH => '([^a-zA-Z0-9_#])([A-Z]+[a-zA-Z0-9_]*)', //class names
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => ''
+			),
+		1 => array(
+			GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
+			GESHI_REPLACE => '\\1\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+		2 => array(
+			GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+		3 => array(
+			GESHI_SEARCH => '\|([a-zA-Z0-9_\s]+)\|', //temporary variables
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '|',
+			GESHI_AFTER => '|'
+			),
+		4 => array(
+			GESHI_SEARCH => '(self|super|true|false|nil)', //keywords again (to avoid matching in next regexp)
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+		5 => array(
+			GESHI_SEARCH => '([:(,=[.*/+-]\s*)([a-zA-Z0-9_]+)', //message parameters, message receivers
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => 's',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => ''
+			),
+		6 => array(
+			GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => '\\2'
+			)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
\ No newline at end of file
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/smarty.php 0.763/modules/pn_bbcode/pnincludes/geshi/smarty.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/smarty.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/smarty.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ----------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2004/07/10
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Smarty template language file for GeSHi.
  *
@@ -50,7 +50,7 @@
 		1 => array(
 			'$smarty', 'now', 'const', 'capture', 'config', 'section', 'foreach', 'template', 'version', 'ldelim', 'rdelim',
 			'config_load', 'foreachelse', 'include', 'include_php', 'insert', 'if', 'elseif', 'else', 'php',
-			'sectionelse', 'clear_all_cache', 'clear_cache', 'is_cached', 'from', 'item'
+			'sectionelse', 'clear_all_cache', 'clear_cache', 'is_cached',
 			),
 		2 => array(
 			'capitalize', 'count_characters', 'cat', 'count_paragraphs', 'count_sentences', 'count_words', 'date_format',
@@ -83,7 +83,7 @@
 			),
 		6 => array(
 			'name', 'assign', 'file', 'scope', 'global', 'key', 'once', 'script',
-			'loop', 'start', 'step', 'max', 'show', 'values', 'value'
+			'loop', 'start', 'step', 'max', 'show', 'values', 'value', 'from', 'item'
 			),
 		7 => array(
 			'eq', 'neq', 'ne', 'lte', 'gte', 'ge', 'le', 'not', 'mod'
@@ -134,6 +134,7 @@
 			0 => 'color: #D36900;'
 			),
 		'SCRIPT' => array(
+            0 => ''
 			),
 		'REGEXPS' => array(
 			)
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/sql.php 0.763/modules/pn_bbcode/pnincludes/geshi/sql.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/sql.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/sql.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * -------
  * Author: Nigel McNie (oracle.shinoda@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
  *
  * SQL language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/tcl.php 0.763/modules/pn_bbcode/pnincludes/geshi/tcl.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/tcl.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/tcl.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,184 @@
+<?php
+/*************************************************************************************
+ * tcl.php
+ * ---------------------------------
+ * Author: Reid van Melle (rvanmelle@gmail.com)
+ * Copyright: (c) 2004 Reid van Melle (sorry@nowhere)
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.2.2.2 $
+ * Date Started: 2006/05/05
+ * Last Modified: $Date: 2006/07/22 11:30:32 $
+ *
+ * TCL/iTCL language file for GeSHi.
+ *
+ * This was thrown together in about an hour so I don't expect
+ * really great things.  However, it is a good start.  I never
+ * got a change to try out the iTCL or object-based support but
+ * this is not widely used anyway.
+ *
+ * CHANGES
+ * -------
+ * 2006/05/05 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/05/05)
+ * -------------------------
+ * - Get TCL built-in special variables hilighted with a new color..
+ *   currently, these are listed in //special variables in the keywords
+ *   section, but they get covered by the general REGEXP for symbols
+ * - General cleanup, testing, and verification
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'TCL',
+	'COMMENT_SINGLE' => array(1 => '#'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"', "'"),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+
+		/*
+		** Set 1: reserved words
+		** http://python.org/doc/current/ref/keywords.html
+		*/
+		1 => array(
+			'proc', 'global', 'upvar', 'if', 'then', 'else', 'elseif', 'for', 'foreach',
+			'break', 'continue', 'while', 'set', 'eval', 'case', 'in', 'switch',
+			'default', 'exit', 'error', 'proc', 'return', 'uplevel', 'loop', 
+			'for_array_keys', 'for_recursive_glob', 'for_file', 'unwind_protect',
+			'expr', 'catch', 'namespace', 'rename', 'variable',
+			// itcl
+			'method', 'itcl_class', 'public', 'protected'),
+
+		/*
+		** Set 2: builtins
+		** http://asps.activatestate.com/ASPN/docs/ActiveTcl/8.4/tcl/tcl_2_contents.htm
+		*/
+		2 => array(
+			// string handling
+			'append', 'binary', 'format', 're_syntax', 'regexp', 'regsub',
+			'scan', 'string', 'subst', 
+			// list handling
+			'concat', 'join', 'lappend', 'lindex', 'list', 'llength', 'lrange',
+			'lreplace', 'lsearch', 'lset', 'lsort', 'split',
+			// math
+			'expr',
+			// procedures and output
+			'incr', 'close', 'eof', 'fblocked', 'fconfigure', 'fcopy', 'file',
+			'fileevent', 'flush', 'gets', 'open', 'puts', 'read', 'seek', 
+			'socket', 'tell',
+			// packages and source files
+			'load', 'loadTk', 'package', 'pgk::create', 'pgk_mkIndex', 'source',
+			// interpreter routines
+			'bgerror', 'history', 'info', 'interp', 'memory', 'unknown',
+			// library routines
+			'enconding', 'http', 'msgcat',
+			// system related
+			'cd', 'clock', 'exec', 'exit', 'glob', 'pid', 'pwd', 'time',
+			// platform specified
+			'dde', 'registry', 'resource',
+			// special variables
+			'$argc', '$argv', '$errorCode', '$errorInfo', '$argv0', 
+			'$auto_index', '$auto_oldpath', '$auto_path', '$env', 
+			'$tcl_interactive', '$tcl_libpath', '$tcl_library', 
+			'$tcl_pkgPath', '$tcl_platform', '$tcl_precision', '$tcl_traceExec',
+			),
+
+		/*
+		** Set 3: standard library
+		*/
+		3 => array(
+			'comment', 'dde', 'filename', 'http', 'library', 'memory',
+			'packagens', 'registry', 'resource', 'tcltest', 'tclvars',
+			),
+
+		/*
+		** Set 4: special methods
+		*/
+		4 => array(
+			)
+
+		),
+	'SYMBOLS' => array(
+			'(', ')', '[', ']', '{', '}', '$', '*', '&', '%', '!', ';', '<', '>', '?'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => true,
+        2 => true,
+        3 => true,
+        4 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #ff7700;font-weight:bold;',	// Reserved
+			2 => 'color: #008000;',						// Built-ins + self
+			3 => 'color: #dc143c;',						// Standard lib
+			4 => 'color: #0000cd;'						// Special methods
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: black;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #483d8b;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #ff4500;'
+			),
+		'METHODS' => array(
+			1 => 'color: black;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+            0 => 'color: #ff3333;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '::'
+		),
+	'REGEXPS' => array(
+		0 => '[\\$]+[a-zA-Z_][a-zA-Z0-9_]*',
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
+
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/text.php 0.763/modules/pn_bbcode/pnincludes/geshi/text.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/text.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/text.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,81 @@
+<?php
+/*************************************************************************************
+ * text.php
+ * --------
+ * Author: Sean Hanna (smokingrope@gmail.com)
+ * Copyright: (c) 2006 Sean Hanna 
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.2.2.3 $
+ * Date Started: 04/23/2006
+ * Last Modified: $Date: 2006/07/22 11:30:23 $
+ *
+ * Standard Text File (No Syntax Highlighting).
+ *
+ * CHANGES
+ * -------
+ * 04/23/2006 (0.5.0)
+ *  -  Syntax File Created
+ *
+ * 04/27/2006 (1.0.0)
+ * - Documentation Cleaned Up
+ * - First Release
+ *
+ * TODO (updated 04/27/2006)
+ * -------------------------
+ * 
+ * 
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+
+ ************************************************************************************/
+$language_data = array (
+	'LANG_NAME' => 'Text',
+	'COMMENT_SINGLE' => array( ),
+	'COMMENT_MULTI' => array( ),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array(),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array( ),
+	'SYMBOLS' => array( ),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(),
+		'COMMENTS' => array(),
+		'ESCAPE_CHAR' => array(),
+		'BRACKETS' => array(),
+		'STRINGS' => array(),
+		'NUMBERS' => array(),
+		'METHODS' => array(),
+		'SYMBOLS' => array(),
+		'SCRIPT' => array(),
+		'REGEXPS' => array()
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(),
+	'REGEXPS' => array(	),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array( ),
+	'HIGHLIGHT_STRICT_BLOCK' => array( )
+);
+$this->set_numbers_highlighting(false);
+$this->set_brackets_highlighting(false);
+$this->disable_highlighting();
+?>
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/tsql.php 0.763/modules/pn_bbcode/pnincludes/geshi/tsql.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/tsql.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/tsql.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,385 @@
+<?php
+/*************************************************************************************
+ * tsql.php
+ * --------
+ * Author: Duncan Lock (dunc@dflock.co.uk)
+ * Copyright: (c) 2006 Duncan Lock (http://dflock.co.uk/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
+ * Date Started: 2005/11/22
+ * Last Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
+ *
+ * T-SQL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/01/23 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/01/23)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'T-SQL',
+	'COMMENT_SINGLE' => array(1 => '--'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			/* 
+				This will be highlighted in blue
+			*/
+
+			// Datatypes
+			'bigint', 'int', 'smallint', 'tinyint', 'bit', 'decimal', 'numeric', 'money', 
+			'smallmoney', 'float', 'real', 'datetime', 'smalldatetime', 'char', 'varchar', 
+			'text', 'nchar', 'nvarchar', 'ntext', 'binary', 'varbinary', 'image', 'cursor', 
+			'sql_variant', 'table', 'timestamp', 'uniqueidentifier',
+
+			// Keywords
+			'ABSOLUTE', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALIAS', 'ALLOCATE', 'ALTER', 'ARE', 'ARRAY', 'AS',
+			'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'BACKUP', 'BEFORE', 'BEGIN', 'BINARY', 'BIT', 'BLOB', 'BOOLEAN', 'BOTH', 'BREADTH',
+			'BREAK', 'BROWSE', 'BULK', 'BY', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CHAR', 'CHARACTER', 'CHECK', 'CHECKPOINT',
+			'CLASS', 'CLOB', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'COMPLETION', 'COMPUTE', 'CONNECT',
+			'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONSTRUCTOR', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'CREATE',
+			'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
+			'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATE', 'DAY', 'DBCC', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFERRABLE',
+			'DEFERRED', 'DELETE', 'DENY', 'DEPTH', 'DEREF', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DESTROY', 'DESTRUCTOR', 'DETERMINISTIC',
+			'DIAGNOSTICS', 'DICTIONARY', 'DISCONNECT', 'DISK', 'DISTINCT', 'DISTRIBUTED', 'DOMAIN', 'DOUBLE', 'DROP', 'DUMMY', 'DUMP', 'DYNAMIC',
+			'EACH', 'ELSE', 'END', 'END-EXEC', 'EQUALS', 'ERRLVL', 'ESCAPE', 'EVERY', 'EXCEPT', 'EXCEPTION', 'EXEC', 'EXECUTE', 'EXIT',
+			'EXTERNAL', 'FALSE', 'FETCH', 'FILE', 'FILLFACTOR', 'FIRST', 'FLOAT', 'FOR', 'FOREIGN', 'FOUND', 'FREE', 'FREETEXT', 'FREETEXTTABLE',
+			'FROM', 'FULL', 'FUNCTION', 'GENERAL', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOLDLOCK', 'HOST', 'HOUR',
+			'IDENTITY', 'IDENTITY_INSERT', 'IDENTITYCOL', 'IF', 'IGNORE', 'IMMEDIATE', 'INDEX', 'INDICATOR', 'INITIALIZE', 'INITIALLY',
+			'INNER', 'INOUT', 'INPUT', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISOLATION', 'ITERATE', 'KEY',
+			'KILL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', 'LEADING', 'LEFT', 'LESS', 'LEVEL', 'LIMIT', 'LINENO', 'LOAD', 'LOCAL',
+			'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATOR', 'MAP', 'MATCH', 'MINUTE', 'MODIFIES', 'MODIFY', 'MODULE', 'MONTH', 'NAMES', 'NATIONAL',
+			'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NEXT', 'NO', 'NOCHECK', 'NONCLUSTERED', 'NONE', 'NULLIF', 'NUMERIC', 'OBJECT', 'OF',
+			'OFF', 'OFFSETS', 'OLD', 'ON', 'ONLY', 'OPEN', 'OPENDATASOURCE', 'OPENQUERY', 'OPENROWSET', 'OPENXML', 'OPERATION', 'OPTION',
+			'ORDER', 'ORDINALITY', 'OUT', 'OUTPUT', 'OVER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARTIAL', 'PATH', 'PERCENT', 'PLAN',
+			'POSTFIX', 'PRECISION', 'PREFIX', 'PREORDER', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRINT', 'PRIOR', 'PRIVILEGES', 'PROC', 'PROCEDURE',
+			'PUBLIC', 'RAISERROR', 'READ', 'READS', 'READTEXT', 'REAL', 'RECONFIGURE', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'RELATIVE',
+			'REPLICATION', 'RESTORE', 'RESTRICT', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW',
+			'ROWGUIDCOL', 'ROWS', 'RULE', 'SAVE', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SECTION', 'SELECT',
+			'SEQUENCE', 'SESSION', 'SESSION_USER', 'SET', 'SETS', 'SETUSER', 'SHUTDOWN', 'SIZE', 'SMALLINT', 'SPACE', 'SPECIFIC',
+			'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STRUCTURE',
+			'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TERMINATE', 'TEXTSIZE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE',
+			'TO', 'TOP', 'TRAILING', 'TRAN', 'TRANSACTION', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'TRUNCATE', 'TSEQUAL', 'UNDER', 'UNION',
+			'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'UPDATETEXT', 'USAGE', 'USE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARCHAR', 'VARIABLE',
+			'VARYING', 'VIEW', 'WAITFOR', 'WHEN', 'WHENEVER', 'WHERE', 'WHILE', 'WITH', 'WITHOUT', 'WORK', 'WRITE', 'WRITETEXT', 'YEAR', 'ZONE',
+			'UNCOMMITTED', 'NOCOUNT',
+			),
+		2 => array(
+			/*
+				Built-in functions
+				Highlighted in pink.
+			*/
+
+			//Configuration Functions
+			'@@DATEFIRST','@@OPTIONS','@@DBTS','@@REMSERVER','@@LANGID','@@SERVERNAME', 
+			'@@LANGUAGE','@@SERVICENAME','@@LOCK_TIMEOUT','@@SPID','@@MAX_CONNECTIONS','@@TEXTSIZE', 
+			'@@MAX_PRECISION','@@VERSION','@@NESTLEVEL',
+
+			//Cursor Functions
+			'@@CURSOR_ROWS','@@FETCH_STATUS',
+
+			//Date and Time Functions
+			'DATEADD','DATEDIFF','DATENAME','DATEPART','DAY','GETDATE','GETUTCDATE','MONTH','YEAR',
+
+			//Mathematical Functions
+			'ABS','DEGREES','RAND','ACOS','EXP','ROUND','ASIN','FLOOR','SIGN', 
+			'ATAN','LOG','SIN','ATN2','LOG10','SQUARE','CEILING','PI','SQRT','COS', 
+			'POWER','TAN','COT','RADIANS',
+
+			//Meta Data Functions
+			'COL_LENGTH','fn_listextendedproperty','COL_NAME','FULLTEXTCATALOGPROPERTY', 
+			'COLUMNPROPERTY','FULLTEXTSERVICEPROPERTY','DATABASEPROPERTY','INDEX_COL', 
+			'DATABASEPROPERTYEX','INDEXKEY_PROPERTY','DB_ID','INDEXPROPERTY','DB_NAME', 
+			'OBJECT_ID','FILE_ID','OBJECT_NAME','FILE_NAME','OBJECTPROPERTY','FILEGROUP_ID', 
+			'@@PROCID','FILEGROUP_NAME','SQL_VARIANT_PROPERTY','FILEGROUPPROPERTY', 
+			'TYPEPROPERTY','FILEPROPERTY',
+
+			//Security Functions
+			'fn_trace_geteventinfo','IS_SRVROLEMEMBER','fn_trace_getfilterinfo','SUSER_SID', 
+			'fn_trace_getinfo','SUSER_SNAME','fn_trace_gettable','USER_ID','HAS_DBACCESS', 
+			'IS_MEMBER',
+
+			//String Functions
+			'ASCII','NCHAR','SOUNDEX','CHAR','PATINDEX','SPACE','CHARINDEX', 
+			'REPLACE','STR','DIFFERENCE','QUOTENAME','STUFF','LEFT','REPLICATE', 
+			'SUBSTRING','LEN','REVERSE','UNICODE','LOWER','RIGHT','UPPER','LTRIM', 
+			'RTRIM',
+
+			//System Functions
+			'APP_NAME','COLLATIONPROPERTY','@@ERROR','fn_helpcollations', 
+			'fn_servershareddrives','fn_virtualfilestats','FORMATMESSAGE', 
+			'GETANSINULL','HOST_ID','HOST_NAME','IDENT_CURRENT','IDENT_INCR', 
+			'IDENT_SEED','@@IDENTITY','ISDATE','ISNUMERIC','PARSENAME','PERMISSIONS', 
+			'@@ROWCOUNT','ROWCOUNT_BIG','SCOPE_IDENTITY','SERVERPROPERTY','SESSIONPROPERTY', 
+			'STATS_DATE','@@TRANCOUNT','USER_NAME',
+
+			//System Statistical Functions
+			'@@CONNECTIONS','@@PACK_RECEIVED','@@CPU_BUSY','@@PACK_SENT',
+			'fn_virtualfilestats','@@TIMETICKS','@@IDLE','@@TOTAL_ERRORS','@@IO_BUSY',
+			'@@TOTAL_READ','@@PACKET_ERRORS','@@TOTAL_WRITE',
+
+			//Text and Image Functions
+			'TEXTPTR','TEXTVALID',
+			
+			//Aggregate functions
+			'AVG', 'MAX', 'BINARY_CHECKSUM', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG', 
+			'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'GROUPING', 'VARP'
+			),
+		3 => array(
+			/*	
+				System stored procedures
+				Higlighted dark brown
+			*/
+
+			//Active Directory Procedures
+			'sp_ActiveDirectory_Obj', 'sp_ActiveDirectory_SCP',
+
+			//Catalog Procedures
+			'sp_column_privileges', 'sp_special_columns', 'sp_columns', 'sp_sproc_columns', 
+			'sp_databases', 'sp_statistics', 'sp_fkeys', 'sp_stored_procedures', 'sp_pkeys', 
+			'sp_table_privileges', 'sp_server_info', 'sp_tables',
+
+			//Cursor Procedures
+			'sp_cursor_list', 'sp_describe_cursor_columns', 'sp_describe_cursor', 'sp_describe_cursor_tables',
+
+			//Database Maintenance Plan Procedures
+			'sp_add_maintenance_plan', 'sp_delete_maintenance_plan_db', 'sp_add_maintenance_plan_db', 
+			'sp_delete_maintenance_plan_job', 'sp_add_maintenance_plan_job', 'sp_help_maintenance_plan', 
+			'sp_delete_maintenance_plan',
+
+			//Distributed Queries Procedures
+			'sp_addlinkedserver', 'sp_indexes', 'sp_addlinkedsrvlogin', 'sp_linkedservers', 'sp_catalogs', 
+			'sp_primarykeys', 'sp_column_privileges_ex', 'sp_serveroption', 'sp_columns_ex', 
+			'sp_table_privileges_ex', 'sp_droplinkedsrvlogin', 'sp_tables_ex', 'sp_foreignkeys',
+
+			//Full-Text Search Procedures
+			'sp_fulltext_catalog', 'sp_help_fulltext_catalogs_cursor', 'sp_fulltext_column', 
+			'sp_help_fulltext_columns', 'sp_fulltext_database', 'sp_help_fulltext_columns_cursor', 
+			'sp_fulltext_service', 'sp_help_fulltext_tables', 'sp_fulltext_table', 
+			'sp_help_fulltext_tables_cursor', 'sp_help_fulltext_catalogs',
+
+			//Log Shipping Procedures
+			'sp_add_log_shipping_database', 'sp_delete_log_shipping_database', 'sp_add_log_shipping_plan',
+			'sp_delete_log_shipping_plan', 'sp_add_log_shipping_plan_database', 
+			'sp_delete_log_shipping_plan_database', 'sp_add_log_shipping_primary', 
+			'sp_delete_log_shipping_primary', 'sp_add_log_shipping_secondary', 
+			'sp_delete_log_shipping_secondary', 'sp_can_tlog_be_applied', 'sp_get_log_shipping_monitor_info', 
+			'sp_change_monitor_role', 'sp_remove_log_shipping_monitor', 'sp_change_primary_role', 
+			'sp_resolve_logins', 'sp_change_secondary_role', 'sp_update_log_shipping_monitor_info', 
+			'sp_create_log_shipping_monitor_account', 'sp_update_log_shipping_plan', 
+			'sp_define_log_shipping_monitor', 'sp_update_log_shipping_plan_database',
+
+			//OLE Automation Extended Stored Procedures
+			'sp_OACreate', 'sp_OAMethod', 'sp_OADestroy', 'sp_OASetProperty', 'sp_OAGetErrorInfo', 
+			'sp_OAStop', 'sp_OAGetProperty',
+
+			//Replication Procedures
+			'sp_add_agent_parameter', 'sp_enableagentoffload', 'sp_add_agent_profile', 
+			'sp_enumcustomresolvers', 'sp_addarticle', 'sp_enumdsn', 'sp_adddistpublisher', 
+			'sp_enumfullsubscribers', 'sp_adddistributiondb', 'sp_expired_subscription_cleanup', 
+			'sp_adddistributor', 'sp_generatefilters', 'sp_addmergealternatepublisher', 
+			'sp_getagentoffloadinfo', 'sp_addmergearticle', 'sp_getmergedeletetype', 'sp_addmergefilter', 
+			'sp_get_distributor', 'sp_addmergepublication', 'sp_getqueuedrows', 'sp_addmergepullsubscription', 
+			'sp_getsubscriptiondtspackagename', 'sp_addmergepullsubscription_agent', 'sp_grant_publication_access', 
+			'sp_addmergesubscription', 'sp_help_agent_default', 'sp_addpublication', 'sp_help_agent_parameter', 
+			'sp_addpublication_snapshot', 'sp_help_agent_profile', 'sp_addpublisher70', 'sp_helparticle', 
+			'sp_addpullsubscription', 'sp_helparticlecolumns', 'sp_addpullsubscription_agent', 'sp_helparticledts', 
+			'sp_addscriptexec', 'sp_helpdistpublisher', 'sp_addsubscriber', 'sp_helpdistributiondb', 
+			'sp_addsubscriber_schedule', 'sp_helpdistributor', 'sp_addsubscription', 'sp_helpmergealternatepublisher', 
+			'sp_addsynctriggers', 'sp_helpmergearticle', 'sp_addtabletocontents', 'sp_helpmergearticlecolumn', 
+			'sp_adjustpublisheridentityrange', 'sp_helpmergearticleconflicts', 'sp_article_validation', 
+			'sp_helpmergeconflictrows', 'sp_articlecolumn', 'sp_helpmergedeleteconflictrows', 'sp_articlefilter', 
+			'sp_helpmergefilter', 'sp_articlesynctranprocs', 'sp_helpmergepublication', 'sp_articleview', 
+			'sp_helpmergepullsubscription', 'sp_attachsubscription', 'sp_helpmergesubscription', 'sp_browsesnapshotfolder', 
+			'sp_helppublication', 'sp_browsemergesnapshotfolder', 'sp_help_publication_access', 'sp_browsereplcmds', 
+			'sp_helppullsubscription', 'sp_change_agent_parameter', 'sp_helpreplfailovermode', 'sp_change_agent_profile', 
+			'sp_helpreplicationdboption', 'sp_changearticle', 'sp_helpreplicationoption', 'sp_changedistpublisher', 
+			'sp_helpsubscriberinfo', 'sp_changedistributiondb', 'sp_helpsubscription', 'sp_changedistributor_password', 
+			'sp_ivindexhasnullcols', 'sp_changedistributor_property', 'sp_helpsubscription_properties', 'sp_changemergearticle', 
+			'sp_link_publication', 'sp_changemergefilter', 'sp_marksubscriptionvalidation', 'sp_changemergepublication', 
+			'sp_mergearticlecolumn', 'sp_changemergepullsubscription', 'sp_mergecleanupmetadata', 'sp_changemergesubscription', 
+			'sp_mergedummyupdate', 'sp_changepublication', 'sp_mergesubscription_cleanup', 'sp_changesubscriber', 
+			'sp_publication_validation', 'sp_changesubscriber_schedule', 'sp_refreshsubscriptions', 'sp_changesubscriptiondtsinfo', 
+			'sp_reinitmergepullsubscription', 'sp_changesubstatus', 'sp_reinitmergesubscription', 'sp_change_subscription_properties', 
+			'sp_reinitpullsubscription', 'sp_check_for_sync_trigger', 'sp_reinitsubscription', 'sp_copymergesnapshot', 
+			'sp_removedbreplication', 'sp_copysnapshot', 'sp_repladdcolumn', 'sp_copysubscription', 'sp_replcmds', 
+			'sp_deletemergeconflictrow', 'sp_replcounters', 'sp_disableagentoffload', 'sp_repldone', 'sp_drop_agent_parameter', 
+			'sp_repldropcolumn', 'sp_drop_agent_profile', 'sp_replflush', 'sp_droparticle', 'sp_replicationdboption', 
+			'sp_dropanonymouseagent', 'sp_replication_agent_checkup', 'sp_dropdistpublisher', 'sp_replqueuemonitor', 
+			'sp_dropdistributiondb', 'sp_replsetoriginator', 'sp_dropmergealternatepublisher', 'sp_replshowcmds', 
+			'sp_dropdistributor', 'sp_repltrans', 'sp_dropmergearticle', 'sp_restoredbreplication', 'sp_dropmergefilter', 
+			'sp_revoke_publication_access', 'sp_scriptsubconflicttable', 'sp_dropmergepublication', 'sp_script_synctran_commands', 
+			'sp_dropmergepullsubscription', 'sp_setreplfailovermode', 'sp_showrowreplicainfo', 'sp_dropmergesubscription', 
+			'sp_subscription_cleanup', 'sp_droppublication', 'sp_table_validation', 'sp_droppullsubscription', 
+			'sp_update_agent_profile', 'sp_dropsubscriber', 'sp_validatemergepublication', 'sp_dropsubscription', 
+			'sp_validatemergesubscription', 'sp_dsninfo', 'sp_vupgrade_replication', 'sp_dumpparamcmd',
+
+			//Security Procedures
+			'sp_addalias', 'sp_droprolemember', 'sp_addapprole', 'sp_dropserver', 'sp_addgroup', 'sp_dropsrvrolemember', 
+			'sp_addlinkedsrvlogin', 'sp_dropuser', 'sp_addlogin', 'sp_grantdbaccess', 'sp_addremotelogin', 
+			'sp_grantlogin', 'sp_addrole', 'sp_helpdbfixedrole', 'sp_addrolemember', 'sp_helpgroup', 
+			'sp_addserver', 'sp_helplinkedsrvlogin', 'sp_addsrvrolemember', 'sp_helplogins', 'sp_adduser', 
+			'sp_helpntgroup', 'sp_approlepassword', 'sp_helpremotelogin', 'sp_changedbowner', 'sp_helprole', 
+			'sp_changegroup', 'sp_helprolemember', 'sp_changeobjectowner', 'sp_helprotect', 'sp_change_users_login', 
+			'sp_helpsrvrole', 'sp_dbfixedrolepermission', 'sp_helpsrvrolemember', 'sp_defaultdb', 'sp_helpuser', 
+			'sp_defaultlanguage', 'sp_MShasdbaccess', 'sp_denylogin', 'sp_password', 'sp_dropalias', 'sp_remoteoption', 
+			'sp_dropapprole', 'sp_revokedbaccess', 'sp_dropgroup', 'sp_revokelogin', 'sp_droplinkedsrvlogin', 
+			'sp_setapprole', 'sp_droplogin', 'sp_srvrolepermission', 'sp_dropremotelogin', 'sp_validatelogins', 'sp_droprole',
+
+			//SQL Mail Procedures
+			'sp_processmail', 'xp_sendmail', 'xp_deletemail', 'xp_startmail', 'xp_findnextmsg', 'xp_stopmail', 'xp_readmail',
+
+			//SQL Profiler Procedures
+			'sp_trace_create', 'sp_trace_setfilter', 'sp_trace_generateevent', 'sp_trace_setstatus', 'sp_trace_setevent',
+
+			//SQL Server Agent Procedures
+			'sp_add_alert', 'sp_help_jobhistory', 'sp_add_category', 'sp_help_jobschedule', 'sp_add_job', 
+			'sp_help_jobserver', 'sp_add_jobschedule', 'sp_help_jobstep', 'sp_add_jobserver', 'sp_help_notification', 
+			'sp_add_jobstep', 'sp_help_operator', 'sp_add_notification', 'sp_help_targetserver', 
+			'sp_add_operator', 'sp_help_targetservergroup', 'sp_add_targetservergroup', 'sp_helptask', 
+			'sp_add_targetsvrgrp_member', 'sp_manage_jobs_by_login', 'sp_addtask', 'sp_msx_defect', 
+			'sp_apply_job_to_targets', 'sp_msx_enlist', 'sp_delete_alert', 'sp_post_msx_operation', 
+			'sp_delete_category', 'sp_purgehistory', 'sp_delete_job', 'sp_purge_jobhistory', 'sp_delete_jobschedule', 
+			'sp_reassigntask', 'sp_delete_jobserver', 'sp_remove_job_from_targets', 'sp_delete_jobstep', 
+			'sp_resync_targetserver', 'sp_delete_notification', 'sp_start_job', 'sp_delete_operator', 
+			'sp_stop_job', 'sp_delete_targetserver', 'sp_update_alert', 'sp_delete_targetservergroup', 
+			'sp_update_category', 'sp_delete_targetsvrgrp_member', 'sp_update_job', 'sp_droptask', 
+			'sp_update_jobschedule', 'sp_help_alert', 'sp_update_jobstep', 'sp_help_category', 
+			'sp_update_notification', 'sp_help_downloadlist', 'sp_update_operator', 'sp_helphistory', 
+			'sp_update_targetservergroup', 'sp_help_job', 'sp_updatetask', 'xp_sqlagent_proxy_account',
+
+			//System Procedures
+			'sp_add_data_file_recover_suspect_db', 'sp_helpconstraint', 'sp_addextendedproc', 
+			'sp_helpdb', 'sp_addextendedproperty', 'sp_helpdevice', 'sp_add_log_file_recover_suspect_db', 
+			'sp_helpextendedproc', 'sp_addmessage', 'sp_helpfile', 'sp_addtype', 'sp_helpfilegroup', 
+			'sp_addumpdevice', 'sp_helpindex', 'sp_altermessage', 'sp_helplanguage', 'sp_autostats', 
+			'sp_helpserver', 'sp_attach_db', 'sp_helpsort', 'sp_attach_single_file_db', 'sp_helpstats', 
+			'sp_bindefault', 'sp_helptext', 'sp_bindrule', 'sp_helptrigger', 'sp_bindsession', 
+			'sp_indexoption', 'sp_certify_removable', 'sp_invalidate_textptr', 'sp_configure', 
+			'sp_lock', 'sp_create_removable', 'sp_monitor', 'sp_createstats', 'sp_procoption', 
+			'sp_cycle_errorlog', 'sp_recompile', 'sp_datatype_info', 'sp_refreshview', 'sp_dbcmptlevel', 
+			'sp_releaseapplock', 'sp_dboption', 'sp_rename', 'sp_dbremove', 'sp_renamedb', 
+			'sp_delete_backuphistory', 'sp_resetstatus', 'sp_depends', 'sp_serveroption', 'sp_detach_db', 
+			'sp_setnetname', 'sp_dropdevice', 'sp_settriggerorder', 'sp_dropextendedproc', 'sp_spaceused', 
+			'sp_dropextendedproperty', 'sp_tableoption', 'sp_dropmessage', 'sp_unbindefault', 'sp_droptype', 
+			'sp_unbindrule', 'sp_executesql', 'sp_updateextendedproperty', 'sp_getapplock', 'sp_updatestats', 
+			'sp_getbindtoken', 'sp_validname', 'sp_help', 'sp_who',
+
+			//Web Assistant Procedures
+			'sp_dropwebtask', 'sp_makewebtask', 'sp_enumcodepages', 'sp_runwebtask',
+
+			//XML Procedures
+			'sp_xml_preparedocument', 'sp_xml_removedocument',
+
+			//General Extended Procedures
+			'xp_cmdshellxp_logininfo', 'xp_enumgroups', 'xp_msver', 'xp_findnextmsgxp_revokelogin', 
+			'xp_grantlogin', 'xp_sprintf', 'xp_logevent', 'xp_sqlmaint', 'xp_loginconfig', 'xp_sscanf',
+
+			//API System Stored Procedures
+			'sp_cursor', 'sp_cursorclose', 'sp_cursorexecute', 'sp_cursorfetch', 'sp_cursoropen', 
+			'sp_cursoroption', 'sp_cursorprepare', 'sp_cursorunprepare', 'sp_execute', 'sp_prepare', 'sp_unprepare',
+
+			//Misc
+			'sp_createorphan', 'sp_droporphans', 'sp_reset_connection', 'sp_sdidebug'
+			),
+		4 => array(
+			//Function/sp's higlighted brown.
+			'fn_helpcollations', 'fn_listextendedproperty ', 'fn_servershareddrives', 
+			'fn_trace_geteventinfo', 'fn_trace_getfilterinfo', 'fn_trace_getinfo', 
+			'fn_trace_gettable', 'fn_virtualfilestats',
+			),
+		),
+	'SYMBOLS' => array(
+		'!', '!=', '%', '&', '&&', '(', ')', '*', '+', '-', '/', '<', '<<', '<=', 
+		'<=>', '<>', '=', '>', '>=', '>>', '^', 'ALL', 'AND', 'ANY', 'BETWEEN', 'CROSS', 
+		'EXISTS', 'IN', 'JOIN', 'LIKE', 'NOT', 'NULL', 'OR', 'OUTER', 'SOME', '|', '||', '~'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000FF;',
+			2 => 'color: #FF00FF;',
+			3 => 'color: #AF0000;',
+			4 => 'color: #AF0000;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #008080;',
+			'MULTI' => 'color: #008080;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #808080;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #FF0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #000;'
+			),
+		'METHODS' => array(
+			1 => 'color: #202020;',
+			2 => 'color: #202020;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #808080;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
+
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/vb.php 0.763/modules/pn_bbcode/pnincludes/geshi/vb.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/vb.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/vb.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2004/08/30
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
  *
  * Visual Basic language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/vbnet.php 0.763/modules/pn_bbcode/pnincludes/geshi/vbnet.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/vbnet.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/vbnet.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * ---------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
  *
  * VB.NET language file for GeSHi.
  *
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/vhdl.php 0.763/modules/pn_bbcode/pnincludes/geshi/vhdl.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/vhdl.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/vhdl.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,10 +4,10 @@
  * --------
  * Author: Alexander 'E-Razor' Krause (admin@erazor-zone.de)
  * Copyright: (c) 2005 Alexander Krause
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.3 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2005/06/15
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
  * 
  * VHDL (VHSICADL, very high speed integrated circuit HDL) language file for GeSHi.
  *
@@ -40,7 +40,7 @@
  ************************************************************************************/
  
 $language_data = array (
-    'LANG_NAME' => 'vhdl',
+    'LANG_NAME' => 'VHDL',
     'COMMENT_SINGLE' => array(1 => '--'),
     'COMMENT_MULTI' => array(),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/visualfoxpro.php 0.763/modules/pn_bbcode/pnincludes/geshi/visualfoxpro.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/visualfoxpro.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/visualfoxpro.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,8 +4,8 @@
  * ----------------
  * Author: Roberto Armellin (r.armellin@tin.it)
  * Copyright: (c) 2004 Roberto Armellin, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2004/09/17
  * Last Modified: 2004/09/18
  *
@@ -42,7 +42,7 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'VFP',
+	'LANG_NAME' => 'Visual Fox Pro',
 	'COMMENT_SINGLE' => array(1 => "//", 2 => "\n*"),
 	'COMMENT_MULTI' => array(),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/winbatch.php 0.763/modules/pn_bbcode/pnincludes/geshi/winbatch.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/winbatch.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/winbatch.php	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,371 @@
+<?php
+/*************************************************************************************
+ * winbatch.php
+ * ------------
+ * Author: Craig Storey (storey.craig@gmail.com)
+ * Copyright: (c) 2004 Craig Storey (craig.xcottawa.ca)
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 1.2.2.3 $
+ * Date Started: 2006/05/19
+ * Last Modified: $Date: 2006/07/22 11:30:32 $
+ *
+ * WinBatch language file for GeSHi.
+ *
+ * WinBatch is a Windows scripting language - www.winbatch.com.
+ * The keywords were pulled from the winbatch/system/WIL.clr file for v2005G.
+ * Not all extender functions are added, but a very large set of the most common.
+ *
+ * CHANGES
+ * -------
+ * 2006/05/05 (1.0.0)
+ *  -  First Release
+ * 
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * - Right now any ':Subroutine' is treated as a comment. This highlights the 
+ *   Subroutine's name, but it's not a perfect fix. I should use a RegEx in 
+ *   GeSHI_Search&Replace features..
+ * - Update the list of extender functions.
+ * - Use a regular expression to comment UDFs that start with 'udf_'.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+ 
+$language_data = array (
+	'LANG_NAME' => 'Winbatch',
+	'COMMENT_SINGLE' => array(1 => ';', 2 => ':'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"', '`'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'While', 'To', 'Then', 'Switch', 'Select', 'Return', 'Next', 'IntControl', 'Include', 'In', 'If', 
+			'Goto', 'GoSub', 'ForEach', 'For', 'Exit', 'Execute', 'ErrorMode', 'EndWhile', 'EndSwitch', '#EndSubRoutine', 
+			'EndSelect', 'EndIf', '#EEndFunction', 'EndFor', 'End', 'Else', 'DropWild', 'Drop', '#DefineSubRoutine', 
+			'#DefineFunction', 'Debug', 'Continue', 'Case', 'CallExt', 'Call', 'By', 'BreakPoint', 'Break'
+			),
+		2 => array(
+			'ZOOMED', 'YES', 'WORD4', 'WORD2', 'WORD1', 'WHOLESECTION', 'WAIT', 'UNSORTED', 'UNCHECK', 'TRUE', 'TILE', 
+			'TAB', 'STRING', 'STACK', 'SPC2NET', 'SORTED', 'SOK', 'SNET2PC', 'SINGLE', 'SHIFT', 'SERVER', 'SERRWINSOCK', 
+			'SERRVOICE', 'SERRSOCKET', 'SERRSERVICE', 'SERRSELECT', 'SERRPARAM', 'SERROUTOFMEM', 'SERRNOTFOUND', 'SERRNOCONN', 
+			'SERRNOANSWER', 'SERRMUSTWAIT', 'SERRIPADDR', 'SERRHOSTNAME', 'SERRFAILURE', 'SERRBUSY', 'SCROLLLOCK', 'SCANCEL', 
+			'SAVE', 'SALREADY', 'ROWS', 'REGUSERS', 'REGROOT', 'REGMACHINE', 'REGCURRENT', 'REGCLASSES', 'RDBLCLICK', 'RCLICK', 
+			'RBUTTON', 'RAD2DEG', 'QSUCCESSINFO', 'QSUCCESS', 'QSTILLEX', 'QROLLBACK', 'QNULL', 'QNODATA', 'QNEXT', 'QNEEDDATA', 
+			'QFIRST', 'QCOMMIT', 'QBADHANDLE', 'PRINTER', 'PLANCKJOULES', 'PLANCKERGS', 'PI', 'PARSEONLY', 'PARSEC', 'P3ERRREPLY', 
+			'OPEN', 'ON', 'OFF', 'NUMLOCK', 'NOWAIT', 'NOTIFY', 'NORMAL', 'NORESIZE', 'NONE', 'NO', 'NCSAFORMAT', 'MULTIPLE', 
+			'MSFORMAT', 'MPLAYRDBLCK', 'MPLAYRCLK', 'MPLAYRBUTTON', 'MPLAYMDBLCK', 'MPLAYMCLK', 'MPLAYMBUTTON', 'MPLAYLDBLCK', 
+			'MPLAYLCLK', 'MPLAYLBUTTON', 'MINOR', 'MDBLCLICK', 'MCLICK', 'MBYESNO', 'MBUTTON', 'MBOKCANCEL', 'MAJOR', 'MAGFIELD', 
+			'LOCALGROUP', 'LIGHTMTPS', 'LIGHTMPS', 'LF', 'LDBLCLICK', 'LCLICK', 'LBUTTON', 'LAFFDBERROR', 'ICON', 'HTTPS', 'HTTP', 
+			'HNOHEADER', 'HMETHODPOST', 'HMETHODGET', 'HIDDEN', 'HHEADERONLY', 'HHEADER', 'GRAVITATION', 'GOPHER', 'GOLDENRATIO', 
+			'GMTSEC', 'GLOBALGROUP', 'GFTSEC', 'GETPROCID', 'GETEXITCODE', 'FWDSCAN', 'FTPPASSIVE', 'FTP', 'FLOAT8', 'FARADAY', 
+			'FALSE', 'EXTENDED', 'EULERS', 'ENABLE', 'ELECTRIC', 'DRIVE', 'DISABLE', 'DESCENDING', 'DEG2RAD', 'DEFAULT', 'CTRL', 
+			'CRLF', 'CR', 'COMMONFORMAT', 'COLUMNS', 'CHECK', 'CAPSLOCK', 'CANCEL', 'BOLTZMANN', 'BACKSCAN', 'AVOGADRO', 'ATTR_X', 
+			'ATTR_T', 'ATTR_SY', 'ATTR_SH', 'ATTR_RO', 'ATTR_RI', 'ATTR_P', 'ATTR_IC', 'ATTR_H', 'ATTR_DM', 'ATTR_DI', 'ATTR_DC', 
+			'ATTR_CI', 'ATTR_A', 'ASCENDING', 'ARRANGE', 'AMC', 'ACC_WRITE', 'ACC_READ_NT', 'ACC_READ_95', 'ACC_READ', 'ACC_PRINT_NT', 
+			'ACC_PMANG_NT', 'ACC_PFULL_NT', 'ACC_LIST', 'ACC_FULL_NT', 'ACC_FULL_95', 'ACC_DELETE', 'ACC_CREATE', 'ACC_CONTROL', 
+			'ACC_CHNG_NT', 'ACC_ATTRIB', 'ABOVEICONS'			
+			),
+		3 => array(
+			'Yields', 'Yield', 'WinZoom', 'WinWaitExist', 'WinWaitClose', 'WinWaitChild', 'WinVersion', 'WinTitle', 'WinSysInfo', 
+			'WinState', 'WinShow', 'WinResources', 'WinPositionChild', 'WinPosition', 'WinPlaceSet', 'WinPlaceGet', 'WinPlaceChild', 
+			'WinPlace', 'WinParmSet', 'WinParmGet', 'WinName', 'WinMetrics', 'WinItemProcId', 'WinItemNameId', 'WinItemizeEx', 
+			'WinItemize', 'WinItemChild', 'WinIsDos', 'WinIdGet', 'WinIconize', 'WinHide', 'WinHelp', 'WinGetactive', 'WinExistchild', 
+			'WinExist', 'WinExename', 'WinConfig', 'WinClosenot', 'WinClose', 'WinArrange', 'WinActivechild', 'WinActivchild', 
+			'WinActivate', 'WebVerifyCard', 'WebSetTimeout', 'WebParamSize', 'WebParamNames', 'WebParamFile', 'WebParamData', 
+			'WebParamBuf', 'WebOutFile', 'WebOutBinary', 'WebOut', 'WebDumpError', 'WebDatData', 'WebCounter', 'WebConSize', 'WebConData', 
+			'WebConBuf', 'WebCmdData', 'WebBaseConv', 'Wallpaper', 'WaitForKeyEX', 'WaitForKey', 'VersionDLL', 'Version', 'VarType', 
+			'TimeYmdHms', 'TimeWait', 'TimeSubtract', 'TimeJulToYmd', 'TimeJulianDay', 'TimeDiffSecs', 'TimeDiffDays', 'TimeDiff', 'TimeDelay', 
+			'TimeDate', 'TimeAdd', 'TextSelect', 'TextBoxSort', 'TextBox', 'Terminate', 'Tanh', 'Tan', 'SysParamInfo', 'SvcWaitForCmd', 
+			'SvcSetState', 'SvcSetAccept', 'StrUpper', 'StrTrim', 'StrSubWild', 'StrSub', 'StrScan', 'StrReplace', 'StrLower', 'StrLenWild', 
+			'StrLen', 'StrIndexWild', 'StrIndexNC', 'StrIndex', 'StriCmp', 'StrFixLeft', 'StrFixCharsL', 'StrFixChars', 'StrFix', 'StrFill', 
+			'StrCnt', 'StrCmp', 'StrClean', 'StrCharCount', 'StrCat', 'StrByteCount', 'Sqrt', 'SoundVolume', 'Sounds', 'Snapshot', 'Sinh', 'Sin', 
+			'ShortCutMake', 'ShortCutInfo', 'ShortCutExtra', 'ShortCutEdit', 'ShortCutDir', 'ShellExecute', 'SendMenusToEx', 'SendMenusTo', 
+			'SendKeysTo', 'SendKeysChild', 'SendKey', 'RunZoomWait', 'RunZoom', 'RunWithLogon', 'RunWait', 'RunShell', 'RunIconWait', 
+			'RunIcon', 'RunHideWait', 'RunHide', 'RunExit', 'RunEnviron', 'Run', 'RtStatus', 'Reload', 'RegUnloadHive', 'RegSetValue', 
+			'RegSetQword', 'RegSetMulSz', 'RegSetExpSz', 'RegSetEx', 'RegSetDword', 'RegSetBin', 'RegQueryValue', 'RegQueryStr', 
+			'RegQueryQword', 'RegQueryMulSz', 'RegQueryKeys', 'RegQueryKeyLastWriteTime', 'RegQueryKey', 'RegQueryItem', 'RegQueryExpSz', 
+			'RegQueryEx', 'RegQueryDword', 'RegQueryBin', 'RegOpenKeyEx', 'RegOpenKey', 'RegOpenFlags', 'RegLoadHive', 'RegExistValue', 
+			'RegExistKey', 'RegEntryType', 'RegDelValue', 'RegDeleteKey', 'RegCreateKey', 'RegConnect', 'RegCloseKey', 'RegApp', 'Random', 
+			'PtrPersistent', 'PtrGlobalDefine', 'PtrGlobal', 'Print', 'PlayWaveform', 'PlayMidi', 'PlayMedia', 'PipeServerWrite', 'PipeServerRead', 
+			'PipeServerCreate', 'PipeServerClose', 'PipeInfo', 'PipeClientSendRecvData', 'PipeClientOpen', 'PipeClientClose', 'Pause', 
+			'ParseData', 'ObjectTypeGet', 'ObjectType', 'ObjectOpen', 'ObjectGet', 'ObjectEventRemove', 'objecteventremove', 'ObjectEventAdd', 
+			'objecteventadd', 'ObjectCreate', 'ObjectConstToArray', 'ObjectConstantsGet', 'ObjectCollectionOpen', 'ObjectCollectionNext', 
+			'ObjectCollectionClose', 'ObjectClose', 'ObjectAccess', 'Num2Char', 'NetInfo', 'MsgTextGet', 'MousePlay', 'MouseMove', 'MouseInfo', 
+			'MouseDrag', 'MouseCoords', 'MouseClickBtn', 'MouseClick', 'mod', 'Min', 'Message', 'Max', 'Loge', 'LogDisk', 'Log10', 'LastError', 
+			'KeyToggleSet', 'KeyToggleGet', 'ItemSortNc', 'ItemSort', 'ItemSelect', 'ItemReplace', 'ItemRemove', 'ItemLocate', 'ItemInsert', 
+			'ItemExtractCSV', 'ItemExtract', 'ItemCountCSV', 'ItemCount', 'IsNumber', 'IsLicensed', 'IsKeyDown', 'IsInt', 'IsFloat', 'IsDefined', 
+			'Int', 'InstallFile', 'IniWritePvt', 'IniWrite', 'IniReadPvt', 'IniRead', 'IniItemizePvt', 'IniItemize', 'IniDeletePvt', 'IniDelete', 
+			'IgnoreInput', 'IconReplace', 'IconInfo', 'IconExtract', 'IconArrange', 'GetTickCount', 'GetObject', 'GetExactTime', 'Floor', 
+			'FindWindow', 'FileYmdHms', 'FileWrite', 'FileVerInfo', 'FileTimeTouch', 'FileTimeSetEx', 'FileTimeSet', 'FileTimeGetEx', 
+			'FileTimeGet', 'FileTimeCode', 'FileSizeEx', 'FileSize', 'FileRoot', 'FileRename', 'FileRead', 'FilePutW', 'FilePut', 'FilePath', 
+			'FileOpen', 'FileNameShort', 'FileNameLong', 'FileNameEval2', 'FileNameEval1', 'FileMoveAttr', 'FileMove', 'FileMapName', 
+			'FileLocate', 'FileItemPath', 'FileItemize', 'FileInfoToArray', 'FileGetW', 'FileGet', 'FileFullname', 'FileExtension', 'FileExist', 
+			'FileDelete', 'FileCreateTemp', 'FileCopyAttr', 'FileCopy', 'FileCompare', 'FileClose', 'FileBaseName', 'FileAttrSetEx', 
+			'FileAttrSet', 'FileAttrGetEx', 'FileAttrGet', 'FileAppend', 'Fabs', 'ExtractAttachedFile', 'Exp', 'ExeTypeInfo', 'Exclusive', 
+			'EnvItemize', 'EnvironSet', 'Environment', 'EndSession', 'DosVersion', 'DllLoad', 'DllLastError', 'DllHwnd', 'DllHinst', 
+			'DllFree', 'DllCallCDecl', 'DllCall', 'Display', 'DiskVolinfo', 'DiskSize', 'DiskScan', 'DiskInfo', 'DiskFree', 'DiskExist', 
+			'DirWindows', 'DirSize', 'DirScript', 'DirRename', 'DirRemove', 'DirMake', 'DirItemize', 'DirInfoToArray', 'DirHome', 'DirGet', 
+			'DirExist', 'DirChange', 'DirAttrSetEx', 'DirAttrSet', 'DirAttrGetEx', 'DirAttrGet', 'DialogProcOptions', 'DialogObject', 
+			'DialogControlState', 'DialogControlSet', 'DialogControlGet', 'DialogBox', 'Dialog', 'Delay', 'Decimals', 'DebugTrace', 
+			'DebugData', 'DDETimeout', 'DDETerminate', 'DDERequest', 'DDEPoke', 'DDEInitiate', 'DDEExecute', 'DateTime', 'CurrFilepath', 
+			'CurrentPath', 'CurrentFile', 'CreateObject', 'Cosh', 'Cos', 'ClipPut', 'ClipHasFormat', 'ClipGetEx', 'ClipGet', 'ClipAppend', 
+			'ChrUnicodeToString', 'ChrUnicodeToHex', 'ChrStringToUnicode', 'ChrSetCodepage', 'ChrHexToUnicode', 'ChrGetCodepage', 
+			'Char2Num', 'Ceiling', 'ButtonNames', 'BoxUpdates', 'BoxTitle', 'BoxTextFont', 'BoxTextColor', 'BoxText', 'BoxShut', 'BoxPen', 
+			'BoxOpen', 'BoxNew', 'BoxMapmode', 'BoxesUp', 'BoxDrawText', 'BoxDrawRect', 'BoxDrawLine', 'BoxDrawCircle', 'BoxDestroy', 
+			'BoxDataTag', 'BoxDataClear', 'BoxColor', 'BoxCaption', 'BoxButtonWait', 'BoxButtonStat', 'BoxButtonKill', 'BoxButtonDraw', 
+			'BoxBitMap', 'BinaryXor', 'BinaryXlate', 'BinaryWriteEx', 'BinaryWrite', 'BinaryTagRepl', 'BinaryTagLen', 'BinaryTagInit', 
+			'BinaryTagIndex', 'BinaryTagFind', 'BinaryTagExtr', 'BinaryStrCnt', 'BinarySort', 'BinaryReplace', 'BinaryReadEx', 
+			'BinaryRead', 'BinaryPokeStrW', 'BinaryPokeStr', 'BinaryPokeHex', 'BinaryPokeFlt', 'BinaryPoke4', 'BinaryPoke2', 'BinaryPoke', 
+			'BinaryPeekStrW', 'BinaryPeekStr', 'BinaryPeekHex', 'BinaryPeekFlt', 'BinaryPeek4', 'BinaryPeek2', 'BinaryPeek', 'BinaryOr', 
+			'BinaryOleType', 'BinaryIndexNc', 'BinaryIndexEx', 'BinaryIndexBin', 'BinaryIndex', 'BinaryIncrFlt', 'BinaryIncr4', 
+			'BinaryIncr2', 'BinaryIncr', 'BinaryHashRec', 'BinaryFree', 'BinaryEodSet', 'BinaryEodGet', 'BinaryCopy', 'BinaryConvert', 
+			'BinaryCompare', 'BinaryClipPut', 'BinaryClipGet', 'BinaryChecksum', 'BinaryBufInfo', 'BinaryAnd', 'BinaryAllocArray', 
+			'BinaryAlloc', 'Beep', 'Average', 'Atan', 'AskYesNo', 'AskTextbox', 'AskPassword', 'AskLine', 'AskItemlist', 'AskFont', 
+			'AskFiletext', 'AskFilename', 'AskDirectory', 'AskColor', 'Asin', 'ArrInitialize', 'ArrInfo', 'ArrDimension', 
+			'Arrayize', 'ArrayFilePutCSV', 'ArrayFilePut', 'ArrayFileGetCSV', 'ArrayFileGet', 'AppWaitClose', 'AppExist', 'AddExtender', 
+			'Acos', 'Abs', 'About'
+			),
+		4 => array(
+			'zZipFiles', 'zVersionInfo', 'zVersion', 'zUnZipFiles', 'zSetPortBit', 'zRPortShift', 'zPortOut', 'zPortIn', 'zNotPortBit', 
+			'zLPortShift', 'zGetPortBit', 'zClrPortBit', 'xVerifyCCard', 'xSendMessage', 'xMessageBox', 'xMemCompact', 'xHex', 'xGetElapsed', 
+			'xGetChildHwnd', 'xExtenderInfo', 'xEnumStreams', 'xEjectMedia', 'xDriveReady', 'xDiskLabelGet', 'xCursorSet', 'xBaseConvert', 
+			'wxPing', 'wxParmSet', 'wxParmGet', 'wxMsgSetHdr', 'wxMsgGetHdr', 'wxMsgGetBody', 'wxHost2Addr', 'wxGetLastErr', 'wxGetInfo', 
+			'wxGetErrDesc', 'wxAddr2Host', 'wtsWaitSystemEvent', 'wtsVersion', 'wtsTerminateProcess', 'wtsShutdownSystem', 'wtsSendMessage', 
+			'wtsQuerySessionInfo', 'wtsProcIdToSessId', 'wtsLogoffSession', 'wtsLastErrMsg', 'wtsIsTSEnabled', 'wtsIsCitrixEnabled', 
+			'wtsGetActiveConsoleSessId', 'wtsEnumSessions', 'wtsEnumProcesses', 'wtsDisconnectSession', 'wnWrkGroups', 'wnVersion', 'wntWtsUserSet', 
+			'wntWtsUserGet', 'wntVersion', 'wntUserSidChk', 'wntUserSetDat', 'wntUserRename', 'wntUserProps', 'wntUserList', 'wntUserInfo', 
+			'wntUserGetDat', 'wntUserFiles', 'wntUserExist', 'wntUserDel', 'wntUserAddDat', 'wntUserAdd', 'wntSvcStatus', 'wntSvcStart', 
+			'wntSvcList', 'wntSvcDelete', 'wntSvcCreate', 'wntSvcControl', 'wntSvcCfgSet', 'wntSvcCfgGet', 'wntShutdown', 'wntShareUsers', 
+			'wntShareSet', 'wntShareList', 'wntShareInfo', 'wntShareDel', 'wntShareAdd', 'wntServiceInf', 'wntServiceAt', 'wntServerType', 
+			'wntServerList', 'wntServerInfo', 'wntSecurityGet', 'wntRunAsUser', 'wntResources2', 'wntResources', 'wntRemoteTime', 'wntRasUserSet', 
+			'wntRasUserGet', 'wntProfileInfo', 'wntProfileDel', 'wntPrivUsers', 'wntPrivList', 'wntPrivGet', 'wntPrivDel', 'wntPrivAdd', 
+			'wntOwnerSet', 'wntOwnerGet', 'wntMemberSet', 'wntMemberLst2', 'wntMemberList', 'wntMemberGrps', 'wntMemberGet', 'wntMemberDel', 
+			'wntLsaPolSet', 'wntLsaPolGet', 'wntListGroups', 'wntLastErrMsg', 'wntGroupRen', 'wntGroupInfo', 'wntGroupEdit', 'wntGroupDel', 
+			'wntGroupAdd', 'wntGetUser', 'wntGetDrive', 'wntGetDc', 'wntGetCon', 'wntFileUsers', 'wntFilesOpen', 'wntFileClose', 'wntEventWrite', 
+			'wntEventLog', 'wntDomainSync', 'wntDirDialog', 'wntDfsList', 'wntDfsGetInfo', 'wntCurrUsers', 'wntChgPswd', 'wntCancelCon', 
+			'wntAuditMod', 'wntAuditList', 'wntAuditGet', 'wntAuditDel', 'wntAuditAdd2', 'wntAuditAdd', 'wntAddPrinter', 'wntAddDrive', 
+			'wntAcctPolSet', 'wntAcctPolGet', 'wntAcctList', 'wntAcctInfo', 'wntAccessMod', 'wntAccessList', 'wntAccessGet', 'wntAccessDel', 
+			'wntaccessadd2', 'wntAccessAdd', 'wnShares', 'wnSharePath', 'wnShareName', 'wnShareCnt', 'wnServers', 'wnRestore', 'wnNetNames', 
+			'wnGetUser', 'wnGetCon', 'wnGetCaps', 'wnDlgShare', 'wnDlgNoShare', 'wnDlgDiscon', 'wnDlgCon4', 'wnDlgCon3', 'wnDlgCon2', 'wnDlgCon', 
+			'wnDlgBrowse', 'wnDialog', 'wnCmptrInfo', 'wnCancelCon', 'wnAddCon', 'WaitSRQ', 'w9xVersion', 'w9xUserSetDat', 'w9xUserRename', 
+			'w9xUserprops', 'w9xUserList', 'w9xUserinfo', 'w9xUserGetDat', 'w9xUserExist', 'w9xUserDel', 'w9xUserAddDat', 'w9xUserAdd', 'w9xShareSet', 
+			'w9xShareInfo', 'w9xShareDel', 'w9xShareAdd', 'w9xServiceAt', 'w9xServerList', 'w9xRemoteTime', 'w9xOwnerGet', 'w9xMemberSet', 
+			'w9xMemberList', 'w9xMemberGrps', 'w9xMemberGet', 'w9xMemberDel', 'w9xListGroups', 'w9xGroupInfo', 'w9xGroupDel', 'w9xGroupAdd', 
+			'w9xGetDC', 'w9xFileUsers', 'w9xAccessList', 'w9xAccessGet', 'w9xAccessDel', 'w9xAccessAdd', 'w95Version', 'w95ShareUsers', 
+			'w95ShareSet', 'w95ShareList', 'w95ShareInfo', 'w95ShareDel', 'w95ShareAdd', 'w95ServiceInf', 'w95ServiceAt', 'w95ServerType', 
+			'w95ServerInfo', 'w95Resources', 'w95GetUser', 'w95GetDrive', 'w95GetCon', 'w95FileUsers', 'w95FileClose', 'w95DirDialog', 
+			'w95CancelCon', 'w95AddPrinter', 'w95AddDrive', 'w95AccessDel', 'w95AccessAdd', 'w3Version', 'w3PrtBrowse', 'w3NetGetUser', 
+			'w3NetDialog', 'w3GetCon', 'w3GetCaps', 'w3DirBrowse', 'w3CancelCon', 'w3AddCon', 'urlGetScheme', 'urlEncode', 'urlDecode', 
+			'tVersion', 'tSetPriority', 'TriggerList', 'Trigger', 'tRemoteConn', 'tOpenProc', 'tListProc', 'tListMod', 'tKillProc', 'tGetProcInfo', 
+			'tGetPriority', 'tGetModInfo', 'tGetLastError', 'tGetData', 'TestSys', 'TestSRQ', 'tCountProc', 'tCompatible', 'tCloseProc', 
+			'tBrowseCntrs', 'sSendString', 'sSendNum', 'sSendLine', 'sSendBinary', 'sRecvNum', 'sRecvLine', 'sRecvBinary', 'SrchVersion', 
+			'SrchNext', 'SrchInit', 'SrchFree', 'sOpen', 'sOK2Send', 'sOK2Recv', 'smtpSendText', 'smtpSendFile', 'sListen', 'SetRWLS', 
+			'SendSetup', 'SendLLO', 'SendList', 'SendIFC', 'SendDataBytes', 'SendCmds', 'Send', 'sConnect', 'sClose', 'SByteOrder32', 
+			'sByteOrder16', 'sAccept', 'rRegVersion', 'rRegSearch', 'ResetSys', 'ReceiveSetup', 'Receive', 'ReadStsByte', 'RcvRespMsg', 
+			'RasVersion', 'RasTypeSize', 'RasRename', 'RasNumCons', 'RasNameValid', 'RasListActCon', 'RasItemize', 'RasHangUp', 'RasGetLastErr', 
+			'RasGetConStat', 'RasEntrySet', 'RasEntryInfo', 'RasEntryExist', 'RasEntryDel', 'RasEntryAdd', 'RasDialInfo', 'RasDial', 
+			'RasCopy', 'RasConStatus', 'qVersionInfo', 'qTransact', 'qTables', 'qSpecial', 'qSetConnOpt', 'qNumRsltCol', 'qNativeSql', 'qLastCode', 
+			'qGetData', 'qFreeStmt', 'qFreeEnv', 'qFreeConnect', 'qFetch', 'qExecDirect', 'qError', 'qDriverList', 'qDriverCon', 'qDisconnect', 
+			'qDataSources', 'qConnect', 'qConfigError', 'qConfigData', 'qColumns', 'qBindCol', 'qAllocStmt', 'qAllocEnv', 'qAllocConnect', 
+			'pWaitFor', 'pVersionInfo', 'pTimeout', 'pSetPublish', 'pSetPrtInfo', 'pSetPrtAttrib', 'pSetDefPrtEx', 'pSetDefPrt', 'pSendFile', 
+			'pRecvFile', 'pPutString', 'pPutLine', 'pPutChar', 'pPutByte', 'pPutBinary', 'PPollUnconfig', 'PPollConfig', 'PPoll', 'pPeekChar', 
+			'pPeekByte', 'pPaperSizes', 'pPaperBins', 'pModemSReg', 'pModemParams', 'pModemInit', 'pModemHangUp', 'pModemDial', 'pModemControl', 
+			'pModemConnect', 'pModemCommand', 'pModemAnsRing', 'pModemAnsCall', 'pMediaTypes', 'pGetString', 'pGetPublish', 'pGetPrtList', 
+			'pGetPrtInfo', 'pGetPrtAttrib', 'pGetLine', 'pGetLastError', 'pGetErrorMsg', 'pGetErrorCode', 'pGetDefPrtInf', 'pGetChar', 
+			'pGetByte', 'pGetBinary', 'pDelPrtConn', 'pDelPrinter', 'pComOpen', 'pComModify', 'pComInfo', 'pComControl', 'pComClose', 
+			'pCheckSum', 'pCheckBinary', 'pCaptureOn', 'pCaptureOff', 'pCaptureLog', 'PassControl', 'pAddPrtConn', 'pAddPrinter', 'p3RecvText', 
+			'p3RecvFile', 'p3Peek', 'p3Open', 'p3GetReply', 'p3Delete', 'p3Count', 'p3Close', 'nwWhoAmI', 'nwVfyPassword', 'nwVersion', 
+			'nwSrvShutdown', 'nwSrvNLMMgr', 'nwSrvGenGUID', 'nwSrvExecNCF', 'nwSetVolLimit', 'nwSetSrvParam', 'nwSetSrvInfo', 'nwSetPrimServ', 
+			'nwSetPassword', 'nwSetOptions', 'nwSetFileInfo', 'nwSetDirLimit', 'nwSetDirInfo', 'nwSetContext', 'nwSetBcastMode', 'nwServerList', 
+			'nwSendBcastMsg', 'nwSearchObjects', 'nwSearchFilter', 'nwRenameObject', 'nwRemoveObject', 'nwReceiveBcastMsg', 'nwNameConvert', 
+			'nwMutateObject', 'nwMoveObject', 'nwModifyObject', 'nwMapDelete', 'nwMap', 'nwLogout', 'nwLogin', 'nwListUserGroups', 
+			'nwListObjects', 'nwListGroupMembers', 'nwLastErrMsg', 'nwIsUserInGroup', 'nwGetVolLimit', 'nwGetSrvStats', 'nwGetSrvParam', 
+			'nwGetSrvInfo', 'nwGetSrvCfg', 'nwGetOptions', 'nwGetObjValue', 'nwGetObjInfo', 'nwGetNLMInfo', 'nwGetMapped', 'nwGetFileInfo', 
+			'nwGetDirLimit', 'nwGetDirInfo', 'nwGetContext', 'nwGetConnInfo', 'nwGetCapture', 'nwGetBcastMode', 'nwGetAttrInfo', 
+			'nwDriveStatus', 'nwDrivePath', 'nwDetachFromServer', 'nwDelUserFromGroup', 'nwDelConnNum', 'nwCompareObject', 'nwClientInfo', 
+			'nwChgPassword', 'nwAttachToServer', 'nwAddUserToGroup', 'nwAddObject', 'netVersion', 'netResources', 'netGetUser', 'netGetCon', 
+			'netDirDialog', 'netCancelCon', 'netAddPrinter', 'netAddDrive', 'n4Version', 'n4UserGroups', 'n4UserGroupEx', 'n4SetPrimServ', 
+			'n4SetOptions', 'n4SetContextG', 'n4SetContext', 'n4ServerList', 'n4ServerInfo', 'n4ObjSearch', 'n4ObjRename', 'n4ObjOptions', 
+			'n4ObjMove', 'n4ObjGetVal', 'n4ObjectProps', 'n4ObjectList', 'n4ObjectInfo', 'n4ObjDelete', 'n4NameConvert', 'n4MsgsEndAll', 
+			'n4MsgsEnd', 'n4MemberSet', 'n4MemberGet', 'n4MemberDel', 'n4MapRoot', 'n4MapDir', 'n4MapDelete', 'n4Map', 'n4LogoutTree', 
+			'n4Logout', 'n4Login', 'n4GetUserName', 'n4GetUserId', 'n4GetUser', 'n4GetNetAddr', 'n4GetMapped', 'n4GetContext', 
+			'n4GetConnNum', 'n4FileUsers', 'n4FileTimeGet', 'n4FileAttrSet', 'n4FileAttrGet', 'n4DriveStatus', 'n4DrivePath', 'n4DirTimeGet', 
+			'n4DirAttrSet', 'n4DirAttrGet', 'n4Detach', 'n4ChgPassword', 'n4CapturePrt', 'n4CaptureGet', 'n4CaptureEnd', 'n4Attach', 
+			'n3Version', 'n3UserGroups', 'n3ServerList', 'n3ServerInfo', 'n3MsgsEndAll', 'n3MsgsEnd', 'n3MemberSet', 'n3MemberGet', 
+			'n3MemberDel', 'n3Maproot', 'n3Mapdir', 'n3Mapdelete', 'n3Map', 'n3Logout', 'n3GetUserId', 'n3GetUser', 'n3GetNetAddr', 
+			'n3GetMapped', 'n3GetConnNum', 'n3FileTimeGet', 'n3FileAttrSet', 'n3FileAttrGet', 'n3DriveStatus', 'n3DrivePath', 
+			'n3DirTimeGet', 'n3DirAttrSet', 'n3DirAttrGet', 'n3Detach', 'n3ChgPassword', 'n3CapturePrt', 'n3CaptureGet', 
+			'n3CaptureEnd', 'n3Attach', 'mVersion', 'mSyncMail', 'mSendMailEx', 'mSendMail', 'mrecvmail', 'mReadNextMsg', 'mLogOn', 
+			'mLogOff', 'mFindNext', 'mError', 'mCompatible', 'kVerInfo', 'kStatusInfo', 'kSendText', 'kSendFile', 'kManageImap4', 
+			'kInit', 'kGetMail', 'kExtra', 'kDest', 'kDeletePop3', 'iWriteDataBuf', 'iWriteData', 'iVersion', 'IUrlOpen', 'iUrlEncode', 
+			'iUrlDecode', 'iReadDataBuf', 'iReadData', 'ipVersion', 'ipPing', 'iPing', 'ipHost2Addr', 'ipGetLastErr', 'ipGetAddress', 
+			'iParseURL', 'ipAddr2Host', 'iOptionSet', 'iOptionGet', 'ImgWave', 'ImgVersion', 'ImgUnsharpMask', 'ImgThreshold', 'ImgSwirl', 
+			'ImgSpread', 'ImgSolarize', 'ImgShear', 'ImgSharpen', 'ImgShade', 'ImgScale', 'ImgSample', 'ImgRotate', 'ImgResize', 
+			'ImgReduceNoise', 'ImgRaise', 'ImgOilPaint', 'ImgNormalize', 'ImgNegate', 'ImgMotionBlur', 'ImgModulate', 'ImgMinify', 
+			'ImgMedianFilter', 'ImgMagnify', 'ImgLevel', 'ImgIsValid', 'ImgIsPalette', 'ImgIsMono', 'ImgIsGray', 'ImgInfo', 'ImgImplode', 
+			'ImgGetImageType', 'ImgGetColorCount', 'ImgGaussianBlur', 'ImgGamma', 'ImgFrame', 'ImgFlop', 'ImgFlip', 'ImgEqualize', 
+			'ImgEnhance', 'ImgEmboss', 'ImgCrop', 'ImgConvert', 'ImgContrast', 'ImgCompare', 'ImgColorize', 'ImgChop', 'ImgCharcoal', 
+			'ImgBorder', 'ImgBlur', 'ImgAddNoise', 'iLocFindNext', 'iLocFindInit', 'iHttpOpen', 'iHttpInit', 'iHttpHeaders', 'iHttpAccept', 
+			'iHostConnect', 'iHost2Addr', 'iGetResponse', 'iGetLastError', 'iGetIEVer', 'iGetConStatEx', 'iGetConState', 'iFtpRename', 
+			'iFtpPut', 'iFtpOpen', 'iFtpGet', 'iFtpFindNext', 'iFtpFindInit', 'iFtpDirRemove', 'iFtpDirMake', 'iFtpDirGet', 'iFtpDirChange', 
+			'iFtpDialog', 'iFtpDelete', 'iFtpCmd', 'iErrorDialog', 'iDialItemize', 'iDialHangUp', 'iDial', 'iCookieSet', 'iCookieGet', 
+			'iContentURL', 'iContentFile', 'iContentData', 'iClose', 'ibWrtf', 'ibWrt', 'ibWait', 'ibVersion', 'ibUnlock', 'ibTrg', 
+			'ibTmo', 'ibStop', 'ibStatus', 'ibSta', 'ibSre', 'ibSic', 'ibSad', 'ibRsv', 'ibRsp', 'ibRsc', 'ibRpp', 'ibRdf', 'ibRd', 
+			'ibPpc', 'ibPoke', 'ibPct', 'ibPad', 'ibOnl', 'ibMakeAddr', 'ibLock', 'ibLoc', 'ibLn', 'ibLines', 'ibIst', 'ibInit', 
+			'ibGts', 'ibGetSad', 'ibGetPad', 'ibFind', 'ibEvent', 'ibErr', 'ibEot', 'ibEos', 'iBegin', 'ibDma', 'ibDev', 'ibConfig', 
+			'ibCntl', 'ibCnt', 'ibCmda', 'ibCmd', 'ibClr', 'ibCac', 'ibBna', 'ibAsk', 'iAddr2Host', 'huge_Thousands', 'huge_Subtract', 
+			'huge_SetOptions', 'huge_Multiply', 'huge_GetLastError', 'huge_ExtenderInfo', 'huge_Divide', 'huge_Decimal', 'huge_Add', 
+			'httpStripHTML', 'httpRecvTextF', 'httpRecvText', 'httpRecvQuery', 'httpRecvQryF', 'httpRecvFile', 'httpGetServer', 
+			'httpGetQuery', 'httpGetPath', 'httpGetFile', 'httpGetDir', 'httpGetAnchor', 'httpFullPath', 'httpFirewall', 'httpAuth', 
+			'ftpRename', 'ftpQuote', 'ftpPut', 'ftpOpen', 'ftpList', 'ftpGet', 'ftpFirewall', 'ftpDelete', 'ftpClose', 'ftpChDir', 
+			'FindRQS', 'FindLstn', 'EnvSetVar', 'EnvPathDel', 'EnvPathChk', 'EnvPathAdd', 'EnvListVars', 'EnvGetVar', 'EnvGetInfo', 
+			'EnableRemote', 'EnableLocal', 'ehllapiWait', 'ehllapiVersion', 'ehllapiUninit', 'ehllapiStopKeyIntercept', 'ehllapiStopHostNotify', 
+			'ehllapiStopCloseIntercept', 'ehllapiStartKeyIntercept', 'ehllapiStartHostNotify', 'ehllapiStartCloseIntercept', 
+			'ehllapiSetWindowStatus', 'ehllapiSetSessionParams', 'ehllapiSetPSWindowName', 'ehllapiSetCursorLoc', 'ehllapiSendKey', 
+			'ehllapiSendFile', 'ehllapiSearchPS', 'ehllapiSearchField', 'ehllapiRunProfile', 'ehllapiResetSystem', 'ehllapiReserve', 
+			'ehllapiRelease', 'ehllapiReceiveFile', 'ehllapiQuerySystem', 'ehllapiQueryPSStatus', 'ehllapiQueryHostNotify', 
+			'ehllapiQueryFieldAttr', 'ehllapiQueryCursorLoc', 'ehllapiQueryCloseIntercept', 'ehllapiPostInterceptStatus', 
+			'ehllapiPause', 'ehllapiLastErrMsg', 'ehllapiInit', 'ehllapiGetWindowStatus', 'ehllapiGetPSHWND', 'ehllapiGetKey', 
+			'ehllapiFindFieldPos', 'ehllapiFindFieldLen', 'ehllapiDisconnectPS', 'ehllapiCvtRCToPos', 'ehllapiCvtPosToRC', 
+			'ehllapiCopyTextToPS', 'ehllapiCopyTextToField', 'ehllapiCopyTextFromPS', 'ehllapiCopyTextFromField', 'ehllapiCopyOIA', 
+			'ehllapiConnectPS', 'dunItemize', 'dunDisconnect', 'dunConnectEx', 'dunConnect', 'dsTestParam', 'dsSIDtoHexStr', 'dsSetSecProp', 
+			'dsSetProperty', 'dsSetPassword', 'dsSetObj', 'dsSetCredentX', 'dsSetCredent', 'dsRemFromGrp', 'dsRelSecObj', 'dsMoveObj', 
+			'dsIsObject', 'dsIsMemberGrp', 'dsIsContainer', 'dsGetUsersGrps', 'dsGetSecProp', 'dsGetPropName', 'dsGetProperty', 
+			'dsGetPrntPath', 'dsGetPrimGrp', 'dsGetMemGrp', 'dsGetInfo', 'dsGetClass', 'dsGetChldPath', 'dsFindPath', 'dsDeleteObj', 
+			'dsCreatSecObj', 'dsCreateObj', 'dsCopySecObj', 'dsAddToGrp', 'dsAclRemAce', 'dsAclOrderAce', 'dsAclGetAces', 'dsAclAddAce', 
+			'DevClearList', 'DevClear', 'dbTest', 'dbSwapColumns', 'dbSort', 'dbSetRecordField', 'dbSetOptions', 'dbSetErrorReporting', 
+			'dbSetEntireRecord', 'dbSetDelimiter', 'dbSave', 'dbOpen', 'dbNameColumn', 'dbMakeNewItem', 'dbInsertColumn', 'dbGetVersion', 
+			'dbGetSaveStatus', 'dbGetRecordField', 'dbGetRecordCount', 'dbGetNextItem', 'dbGetLastError', 'dbGetEntireRecord', 
+			'dbGetColumnType', 'dbGetColumnNumber', 'dbGetColumnName', 'dbGetColumnCount', 'dbFindRecord', 'dbExist', 'dbEasterEgg', 
+			'dbDeleteRecord', 'dbDeleteColumn', 'dbDebug', 'dbCookDatabases', 'dbClose', 'dbCloneRecord', 'dbBindCol', 'cWndState', 
+			'cWndinfo', 'cWndGetWndSpecName', 'cWndGetWndSpec', 'cWndexist', 'cWndByWndSpecName', 'cWndByWndSpec', 'cWndbyseq', 
+			'cWndbyname', 'cWndbyid', 'cWndbyclass', 'cWinIDConvert', 'cVersionInfo', 'cVendorId', 'cSetWndText', 'cSetUpDownPos', 
+			'cSetTvItem', 'cSetTrackPos', 'cSetTabItem', 'cSetLvItem', 'cSetLbItemEx', 'cSetLbItem', 'cSetIpAddr', 'cSetFocus', 
+			'cSetEditText', 'cSetDtpDate', 'cSetCbItem', 'cSetCalDate', 'cSendMessage', 'cRadioButton', 'cPostMessage', 'cPostButton', 
+			'cMemStat', 'cGetWndCursor', 'cGetUpDownPos', 'cGetUpDownMin', 'cGetUpDownMax', 'cGetTVItem', 'cGetTrackPos', 'cGetTrackMin', 
+			'cGetTrackMax', 'cGetTbText', 'cGetSbText', 'cGetLvText', 'cGetLvSelText', 'cGetLvFocText', 'cGetLvDdtText', 'cGetLvColText', 
+			'cGetLbText', 'cGetLbSelText', 'cGetLbCount', 'cGetIpAddr', 'cGetInfo', 'cGetHrText', 'cGetFocus', 'cGetEditText', 'cGetDtpDate', 
+			'cGetControlImageCRC', 'cGetCBText', 'cGetCbCount', 'cGetCalDate', 'cFindByName', 'cFindByClass', 'cEnablestate', 'cDblClickItem', 
+			'cCpuSupt', 'cCpuSpeed', 'cCpuIdExt', 'cCpuId', 'cCpuFeat', 'cCpuBenchmark', 'cCloneCheck', 'cClickToolbar', 'cClickButton', 
+			'cClearTvItem', 'cClearLvItem', 'cClearLbAll', 'cCheckbox', 'aVersion', 'aStatusbar', 'aShellFolder', 'aMsgTimeout', 'AllSPoll', 
+			'aGetLastError', 'aFileRename', 'aFileMove', 'aFileDelete', 'aFileCopy'			
+			),
+		5 => array(
+			'wWordRight', 'wWordLeft', 'wWinTile', 'wWinRestore', 'wWinNext', 'wWinMinimize', 'wWinMaximize', 'wWinCloseAll', 'wWinClose', 
+			'wWinCascade', 'wWinArricons', 'wViewOutput', 'wViewOptions', 'wViewHtml', 'wUpperCase', 'wUpline', 'wUndo', 'wTopOfFile', 'wToggleIns', 
+			'wTab', 'wStatusMsg', 'wStartSel', 'wSpellcheck', 'wSetProject', 'wSetPrefs', 'wSetColblk', 'wSetBookmark', 'wSelWordRight', 
+			'wSelWordLeft', 'wSelUp', 'wSelTop', 'wSelRight', 'wSelPgUp', 'wSelPgDn', 'wSelLeft', 'wSelInfo', 'wSelHome', 'wSelEnd', 'wSelectAll', 
+			'wSelDown', 'wSelBottom', 'wRunRebuild', 'wRunMake', 'wRunExecute', 'wRunDebug', 'wRunConfig', 'wRunCompile', 'wRunCommand', 'wRight', 
+			'wRepeat', 'wRedo', 'wRecord', 'wProperties', 'wPrintDirect', 'wPrinSetup', 'wPrevError', 'wPaste', 'wPageUp', 'wPageDown', 'wNextError', 
+			'wNewLine', 'wLowerCase', 'wLineCount', 'wLeft', 'wInvertCase', 'wInsString', 'wInsLine', 'wHome', 'wHelpKeyword', 'wHelpKeybrd', 
+			'wHelpIndex', 'wHelpHelp', 'wHelpCmds', 'wHelpAbout', 'wGotoLine', 'wGotoCol', 'wGetWrap', 'wGetWord', 'wGetUndo', 'wGetSelstate', 
+			'wGetRedo', 'wGetOutput', 'wGetModified', 'wGetLineNo', 'wGetIns', 'wGetFilename', 'wGetColNo', 'wGetChar', 'wFtpOpen', 'wFindNext', 
+			'wFindInFiles', 'wFind', 'wFileSaveAs', 'wFileSave', 'wFileRevert', 'wFilePrint', 'wFilePgSetup', 'wFileOpen', 'wFileNew', 'wFileMerge', 
+			'wFileList', 'wFileExit', 'wEndSel', 'wEndOfFile', 'wEnd', 'wEdWrap', 'wEdWordRight', 'wEdWordLeft', 'wEdUpLine', 'wEdUndo', 'wEdTopOfFile', 
+			'wEdToggleIns', 'wEdTab', 'wEdStartSel', 'wEdSetColBlk', 'wEdSelectAll', 'wEdRight', 'wEdRedo', 'wEdPaste', 'wEdPageUp', 'wEdPageDown', 
+			'wEdNewLine', 'wEdLeft', 'wEdInsString', 'wEdHome', 'wEdGoToLine', 'wEdGoToCol', 'wEdGetWord', 'wEdEndSel', 'wEdEndOfFile', 'wEdEnd', 
+			'wEdDownLine', 'wEdDelete', 'wEdCutLine', 'wEdCut', 'wEdCopyLine', 'wEdCopy', 'wEdClearSel', 'wEdBackTab', 'wEdBackspace', 'wDownLine', 
+			'wDelete', 'wDelButton', 'wCutMarked', 'wCutLine', 'wCutAppend', 'wCut', 'wCopyMarked', 'wCopyLine', 'wCopyAppend', 'wCopy', 'wCompile', 
+			'wClearSel', 'wChange', 'wCallMacro', 'wBackTab', 'wBackspace', 'wAutoIndent', 'wAddButton', 'edWindowTile', 'edWindowRestore', 
+			'edWindowNext', 'edWindowMinimize', 'edWindowMaximize', 'edWindowCloseall', 'edWindowClose', 'edWindowCascade', 'edWindowArrangeIcons', 
+			'edStatusMsg', 'edSearchViewOutput', 'edSearchRepeat', 'edSearchPrevError', 'edSearchNextError', 'edSearchFind', 'edSearchChange', 
+			'edRunRebuild', 'edRunMake', 'edRunExecute', 'edRunDebug', 'edRunConfigure', 'edRunCompile', 'edRunCommand', 'edRecord', 'edHelpProcedures', 
+			'edHelpKeyword', 'edHelpKeyboard', 'edHelpIndex', 'edHelpHelp', 'edHelpCommands', 'edHelpAbout', 'edGetWordWrapState', 'edGetWindowName', 
+			'edGetUndoState', 'edGetSelectionState', 'edGetRedoState', 'edGetModifiedStatus', 'edGetLineNumber', 'edGetInsertState', 'edGetColumnNumber', 
+			'edGetChar', 'edFileSetPreferences', 'edFileSaveAs', 'edFileSave', 'edFilePrinterSetup', 'edFilePrint', 'edFilePageSetup', 'edFileOpen', 
+			'edFileNew', 'edFileMerge', 'edFileList', 'edFileExit', 'edEditWrap', 'edEditWordRight', 'edEditWordLeft', 'edEditUpLine', 'edEditUndo', 
+			'edEditToggleIns', 'edEditTab', 'edEditStartSelection', 'edEditSetColumnBlock', 'edEditSetBookmark', 'edEditSelectAll', 'edEditRight', 
+			'edEditRedo', 'edEditPaste', 'edEditPageUp', 'edEditPageDown', 'edEditLeft', 'edEditInsertString', 'edEditGoToLine', 'edEditGoToColumn', 
+			'edEditGoToBookmark', 'edEditGetCurrentWord', 'edEditEndSelection', 'edEditEndOfLine', 'edEditEndOfFile', 'edEditDownline', 'edEditDelete', 
+			'edEditCutline', 'edEditCut', 'edEditCopyline', 'edEditCopy', 'edEditClearSelection', 'edEditBeginningOfLine', 'edEditBeginningOfFile', 
+			'edEditBackTab', 'edEditBackspace', 'edDeleteButton', 'edAddButton'
+			)									
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '!', '+', '-', '~', '$', '^', '?', '@', '%', '#', '&', '*', '|', '/', '<', '>'	
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #800080;',
+			2 => 'color: #0080FF; font-weight: bold;',
+			3 => 'color: #0000FF;',
+			4 => 'color: #FF00FF;',
+			5 => 'color: #008000;'					
+			),	
+		'COMMENTS' => array(
+			1 => 'color: #008000; font-style: italic;',
+			2 => 'color: #FF1010; font-weight: bold;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			0 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => '',
+		5 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTER' => '',
+	'REGEXPS' => array(
+		0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+		),
+	'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+ 
+?>
+
+
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi/xml.php 0.763/modules/pn_bbcode/pnincludes/geshi/xml.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi/xml.php	2005-12-14 16:35:54.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi/xml.php	2006-10-17 16:24:08.000000000 -0500
@@ -4,15 +4,17 @@
  * -------
  * Author: Nigel McNie (oracle.shinoda@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.5
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.7.13
+ * CVS Revision Version: $Revision: 105 $
  * Date Started: 2004/09/01
- * Last Modified: $Date: 2005/12/14 22:35:54 $
+ * Last Modified: $Date: 2006-09-05 22:17:24 +0100 (Tue, 05 Sep 2006) $
  *
  * XML language file for GeSHi. Based on the idea/file by Christian Weiske
  *
  * CHANGES
  * -------
+ * 2005/12/28 (1.0.2)
+ *   -  Removed escape character for strings
  * 2004/11/27 (1.0.1)
  *   -  Added support for multiple object splitters
  * 2004/10/27 (1.0.0)
@@ -48,7 +50,7 @@
 	'COMMENT_MULTI' => array('<!--' => '-->'),
 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
 	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
+	'ESCAPE_CHAR' => '',
 	'KEYWORDS' => array(
 		),
 	'SYMBOLS' => array(
@@ -105,14 +107,14 @@
 			GESHI_AFTER => '\\4'
 			),
 		1 => array(
-			GESHI_SEARCH => '(&lt;/?[a-z0-9_]*(&gt;)?)',
+			GESHI_SEARCH => '(&lt;[/?|(\?xml)]?[a-z0-9_\-]*(\??&gt;)?)',
 			GESHI_REPLACE => '\\1',
 			GESHI_MODIFIERS => 'i',
 			GESHI_BEFORE => '',
 			GESHI_AFTER => ''
 			),
 		2 => array(
-			GESHI_SEARCH => '((/)?&gt;)',
+			GESHI_SEARCH => '(([/|\?])?&gt;)',
 			GESHI_REPLACE => '\\1',
 			GESHI_MODIFIERS => 'i',
 			GESHI_BEFORE => '',
diff -ruN 0.762/modules/pn_bbcode/pnincludes/geshi.php 0.763/modules/pn_bbcode/pnincludes/geshi.php
--- 0.762/modules/pn_bbcode/pnincludes/geshi.php	2005-12-14 16:35:53.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnincludes/geshi.php	2006-10-17 16:24:08.000000000 -0500
@@ -2,11 +2,12 @@
 /**
  * GeSHi - Generic Syntax Highlighter
  * 
- * The GeSHi class for Generic Syntax Highlighting. Please refer to the documentation
- * at http://qbnz.com/highlighter/documentation.php for more information about how to
- * use this class.
+ * The GeSHi class for Generic Syntax Highlighting. Please refer to the
+ * documentation at http://qbnz.com/highlighter/documentation.php for more
+ * information about how to use this class.
  *
- * For changes, release notes, TODOs etc, see the relevant files in the docs/ directory
+ * For changes, release notes, TODOs etc, see the relevant files in the docs/
+ * directory.
  *
  *   This file is part of GeSHi.
  *
@@ -28,7 +29,7 @@
  * @author    Nigel McNie <nigel@geshi.org>
  * @copyright Copyright &copy; 2004, 2005, Nigel McNie
  * @license   http://gnu.org/copyleft/gpl.html GNU GPL
- * @version   $Id: geshi.php,v 1.4 2005/12/14 22:35:53 landseer Exp $
+ * @version   $Id: geshi.php 107 2006-09-05 21:19:33Z landseer $
  *
  */
 
@@ -40,10 +41,7 @@
 //
 
 /** The version of this GeSHi file */
-define('GESHI_VERSION', '1.0.7.5');
-
-/** For the future (though this may never be realised) */
-define('GESHI_OUTPUT_HTML', 0);
+define('GESHI_VERSION', '1.0.7.13');
 
 /** Set the correct directory separator */
 define('GESHI_DIR_SEPARATOR', ('WIN' != substr(PHP_OS, 0, 3)) ? '/' : '\\');
@@ -126,12 +124,17 @@
 /** The key of the regex array defining what bracket group in a
     matched search to put after the replacement */ 
 define('GESHI_AFTER', 4);
+/** The key of the regex array defining a custom keyword to use
+    for this regexp's html tag class */
+define('GESHI_CLASS', 5);
 
 /** Used in language files to mark comments */
 define('GESHI_COMMENTS', 0);
 
 // Error detection - use these to analyse faults
-/** No sourcecode to highlight was specified */
+/** No sourcecode to highlight was specified
+ * @deprecated
+ */
 define('GESHI_ERROR_NO_INPUT', 1);
 /** The language specified does not exist */
 define('GESHI_ERROR_NO_SUCH_LANG', 2);
@@ -196,7 +199,7 @@
      * @var array
      */
     var $error_messages = array(
-        GESHI_ERROR_NO_INPUT => 'No source code inputted',
+        //GESHI_ERROR_NO_INPUT => 'No source code inputted',
         GESHI_ERROR_NO_SUCH_LANG => 'GeSHi could not find the language {LANGUAGE} (using path {PATH})',
         GESHI_ERROR_FILE_NOT_READABLE => 'The file specified for load_from_file was not readable',
         GESHI_ERROR_INVALID_HEADER_TYPE => 'The header type specified is invalid',
@@ -224,6 +227,7 @@
      *   a &lt;pre&gt; HTML element.</li>
      *   <li><b>GESHI_HEADER_DIV</b>: Source is outputted in
      *   a &lt;div&gt; HTML element.</li>
+     *   <li><b>GESHI_HEADER_NONE</b>: No header is outputted.</li>
      * </ul>
      * 
      * @var int
@@ -391,12 +395,6 @@
      */
 	var $encoding = 'ISO-8859-1';
 
-	/**
-     * Unused (planned for future)
-     * @var int
-	 */
-	var $output_format = GESHI_OUTPUT_HTML;
-
     /**#@-*/
 
 	/**
@@ -415,7 +413,7 @@
 	 */
 	function GeSHi ($source, $language, $path = '')
 	{
-		$this->set_source($source);
+        $this->set_source($source);
         $this->set_language_path($path);
         $this->set_language($language);
 	}
@@ -466,10 +464,8 @@
 	 */
 	function set_source ($source)
 	{
-        if ('' == trim($source)) {
-            $this->error = GESHI_ERROR_NO_INPUT;
-        }
 		$this->source = $source;
+        $this->highlight_extra_lines = array();
 	}
 
 	/**
@@ -510,7 +506,8 @@
 	function set_language_path ($path)
 	{
         if ($path) {
-		  $this->language_path = ('/' == substr($path, strlen($path) - 1, 1)) ? $path : $path . '/';
+			$this->language_path = ('/' == substr($path, strlen($path) - 1, 1)) ? $path : $path . '/';
+			$this->set_language($this->language);	    // otherwise set_language_path has no effect
         }
 	}
 
@@ -535,6 +532,10 @@
             return;
         }
 		$this->header_type = $type;
+        // Set a default overall style if the header is a <div>
+        if (GESHI_HEADER_DIV == $type && !$this->overall_style) {
+            $this->overall_style = 'font-family: monospace;';
+        }
 	}
 
 	/**
@@ -577,7 +578,7 @@
 	 */
 	function set_overall_id ($id)
 	{
-		$this->overall_id = $id;
+        $this->overall_id = $id;
 	}
 
 	/**
@@ -1087,6 +1088,7 @@
 				'c_mac' => array('c'),
 				'caddcl' => array(),
 				'cadlisp' => array(),
+                'cdfg' => array('cdfg'),
 				'cpp' => array('cpp'),
 				'csharp' => array(),
 				'css' => array('css'),
@@ -1106,6 +1108,7 @@
 				'php' => array('php', 'php5', 'phtml', 'phps'),
 				'python' => array('py'),
 				'qbasic' => array('bi'),
+                'sas' => array('sas'),
 				'smarty' => array(),
 				'vb' => array('bas'),
 				'vbnet' => array(),
@@ -1406,22 +1409,17 @@
 
 		// Firstly, if there is an error, we won't highlight
 		if ($this->error) {
-			$result = $this->header();
-			if ($this->header_type != GESHI_HEADER_PRE) {
-				$result .= $this->indent(@htmlspecialchars($this->source, ENT_COMPAT, $this->encoding));
-			} else {
-				$result .= @htmlspecialchars($this->source, ENT_COMPAT, $this->encoding);
-			}
-			// Stop Timing
-			$this->set_time($start_time, microtime());
-			return $result . $this->footer();
+            $result = @htmlspecialchars($this->source, ENT_COMPAT, $this->encoding);
+			// Timing is irrelevant
+			$this->set_time($start_time, $start_time);
+			return $this->finalise($result);
 		}
 
-		// Add spaces for regular expression matching and line numbers
-		$code = ' ' . $this->source . ' ';
 		// Replace all newlines to a common form.
-		$code = str_replace("\r\n", "\n", $code);
+		$code = str_replace("\r\n", "\n", $this->source);
 		$code = str_replace("\r", "\n", $code);
+        // Add spaces for regular expression matching and line numbers
+        $code = "\n" . $code . "\n";
 
 		// Initialise various stuff
 		$length           = strlen($code);
@@ -1433,6 +1431,7 @@
 		$HIGHLIGHTING_ON  = ( !$this->strict_mode ) ? true : '';
 		// Whether to highlight inside a block of code
 		$HIGHLIGHT_INSIDE_STRICT = false;
+		$HARDQUOTE_OPEN = false;
 		$stuff_to_parse   = '';
 		$result           = '';
 
@@ -1541,6 +1540,7 @@
 					for ($i = 0; $i < $length; $i++) {
 						// Get the next char
 						$char = substr($part, $i, 1);
+				        $hq = isset($this->language_data['HARDQUOTE']) ? $this->language_data['HARDQUOTE'][0] : false;
 						// Is this char the newline and line numbers being used?
 						if (($this->line_numbers != GESHI_NO_LINE_NUMBERS
                             || count($this->highlight_extra_lines) > 0)
@@ -1562,12 +1562,29 @@
                             // A match of a string delimiter
 							if (($this->lexic_permissions['ESCAPE_CHAR'] && $ESCAPE_CHAR_OPEN) ||
                                 ($this->lexic_permissions['STRINGS'] && !$ESCAPE_CHAR_OPEN)) {
-								$char .= '</span>';
+								$char = htmlspecialchars($char, ENT_COMPAT, $this->encoding) . '</span>';
 							}
+						    $escape_me = false;
+    						if ($HARDQUOTE_OPEN)
+	    					{
+	    						if ($ESCAPE_CHAR_OPEN)
+								$escape_me = true;
+		    					else {
+			    					foreach ($this->language_data['HARDESCAPE'] as $hardesc)
+				    				if (substr($part, $i, strlen($hardesc)) == $hardesc)
+					    			{
+						    			$escape_me = true;
+							    		break;
+							    	}
+							    }
+						    }
 							if (!$ESCAPE_CHAR_OPEN) {
 								$STRING_OPEN = '';
 								$CLOSE_STRING = true;
 							}
+						    if (!$escape_me) {
+						    	$HARDQUOTE_OPEN = false;
+						    }
 							$ESCAPE_CHAR_OPEN = false;
 						} elseif (in_array($char, $this->language_data['QUOTEMARKS']) &&
                             ($STRING_OPEN == '') && $this->lexic_permissions['STRINGS']) {
@@ -1578,15 +1595,43 @@
 							} else {
 								$attributes = ' class="st0"';
 							}
-							$char = "<span$attributes>" . $char;
+							$char = "<span$attributes>" . htmlspecialchars($char, ENT_COMPAT, $this->encoding);
 
 							$result .= $this->parse_non_string_part( $stuff_to_parse );
 							$stuff_to_parse = '';
-						} elseif (($char == $this->language_data['ESCAPE_CHAR']) && ($STRING_OPEN != '')) {
+    				    } elseif (
+    					$hq &&
+    					substr($part, $i, strlen($hq)) == $hq &&
+    					($STRING_OPEN == '') && $this->lexic_permissions['STRINGS']
+    				    )
+    				    {
+    					// The start of a hard quoted string
+    					$STRING_OPEN = $this->language_data['HARDQUOTE'][1];
+    					if (!$this->use_classes) {
+    					    $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"';
+    					} else {
+    					    $attributes = ' class="st0"';
+    					}
+    					$char = "<span$attributes>" . $hq;
+    					$i += strlen($hq) - 1;
+    					$HARDQUOTE_OPEN = true;
+    					$result .= $this->parse_non_string_part( $stuff_to_parse );
+    					$stuff_to_parse = '';
+    				    } elseif ($char == $this->language_data['ESCAPE_CHAR'] && $STRING_OPEN != '')
+    				    {
                             // An escape character
 							if (!$ESCAPE_CHAR_OPEN) {
+    							$ESCAPE_CHAR_OPEN = !$HARDQUOTE_OPEN;  // true unless $HARDQUOTE_OPEN
+    							if ($HARDQUOTE_OPEN)
+    								foreach ($this->language_data['HARDESCAPE'] as $hard)
+    								{
+    									if (substr($part, $i, strlen($hard)) == $hard)
+    									{
 								$ESCAPE_CHAR_OPEN = true;
-								if ($this->lexic_permissions['ESCAPE_CHAR']) {
+    										break;
+    									}
+    								}
+    							if ($ESCAPE_CHAR_OPEN && $this->lexic_permissions['ESCAPE_CHAR']) {
 									if (!$this->use_classes) {
 										$attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][0] . '"';
 									} else {
@@ -1763,7 +1808,7 @@
 		$result .= $this->parse_non_string_part($stuff_to_parse);
 
 		// Lop off the very first and last spaces
-		$result = substr($result, 1, strlen($result) - 1);
+		$result = substr($result, 1, -1);
 
 		// Are we still in a string?
 		if ($STRING_OPEN) {
@@ -1794,14 +1839,13 @@
                     if (false === strpos($line, "\t")) {
                         $lines[$key] = $line;
                         continue;
-                    }//echo 'checking line ' . $key . '<br />';
-
+                    }
+                    
                     $pos = 0;
                     $tab_width = $this->tab_width;
                     $length = strlen($line);
                     $result_line = '';
 
-                    //echo '<pre>line: ' . htmlspecialchars($line) . '</pre>';
                     $IN_TAG = false;
                     for ($i = 0; $i < $length; $i++) {
                         $char = substr($line, $i, 1);
@@ -1820,13 +1864,10 @@
                             $IN_TAG = true;
                             $result_line .= '<';
                             ++$pos;
-                        } elseif (!$IN_TAG && '&' == $char) {
-                            //echo "matched &amp; in line... ";
-                            $substr = substr($line, $i + 3, 4);
+                        } elseif (!$IN_TAG && '&' == $char) {                            $substr = substr($line, $i + 3, 4);
                             //$substr_5 = substr($line, 5, 1);
                             $posi = strpos($substr, ';');
                             if (false !== $posi) {
-                                //echo "found entity at $posi\n";
                                 $pos += $posi + 3;
                             }
                             $result_line .= '&';
@@ -1839,7 +1880,6 @@
                             //  3 => '&nbsp; &nbsp;' etc etc
                             // to use instead of building a string every time
                             $strs = array(0 => '&nbsp;', 1 => ' ');
-                            //echo "building (pos=$pos i=$i) (" . ($i - $pos) . ") " . ($tab_width - (($i - $pos) % $tab_width)) . " spaces\n";
                             for ($k = 0; $k < ($tab_width - (($i - $pos) % $tab_width)); $k++) $str .= $strs[$k % 2];
                             $result_line .= $str;
                             //$pos--;
@@ -1848,7 +1888,6 @@
 
                             if (false === strpos($line, "\t", $i + 1)) {
                                 //$lines[$key] = $result_line;
-                                //echo 'got here';
                                 $result_line .= substr($line, $i + 1);
                                 break;
                             }
@@ -1912,14 +1951,23 @@
 			// There is a base group for this keyword
 			if ($start_or_end == 'BEGIN') {
 				// HTML workaround... not good form (tm) but should work for 1.0.X
-				$keyword = ( substr($keyword, 0, 4) == '&lt;' ) ? substr($keyword, 4) : $keyword;
-				$keyword = ( substr($keyword, -4) == '&gt;' ) ? substr($keyword, 0, strlen($keyword) - 4) : $keyword;
 				if ($keyword != '') {
-					$keyword = ( $this->language_data['CASE_SENSITIVE'][$group] ) ? $keyword : strtolower($keyword);
+                    // Old system: strtolower
+					//$keyword = ( $this->language_data['CASE_SENSITIVE'][$group] ) ? $keyword : strtolower($keyword);
+                    // New system: get keyword from language file to get correct case
+                    foreach ($this->language_data['KEYWORDS'][$group] as $word) {
+                        if (strtolower($word) == strtolower($keyword)) {
+                            break;
+                        }
+                    }
+                    $word = ( substr($word, 0, 4) == '&lt;' ) ? substr($word, 4) : $word;
+                    $word = ( substr($word, -4) == '&gt;' ) ? substr($word, 0, strlen($word) - 4) : $word;
+                    if (!$word) return '';
+                    
 					return '<|UR1|"' .
                         str_replace(
                             array('{FNAME}', '.'),
-                            array(@htmlspecialchars($keyword, ENT_COMPAT, $this->encoding), '<DOT>'),
+                            array(@htmlspecialchars($word, ENT_COMPAT, $this->encoding), '<DOT>'),
                             $this->language_data['URLS'][$group]
                         ) . '">';
 				}
@@ -1942,8 +1990,8 @@
 	 */
 	function parse_non_string_part (&$stuff_to_parse)
 	{
-		$stuff_to_parse = ' ' . quotemeta(@htmlspecialchars($stuff_to_parse, ENT_COMPAT, $this->encoding));
-		// These vars will disappear in the future
+		$stuff_to_parse = ' ' . @htmlspecialchars($stuff_to_parse, ENT_COMPAT, $this->encoding);
+        $stuff_to_parse_pregquote = preg_quote($stuff_to_parse, '/');
 		$func = '$this->change_case';
 		$func2 = '$this->add_url_to_keyword';
 
@@ -1954,14 +2002,14 @@
 			if ($this->lexic_permissions['REGEXPS'][$key]) {
 				if (is_array($regexp)) {
 					$stuff_to_parse = preg_replace(
-                        "#" .
-                        $regexp[GESHI_SEARCH] .
-                        "#{$regexp[GESHI_MODIFIERS]}",
+                        "/" .
+                        str_replace('/', '\/', $regexp[GESHI_SEARCH]) .
+                        "/{$regexp[GESHI_MODIFIERS]}",
                         "{$regexp[GESHI_BEFORE]}<|!REG3XP$key!>{$regexp[GESHI_REPLACE]}|>{$regexp[GESHI_AFTER]}",
                         $stuff_to_parse
                     );
 				} else {
-					$stuff_to_parse = preg_replace( "#(" . $regexp . ")#", "<|!REG3XP$key!>\\1|>", $stuff_to_parse);
+					$stuff_to_parse = preg_replace( "/(" . str_replace('/', '\/', $regexp) . ")/", "<|!REG3XP$key!>\\1|>", $stuff_to_parse);
 				}
 			}
 		}
@@ -1972,10 +2020,15 @@
 		// almost exactly the same thing, except the second one prevents a number
 		// being highlighted twice (eg <span...><span...>5</span></span>)
 		// Put /NUM!/ in for the styles, which gets replaced at the end.
+        //
+        // NEW ONE: Brice Bernard
+        // $stuff_to_parse = preg_replace('/([^(\\w|#|\\\|"|\')])(\\d+)/', '\\1<|/NUM!/>\\2|>', $stuff_to_parse);
+        //$stuff_to_parse = preg_replace('/([-+]?\\b(?:[0-9]*\\.)?[0-9]+\\b)/', '<|/NUM!/>\\1|>', $stuff_to_parse);
 		//
 		if ($this->lexic_permissions['NUMBERS'] && preg_match('#[0-9]#', $stuff_to_parse )) {
-			$stuff_to_parse = preg_replace('#([^a-zA-Z0-9\#])([0-9]+)([^a-zA-Z0-9])#', "\\1<|/NUM!/>\\2|>\\3", $stuff_to_parse);
-			$stuff_to_parse = preg_replace('#([^a-zA-Z0-9\#>])([0-9]+)([^a-zA-Z0-9])#', "\\1<|/NUM!/>\\2|>\\3", $stuff_to_parse);
+			//$stuff_to_parse = preg_replace('#([^a-zA-Z0-9_\#])([0-9]+)([^a-zA-Z0-9])#', "\\1<|/NUM!/>\\2|>\\3", $stuff_to_parse);
+			//$stuff_to_parse = preg_replace('#([^a-zA-Z0-9_\#>])([0-9]+)([^a-zA-Z0-9])#', "\\1<|/NUM!/>\\2|>\\3", $stuff_to_parse);
+            $stuff_to_parse = preg_replace('/([-+]?\\b(?:[0-9]*\\.)?[0-9]+\\b)/', '<|/NUM!/>\\1|>', $stuff_to_parse);
 		}
 
 		// Highlight keywords
@@ -1984,31 +2037,32 @@
 			foreach ($this->language_data['KEYWORDS'] as $k => $keywordset) {
 				if ($this->lexic_permissions['KEYWORDS'][$k]) {
 					foreach ($keywordset as $keyword) {
-						$keyword = quotemeta($keyword);
+						$keyword = preg_quote($keyword, '/');
 						//
 						// This replacement checks the word is on it's own (except if brackets etc
 						// are next to it), then highlights it. We don't put the color=" for the span
 						// in just yet - otherwise languages with the keywords "color" or "or" have
 						// a fit.
 						//
-						if (false !== stristr($stuff_to_parse, $keyword )) {
+						if (false !== stristr($stuff_to_parse_pregquote, $keyword )) {
 							$stuff_to_parse .= ' ';
 							// Might make a more unique string for putting the number in soon
 							// Basically, we don't put the styles in yet because then the styles themselves will
 							// get highlighted if the language has a CSS keyword in it (like CSS, for example ;))
 							$styles = "/$k/";
-							$keyword = quotemeta($keyword);
 							if ($this->language_data['CASE_SENSITIVE'][$k]) {
 								$stuff_to_parse = preg_replace(
-                                    "#([^a-zA-Z0-9\$_\|\#;>])($keyword)([^a-zA-Z0-9_<\|%\-&])#e",
-                                    "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END') . '\\3'",
+                                    "/([^a-zA-Z0-9\$_\|\#;>|^])($keyword)(?=[^a-zA-Z0-9_<\|%\-&])/e",
+                                    "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END')",
                                     $stuff_to_parse
                                 );
 							} else {
 								// Change the case of the word.
+                                // hackage again... must... release... 1.2...
+                                if ('smarty' == $this->language) { $hackage = '\/'; } else { $hackage = ''; }
 								$stuff_to_parse = preg_replace(
-                                    "#([^a-zA-Z0-9\$_\|\#;>])($keyword)([^a-zA-Z0-9_<\|%\-&])#ie",
-                                    "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END') . '\\3'",
+                                    "/([^a-zA-Z0-9\$_\|\#;>$hackage|^])($keyword)(?=[^a-zA-Z0-9_<\|%\-&])/ie",
+                                    "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END')",
                                     $stuff_to_parse
                                 );
 							}
@@ -2050,7 +2104,7 @@
 					} else {
 						$attributes = ' class="me' . $key . '"';
 					}
-					$stuff_to_parse = preg_replace("#(" . quotemeta($this->language_data['OBJECT_SPLITTERS'][$key]) . "[\s]*)([a-zA-Z\*\(][a-zA-Z0-9_\*]*)#", "\\1<|$attributes>\\2|>", $stuff_to_parse);
+					$stuff_to_parse = preg_replace("/(" . preg_quote($this->language_data['OBJECT_SPLITTERS'][$key], 1) . "[\s]*)([a-zA-Z\*\(][a-zA-Z0-9_\*]*)/", "\\1<|$attributes>\\2|>", $stuff_to_parse);
 				}
 			}
 		}
@@ -2093,7 +2147,13 @@
 				if (!$this->use_classes) {
 					$attributes = ' style="' . $this->language_data['STYLES']['REGEXPS'][$key] . '"';
 				} else {
-					$attributes = ' class="re' . $key . '"';
+                   if(is_array($this->language_data['REGEXPS'][$key]) &&
+                            array_key_exists(GESHI_CLASS, $this->language_data['REGEXPS'][$key])) {
+                        $attributes = ' class="'
+                            . $this->language_data['REGEXPS'][$key][GESHI_CLASS] . '"';
+                    } else {
+					   $attributes = ' class="re' . $key . '"';
+                    }
 				}
 				$stuff_to_parse = str_replace("!REG3XP$key!", "$attributes", $stuff_to_parse);
 			}
@@ -2119,7 +2179,7 @@
 		$stuff_to_parse = str_replace('<|', '<span', $stuff_to_parse);
 		$stuff_to_parse = str_replace ( '|>', '</span>', $stuff_to_parse );
 
-		return substr(stripslashes($stuff_to_parse), 1);
+		return substr($stuff_to_parse, 1);
 	}
 
 	/**
@@ -2156,6 +2216,7 @@
 	 */
 	function load_language ($file_name)
 	{
+        $this->enable_highlighting();
         $language_data = array();
 		require $file_name;
 		// Perhaps some checking might be added here later to check that
@@ -2176,7 +2237,6 @@
         foreach ($this->language_data['REGEXPS'] as $key => $regexp) {
             $this->lexic_permissions['REGEXPS'][$key] = true;
         }
-		$this->enable_highlighting();
 		// Set default class for CSS
 		$this->overall_class = $this->language;
 	}
@@ -2205,6 +2265,16 @@
             $parsed_code = $this->indent($parsed_code);
         }
         
+        // purge some unnecessary stuff
+        $parsed_code = preg_replace('#<span[^>]+>(\s*)</span>#', '\\1', $parsed_code);
+        $parsed_code = preg_replace('#<div[^>]+>(\s*)</div>#', '\\1', $parsed_code);
+
+        // If we are using IDs for line numbers, there needs to be an overall
+        // ID set to prevent collisions.
+        if ($this->add_ids && !$this->overall_id) {
+            $this->overall_id = 'geshi-' . substr(md5(microtime()), 0, 4);
+        }
+        
         // If we're using line numbers, we insert <li>s and appropriate
         // markup to style them (otherwise we don't need to do anything)
         if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
@@ -2216,18 +2286,24 @@
             // Set vars to defaults for following loop
             $parsed_code = '';
             $i = 0;
+            $attrs = array();
+                        
             // Foreach line...
-            foreach ($code as $line) {
-                $line = ( $line ) ? $line : '&nbsp;';
+            foreach ($code as $line) {//echo "LINE:|".htmlspecialchars($line)."| ".strlen($line)."<br />\n";
+                if ('' == $line || ' ' == $line) {
+                    $line = '&nbsp;';
+                }
                 // If this is a "special line"...
         	    if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
                     $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
             		// Set the attributes to style the line
                     if ($this->use_classes) {
-            			$attr = ' class="li2"';
+            			//$attr = ' class="li2"';
+                        $attrs['class'][] = 'li2';
             			$def_attr = ' class="de2"';
                     } else {
-            			$attr = ' style="' . $this->line_style2 . '"';
+            			//$attr = ' style="' . $this->line_style2 . '"';
+                        $attrs['style'][] = $this->line_style2;
             			// This style "covers up" the special styles set for special lines
             			// so that styles applied to special lines don't apply to the actual
             			// code on that line
@@ -2238,10 +2314,12 @@
             		$end = '</div>';
             	} else {
             		if ($this->use_classes) {
-                        $attr = ' class="li1"';
+                        //$attr = ' class="li1"';
+                        $attrs['class'][] = 'li1';
             			$def_attr = ' class="de1"';
             		} else {
-                        $attr = ' style="' . $this->line_style1 . '"';
+                        //$attr = ' style="' . $this->line_style1 . '"';
+                        $attrs['style'][] = $this->line_style1;
             			$def_attr = ' style="' . $this->code_style . '"';
             		}
             		$start = "<div$def_attr>";
@@ -2251,17 +2329,23 @@
             	++$i;
             	// Are we supposed to use ids? If so, add them
             	if ($this->add_ids) {
-            		$attr .= " id=\"{$this->overall_id}-{$i}\"";
+                    $attrs['id'][] = "$this->overall_id-$i";
             	}
             	if ($this->use_classes && in_array($i, $this->highlight_extra_lines)) {
-            		$attr .= " class=\"ln-xtra\"";
+                    $attrs['class'][] = 'ln-xtra';
             	}
             	if (!$this->use_classes && in_array($i, $this->highlight_extra_lines)) {
-            		$attr .= " style=\"{$this->highlight_extra_lines_style}\"";
+                    $attrs['style'][] = $this->highlight_extra_lines_style;
             	}
 
             	// Add in the line surrounded by appropriate list HTML
-            	$parsed_code .= "<li$attr>$start$line$end</li>$ls";
+                $attr_string = ' ';
+                foreach ($attrs as $key => $attr) {
+                    $attr_string .= $key . '="' . implode(' ', $attr) . '" ';
+                }
+                $attr_string = substr($attr_string, 0, -1);
+            	$parsed_code .= "<li$attr_string>$start$line$end</li>$ls";
+                $attrs = array();
         	}
         } else {
             // No line numbers, but still need to handle highlighting lines extra.
@@ -2269,27 +2353,25 @@
             $code = explode("\n", $parsed_code);
             $parsed_code = '';
             $i = 0;
-            foreach ($code as $line)
-            {
+            foreach ($code as $line) {
             	// Make lines have at least one space in them if they're empty
-            	$line = ($line) ? $line : '&nbsp;';
+                if ('' == $line || ' ' == $line) {
+                    $line = '&nbsp;';
+                }
             	if (in_array(++$i, $this->highlight_extra_lines)) {
             		if ($this->use_classes) {
             			$parsed_code .= '<div class="ln-xtra">';
             		} else {
             			$parsed_code .= "<div style=\"{$this->highlight_extra_lines_style}\">";
             		}
-            		$parsed_code .= $line . "</div>\n";
+                    // Remove \n because it stuffs up <pre> header
+            		$parsed_code .= $line . "</div>";
             	} else {
             		$parsed_code .= $line . "\n";
             	}
         	}
         }
-        
-        // purge some unnecessary stuff
-        $parsed_code = preg_replace('#<span[^>]+>(\s*)</span>#', '\\1', $parsed_code);
-        $parsed_code = preg_replace('#<div[^>]+>(\s*)</div>#', '\\1', $parsed_code);
-        
+                
         if ($this->header_type == GESHI_HEADER_PRE) {
         	// enforce line numbers when using pre
             $parsed_code = str_replace('<li></li>', '<li>&nbsp;</li>', $parsed_code);
@@ -2608,7 +2690,15 @@
 		foreach ($this->language_data['STYLES']['REGEXPS'] as $group => $styles) {
 			if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
                 !$this->lexic_permissions['REGEXPS'][$group])) {
-				$stylesheet .= "$selector.re$group {{$styles}}\n";
+                if (is_array($this->language_data['REGEXPS'][$group]) &&
+                         array_key_exists(GESHI_CLASS,
+                                    $this->language_data['REGEXPS'][$group])) {
+                    $stylesheet .= "$selector.";
+                    $stylesheet .= $this->language_data['REGEXPS'][$group][GESHI_CLASS];
+                    $stylesheet .= " {{$styles}}\n";
+                } else {
+				    $stylesheet .= "$selector.re$group {{$styles}}\n";
+                }
 			}
 		}
 
diff -ruN 0.762/modules/pn_bbcode/pninit.php 0.763/modules/pn_bbcode/pninit.php
--- 0.762/modules/pn_bbcode/pninit.php	2005-10-07 07:06:28.000000000 -0500
+++ 0.763/modules/pn_bbcode/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.16 2005/10/07 12:06:28 landseer Exp $
+// $Id: pninit.php 83 2005-10-07 12:06:29Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbcode/pnjavascript/bbcode_common.js 0.763/modules/pn_bbcode/pnjavascript/bbcode_common.js
--- 0.762/modules/pn_bbcode/pnjavascript/bbcode_common.js	2005-08-15 01:37:34.000000000 -0500
+++ 0.763/modules/pn_bbcode/pnjavascript/bbcode_common.js	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------- */
-/* $Id: bbcode_common.js,v 1.2 2005/08/15 06:37:34 landseer Exp $ */
+/* $Id: bbcode_common.js 67 2005-08-15 06:37:34Z landseer $ */
 /* Javascript for inserting text at the cursor position  */
 /* based on a script found on http://de.selfhtml.org     */
 /* original author: Torsten Anacker, torsten@anaboe.net  */
diff -ruN 0.762/modules/pn_bbcode/pnlang/eng/admin.php 0.763/modules/pn_bbcode/pnlang/eng/admin.php
--- 0.762/modules/pn_bbcode/pnlang/eng/admin.php	2005-07-28 08:14:52.000000000 -0500
+++ 0.763/modules/pn_bbcode/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.9 2005/07/28 13:14:52 landseer Exp $
+// $Id: admin.php 64 2005-07-28 13:14:52Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbcode/pnlang/eng/global.php 0.763/modules/pn_bbcode/pnlang/eng/global.php
--- 0.762/modules/pn_bbcode/pnlang/eng/global.php	2005-10-07 07:06:29.000000000 -0500
+++ 0.763/modules/pn_bbcode/pnlang/eng/global.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: global.php,v 1.4 2005/10/07 12:06:29 landseer Exp $
+// $Id: global.php 96 2006-04-18 20:22:43Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -86,7 +86,7 @@
 define('_PNBBCODE_MAIL_HINT', 'insert an email address');
 define('_PNBBCODE_NO', 'No');
 define('_PNBBCODE_NOAUTH', 'No permission');
-define('_PNBBCODE_NOSCRIPTWARNING', 'Your browser does not support javascript or you turned it off. This means that several features on this page will not work as intended');
+define('_PNBBCODE_NOSCRIPTWARNING', 'Your browser does not support javascript or you turned it off. The pn_bbcode interface has been disabled.');
 define('_PNBBCODE_NOSPECIALCODE', 'no special code');
 define('_PNBBCODE_NOTALLOWEDTOSEEEMAILS', '*Not allowed to see emails*');
 define('_PNBBCODE_NOTALLOWEDTOSEEEXTERNALLINKS', '*Not allowed to see the external links*');
diff -ruN 0.762/modules/pn_bbcode/pnlang/eng/init.php 0.763/modules/pn_bbcode/pnlang/eng/init.php
--- 0.762/modules/pn_bbcode/pnlang/eng/init.php	2004-11-09 09:50:20.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnlang/eng/init.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.3 2004/11/09 15:50:20 landseer Exp $
+// $Id: init.php 22 2004-11-09 15:50:21Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbcode/pnlang/eng/userapi.php 0.763/modules/pn_bbcode/pnlang/eng/userapi.php
--- 0.762/modules/pn_bbcode/pnlang/eng/userapi.php	2005-07-28 08:14:52.000000000 -0500
+++ 0.763/modules/pn_bbcode/pnlang/eng/userapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: userapi.php,v 1.8 2005/07/28 13:14:52 landseer Exp $
+// $Id: userapi.php 64 2005-07-28 13:14:52Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbcode/pnstyle/style.css 0.763/modules/pn_bbcode/pnstyle/style.css
--- 0.762/modules/pn_bbcode/pnstyle/style.css	2005-03-06 09:40:49.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnstyle/style.css	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-/* $Id: style.css,v 1.3 2005/03/06 15:40:49 landseer Exp $ */
+/* $Id: style.css 96 2006-04-18 20:22:43Z landseer $ */
 
 h3.bbquoteheader {
 	display: inline;
@@ -70,3 +70,11 @@
     font-size: 25px;
     background-image: none;
 }
+
+.hidden {
+    display: none;
+}
+
+.shown {
+    display: inline;
+}
diff -ruN 0.762/modules/pn_bbcode/pntemplates/plugins/function.bbcodebutton.php 0.763/modules/pn_bbcode/pntemplates/plugins/function.bbcodebutton.php
--- 0.762/modules/pn_bbcode/pntemplates/plugins/function.bbcodebutton.php	2005-06-02 10:34:57.000000000 -0500
+++ 0.763/modules/pn_bbcode/pntemplates/plugins/function.bbcodebutton.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.bbcodebutton.php,v 1.2 2005/06/02 15:34:57 landseer Exp $
+// $Id: function.bbcodebutton.php 57 2005-06-02 15:34:59Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_codeconfig.html 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_codeconfig.html
--- 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_codeconfig.html	2005-03-31 12:13:04.000000000 -0600
+++ 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_codeconfig.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pn_bbcode_admin_codeconfig.html,v 1.5 2005/03/31 18:13:04 larsneo Exp $  *]-->
+<!--[*  $Id: pn_bbcode_admin_codeconfig.html 52 2005-03-31 18:13:05Z larsneo $  *]-->
 
 <!--[ include file=pn_bbcode_admin_menu.html ]-->
 <br />
diff -ruN 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_colorconfig.html 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_colorconfig.html
--- 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_colorconfig.html	2005-03-31 12:13:05.000000000 -0600
+++ 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_colorconfig.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pn_bbcode_admin_colorconfig.html,v 1.2 2005/03/31 18:13:05 larsneo Exp $  *]-->
+<!--[*  $Id: pn_bbcode_admin_colorconfig.html 52 2005-03-31 18:13:05Z larsneo $  *]-->
 
 <!--[ include file=pn_bbcode_admin_menu.html ]-->
 <br />
diff -ruN 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_main.html 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_main.html
--- 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_main.html	2005-10-07 07:06:29.000000000 -0500
+++ 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_main.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pn_bbcode_admin_main.html,v 1.6 2005/10/07 12:06:29 landseer Exp $  *]-->
+<!--[*  $Id: pn_bbcode_admin_main.html 83 2005-10-07 12:06:29Z landseer $  *]-->
 
 <!--[ include file=pn_bbcode_admin_menu.html ]-->
 
diff -ruN 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_menu.html 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_menu.html
--- 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_menu.html	2005-10-07 07:06:29.000000000 -0500
+++ 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_menu.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pn_bbcode_admin_menu.html,v 1.3 2005/10/07 12:06:29 landseer Exp $  *]-->
+<!--[*  $Id: pn_bbcode_admin_menu.html 83 2005-10-07 12:06:29Z landseer $  *]-->
 
 <!--[admincategorymenu]-->
 
diff -ruN 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_quoteconfig.html 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_quoteconfig.html
--- 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_quoteconfig.html	2005-03-31 12:13:05.000000000 -0600
+++ 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_quoteconfig.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pn_bbcode_admin_quoteconfig.html,v 1.5 2005/03/31 18:13:05 larsneo Exp $  *]-->
+<!--[*  $Id: pn_bbcode_admin_quoteconfig.html 52 2005-03-31 18:13:05Z larsneo $  *]-->
 
 <!--[ include file=pn_bbcode_admin_menu.html ]-->
 <br />
diff -ruN 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_sizeconfig.html 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_sizeconfig.html
--- 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_admin_sizeconfig.html	2005-03-31 12:13:05.000000000 -0600
+++ 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_admin_sizeconfig.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pn_bbcode_admin_sizeconfig.html,v 1.2 2005/03/31 18:13:05 larsneo Exp $  *]-->
+<!--[*  $Id: pn_bbcode_admin_sizeconfig.html 52 2005-03-31 18:13:05Z larsneo $  *]-->
 
 <!--[ include file=pn_bbcode_admin_menu.html ]-->
 <br />
diff -ruN 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_user_bbcodes.html 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_user_bbcodes.html
--- 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_user_bbcodes.html	2005-12-03 04:38:35.000000000 -0600
+++ 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_user_bbcodes.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,10 +1,9 @@
-<!--[*  $Id: pn_bbcode_user_bbcodes.html,v 1.8 2005/12/03 10:38:35 larsneo Exp $  *]-->
+<!--[*  $Id: pn_bbcode_user_bbcodes.html 97 2006-05-25 12:18:28Z landseer $  *]-->
 
 <!--[ add_additional_header header=$jsheadercommon ]-->
-<noscript>
-    <p><strong><!--[ pnml name='_PNBBCODE_NOSCRIPTWARNING' ]--></strong></p>
-</noscript>
 
+<div id="bbcode_<!--[ $textfieldid ]-->" class="hidden">
+    
 <div>
 <!--[ if $images ]-->
     <!--[bbcodebutton textfieldid=$textfieldid name="url" titleml=1 title="_PNBBCODE_URL_HINT" key="w" image="bb_url.gif" ]-->
@@ -28,7 +27,7 @@
     <input title="<!--[ pnml name='_PNBBCODE_QUOTE_HINT' ]-->" type="button" accesskey="q" name="quote" value=" <!--[ pnml name='_PNBBCODE_QUOTE' ]--> " style="width: 50px;" onclick="AddBBCode('<!--[ $textfieldid ]-->', 'quote')" />
     <!--[ if count($geshi_languages) neq 0 ]-->
         <!--[ pnml name='_PNBBCODE_CODE' ]-->:
-        <select title="<!--[ pnml name='_PNBBCODE_CODE_HINT' ]-->" name="code_<!--[ $counter ]-->" onchange="AddBBCode('<!--[ $textfieldid ]-->', 'code', this.form.code_<!--[ $counter ]-->.options[this.form.code_<!--[ $counter ]-->.selectedIndex].value)">
+        <select title="<!--[ pnml name='_PNBBCODE_CODE_HINT' ]-->" id="code_<!--[ $counter ]-->" name="code_<!--[ $counter ]-->" onchange="AddBBCode('<!--[ $textfieldid ]-->', 'code', document.getElementById('code_<!--[ $counter ]-->').options[document.getElementById('code_<!--[ $counter ]-->').selectedIndex].value)">
             <option style="color:black; background-color: #FFFFFF "  value="" selected="selected"><!--[ pnml name='_PNBBCODE_SELECTCODE' ]--></option>
             <option style="color:black; background-color: #FFFFFF "  value=""><!--[ pnml name='_PNBBCODE_NOSPECIALCODE' ]--></option>
             <!--[ foreach item=code from=$geshi_languages ]-->
@@ -49,10 +48,10 @@
     <input title="<!--[ pnml name='_PNBBCODE_UNDERLINE_HINT' ]-->" type="button" accesskey="u" name="underline" value=" <!--[ pnml name='_PNBBCODE_UNDERLINE' ]--> " style="text-decoration: underline; width: 40px;" onclick="AddBBCode('<!--[ $textfieldid ]-->', 'underline')" />
 <!--[ /if ]-->
 </div>
-<div>
 <!--[ if $color_enabled eq "yes" ]-->
+<div>
     <!--[ pnml name='_PNBBCODE_FONTCOLOR' ]-->:
-    <select title="<!--[ pnml name='_PNBBCODE_COLOR_HINT' ]-->" name="fontcolor_<!--[ $counter ]-->" onchange="AddBBCode('<!--[ $textfieldid ]-->', 'color', this.form.fontcolor_<!--[ $counter ]-->.options[this.form.fontcolor_<!--[ $counter ]-->.selectedIndex].value)">
+    <select title="<!--[ pnml name='_PNBBCODE_COLOR_HINT' ]-->" id="fontcolor_<!--[ $counter ]-->" name="fontcolor_<!--[ $counter ]-->" onchange="AddBBCode('<!--[ $textfieldid ]-->', 'color', document.getElementById('fontcolor_<!--[ $counter ]-->').options[document.getElementById('fontcolor_<!--[ $counter ]-->').selectedIndex].value)">
         <option style="color:black; background-color: #FFFFFF "  value="black"><!--[ pnml name='_PNBBCODE_COLOR_DEFAULT' ]--></option>
 
         <option style="color:darkred; background-color: #DEE3E7" value="darkred"><!--[ pnml name='_PNBBCODE_COLOR_DARKRED' ]--></option>
@@ -77,12 +76,12 @@
 
     <!--[ /if ]-->
     </select>&nbsp;
-<!--[ /if ]-->
 </div>
-<div>
+<!--[ /if ]-->
 <!--[ if $size_enabled eq "yes" ]-->
+<div>
     <!--[ pnml name='_PNBBCODE_FONTSIZE' ]-->:
-    <select title="<!--[ pnml name='_PNBBCODE_SIZE_HINT' ]-->" name="fontsize_<!--[ $counter ]-->" onchange="AddBBCode('<!--[ $textfieldid ]-->', 'size',this.form.fontsize_<!--[ $counter ]-->.options[this.form.fontsize_<!--[ $counter ]-->.selectedIndex].value)">
+    <select title="<!--[ pnml name='_PNBBCODE_SIZE_HINT' ]-->" id="fontsize_<!--[ $counter ]-->" name="fontsize_<!--[ $counter ]-->" onchange="AddBBCode('<!--[ $textfieldid ]-->', 'size', document.getElementById('fontsize_<!--[ $counter ]-->').options[document.getElementById('fontsize_<!--[ $counter ]-->').selectedIndex].value)">
         <option value="tiny"><!--[ pnml name='_PNBBCODE_SIZE_TINY' ]--></option>
         <option value="small"><!--[ pnml name='_PNBBCODE_SIZE_SMALL' ]--></option>
         <option value="normal" selected="selected"><!--[ pnml name='_PNBBCODE_SIZE_NORMAL' ]--></option>
@@ -93,5 +92,18 @@
         <option value="<!--[ pnml name='_PNBBCODE_SIZE_TEXTSIZE' ]-->"><!--[ pnml name='_PNBBCODE_SIZE_DEFINE' ]--></option>
     <!--[ /if ]-->
     </select>
+</div>
 <!--[ /if ]-->
-</div>
\ No newline at end of file
+
+</div>
+
+<script type="text/javascript">
+    var maindiv = document.getElementById('bbcode_<!--[ $textfieldid ]-->');
+    if(maindiv) {
+        maindiv.style.display = 'inline';
+    }
+</script>
+
+<noscript>
+    <p><strong><!--[ pnml name='_PNBBCODE_NOSCRIPTWARNING' ]--></strong></p>
+</noscript>
diff -ruN 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_user_whatisbbcode.html 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_user_whatisbbcode.html
--- 0.762/modules/pn_bbcode/pntemplates/pn_bbcode_user_whatisbbcode.html	2005-01-26 07:02:11.000000000 -0600
+++ 0.763/modules/pn_bbcode/pntemplates/pn_bbcode_user_whatisbbcode.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,173 +1,130 @@
-<!--[*  $Id: pn_bbcode_user_whatisbbcode.html,v 1.1 2005/01/26 13:02:11 landseer Exp $  *]-->
+<!--[*  $Id: pn_bbcode_user_whatisbbcode.html 98 2006-06-21 21:03:51Z landseer $  *]-->
 
-<!--[ pnthemegetvar name=bgcolor1 assign=bgcolor1  ]-->
-<!--[ pnthemegetvar name=bgcolor2 assign=bgcolor2  ]-->
-
-<div style="text-align:center">W H A T &nbsp;&nbsp;&nbsp;&nbsp; I S &nbsp;&nbsp;&nbsp;&nbsp; B B C O D E ?</div>
-<p>BBCode is a variation on the HTML tags you may already be familiar with.  Basically, it allows you to add functionality or style 
-to your message that would normally require HTML.  You can use BBCode even if HTML is not enabled for the forum you are using.  
-You may want to use BBCode as opposed to HTML, even if HTML is enabled for your forum, because there is less coding required and it 
+<h2>What is BBCode?</h2>
+<p>BBCode is a variation on the HTML tags you may already be familiar with.  Basically, it allows you to add functionality or style
+to your message that would normally require HTML.  You can use BBCode even if HTML is not enabled for the forum you are using.
+You may want to use BBCode as opposed to HTML, even if HTML is enabled for your forum, because there is less coding required and it
 is safer to use (incorrect coding syntax will not lead to as many problems).
 </p>
-<strong>Current BBCodes:</strong>
-<table border="0" cellpadding="4" border="0" cellspacing="1" width="100%">
-	<tr style="background-color:<!--[ $bgcolor2 ]-->;">
-		<td>
-			<span style="color:black;">URL Hyperlinking</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor1 ]-->;">
-		<td>
-			<p>NEW! If BBCode is enabled in a forum, you no longer need to use the [URL] code to create a hyperlink.  
-			Simply type the complete URL in either of the following manners and the hyperlink will be created automatically:
-			<span style="color:black;">
-			<ul>
-				<li>http://www.yourURL.com</li>
-				<li>www.yourURL.com</li>
-			</ul>
-			</span>
-			Notice that you can either use the complete http:// address or shorten it to the www domain.  If the site does not begin with "www", 
-			you must use the complete "http://" address.  Also, you may use https and ftp URL prefixes in auto-link mode (when BBCode is ON).</p>
-			<p>
-			The old [URL] code will still work, as detailed below.
-			
-			Just encase the link as shown in the following example (BBCode is in <span style="color:#FF0000">red</span>).
-			<p>
-			<span style="color:red">[url]</span>www.totalgeek.org<span style="color:red">[/url]</span>
-			<p></center>
-			NEW! You can now have true hyperlinks using the [url] code.  Just use the following format:
-			<br /><center>
-			<span style="color:red">[url=http://www.totalgeek.org]</span>totalgeek.org<span style="color:red">[/url]</span>
-			</center><p>
-			In the examples above, the BBCode automatically generates a hyperlink to the URL that is encased.  It will also ensure that the link is opened in a new window when the user clicks on it. Note that the "http://" part of the URL is completely optional. In the second example above, the URL will hypelink the text to whatever URL you provide after the equal sign.  Also note that you should NOT use quotation marks inside the URL tag.
-			</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor2 ]-->;">
-		<td>
-			<span style="color:black;">Email Links</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor1 ]-->;">
-		<td>
-		To add a hyperlinked email address within your message, just encase the email address as shown in the following example 
-		(BBCode is in <span style="color:red">red</span>).
-		<p>
-			<span style="color:red">[email]</span>james@totalgeek.org<span style="color:red">[/email]</span>
-		</p>
-		In the example above, the BBCode automatically generates a hyperlink to the email address that is encased.
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor2 ]-->;">
-		<td>
-			<span style="color:black;">Bold and Italics</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor1 ]-->;">
-		<td>
-			You can make italicized text or make text bold by encasing the applicable sections of your text with either the [b] 
-			[/b] or [i] [/i] tags.
-			<p>Hello, <span style="color:red">[b]</span><strong>James</strong><span style="color:red">[/b]</span><br />
-			Hello, <span style="color:red">[i]</span><I>Mary</I><span style="color:red">[/i]</span></p>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor2 ]-->;">
-		<td>
-			<span style="color:black;">Bullets/Lists</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor1 ]-->;">
-		<td>
-			You can make bulleted lists or ordered lists (by number or letter).<br />
-			Unordered, bulleted list:<br />
-			<span style="color:red">[list]</span><br />
-			<br />
-			<span style="color:red">[*]</span> This is the first bulleted item.<br />
-			<span style="color:red">[*]</span> This is the second bulleted item.<br />
-			<span style="color:red">[/list]</span>
-			<br />
-			This produces:
-			<ul>
-			<li> This is the first bulleted item.</li>
-			<li> This is the second bulleted item.</li>
-			</ul>
-			Note that you must include a closing [/list] when you end each list.<br />
-			Making ordered lists is just as easy.  Just add either [LIST=A] or [LIST=1].  Typing [List=A] will produce a list from A to Z.  
-			Using [List=1] will produce numbered lists.
-			<br />
-			Here's an example:
-			<br />
-			<span style="color:red">[list=A]</span>
-			<br />
-			<span style="color:red">[*]</span> This is the first bulleted item.<br />
-			<span style="color:red">[*]</span> This is the second bulleted item.<br />
-			<span style="color:red">[/list]</span>
-			<br />
-			This produces:
-			<ol type="a">
-			<li>This is the first bulleted item.</li>
-			<li>This is the second bulleted item.</li>
-			</ul>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor2 ]-->;">
-		<td>
-			<span style="color:black;">Adding Images</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor1 ]-->;">
-		<td>
-			To add a graphic within your message, just encase the URL of the graphic image as shown in the following example 
-			(BBCode is in <span style="color:red">red</span>).<br />
-			<span style="color:red">[img]</span>http://www.yoursite.com/images/image.gif<span style="color:red">[/img]</span><br />
-			In the example above, the BBCode automatically makes the graphic visible in your message.  Note: the "http://" part of 
-			the URL is REQUIRED for the <span style="color:red">[img]</span> code.  Also note: some UBB forums may disable the 
-			<span style="color:red">[img]</span> tag support to prevent objectionable images from being viewed.
-			</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor2 ]-->;">
-		<td>
-			<span style="color:black;">Quoting Other Messages</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor1 ]-->;">
-		<td>
-			To reference something specific that someone has posted, just cut and paste the applicable verbiage and enclose it 
-			as shown below (BBCode is in <span style="color:red">red</span>). <span style="color:red">[QUOTE]</span>Ask not what 
-			your country can do for you....<br />ask what you can do for your country.<span style="color:red">[/QUOTE]</span>
-			In the example above, the BBCode automatically blockquotes the text you reference.</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor2 ]-->;">
-		<td>
-			<span style="color:black;">Code Tag</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor1 ]-->;">
-		<td>
-			Similar to the Quote tage, the Code tag adds some &lt;PRE&gt; tags to preserve formatting.  This useful for displaying 
-			programming code, for instance.<br />
-			<br />
-			<span style="color:red">[CODE]</span><p>#!/usr/bin/perl
-			<br />
-			print "Content-type: text/html\n\n";
-			<br />
-			print "Hello World!";
-			</p>
-			<span style="color:red">[/CODE]</span>
-			<br /><br />
-			In the example above, the BBCode automatically blockquotes the text you reference and preserves the formatting of the 
-			coded text.</span>
-		</td>
-	</tr>
-	<tr style="background-color:<!--[ $bgcolor2 ]-->;">
-		<td>
-            Note: You must not use both HTML and BBCode to do the same function.  Also note that the BBCode is not case-sensitive (thus, you could use <span style="color:red">[URL]</span> or <span style="color:red">[url]</span>).<br />
-            <br /><span style="color:black;">Incorrect BBCode Usage:</span><br />
-            <span style="color:red">[url]</span> www.totalgeek.org <span style="color:red">[/url]</span> - don't put spaces between the bracketed 
-            code and the text you are applying the code to.<br />
-            <span style="color:red">[email]</span>james@totalgeek.org<span style="color:red">[email]</span> - the end brackets must include a forward slash (<span style="color:red">[/email]</span>)
-		</td>
-	</tr>
-</table>
+
+<h3>URL Hyperlinking</h3>
+<p>NEW! If BBCode is enabled in a forum, you no longer need to use the [URL] code to create a hyperlink.
+Simply type the complete URL in either of the following manners and the hyperlink will be created automatically:</p>
+<ul>
+    <li>http://www.yourURL.com</li>
+    <li>www.yourURL.com</li>
+
+</ul>
+<p>Notice that you can either use the complete http:// address or shorten it to the www domain.  If the site does not begin with "www",
+you must use the complete "http://" address.  Also, you may use https and ftp URL prefixes in auto-link mode (when BBCode is ON).</p>
+
+<p>The old [URL] code will still work, as detailed below. Just encase the link as shown in the following example
+(BBCode is in <span style="color:#FF0000">red</span>).</p>
+<pre><span style="color:red">[url]</span>www.totalgeek.org<span style="color:red">[/url]</span></pre>
+
+<p>NEW! You can now have true hyperlinks using the [url] code.  Just use the following format:</p>
+<pre><span style="color:red">[url=http://www.totalgeek.org]</span>totalgeek.org<span style="color:red">[/url]</span></pre>
+
+<p>In the examples above, the BBCode automatically generates a hyperlink to the URL that is encased.  It will also ensure that
+the link is opened in a new window when the user clicks on it. Note that the "http://" part of the URL is completely optional.
+In the second example above, the URL will hypelink the text to whatever URL you provide after the equal sign.
+Also note that you should NOT use quotation marks inside the URL tag.</p>
+
+<h3>Email Links</h3>
+<p>To add a hyperlinked email address within your message, just encase the email address as shown in the following example
+(BBCode is in <span style="color:red">red</span>).</p>
+<pre>
+<span style="color:red">[email]</span>james@totalgeek.org<span style="color:red">[/email]</span>
+</pre>
+<p>In the example above, the BBCode automatically generates a hyperlink to the email address that is encased.</p>
+
+<h3>Bold and Italics</h3>
+<p>You can make italicized text or make text bold by encasing the applicable sections of your text with either the [b] [/b]
+or [i] [/i] tags.</p>
+<pre>Hello, <span style="color:red">[b]</span><strong>James</strong><span style="color:red">[/b]</span>
+Hello, <span style="color:red">[i]</span><I>Mary</I><span style="color:red">[/i]</span></pre>
+
+<h3>Bullets/Lists</h3>
+
+<p>You can make bulleted lists or ordered lists (by number or letter).</p>
+
+<h4>Unordered, bulleted list:</h4>
+<pre>
+<span style="color:red">[list]</span>
+<span style="color:red">[*]</span> This is the first bulleted item.
+<span style="color:red">[*]</span> This is the second bulleted item.
+<span style="color:red">[/list]</span>
+</pre>
+
+<p>This produces:</p>
+<ul>
+    <li> This is the first bulleted item.</li>
+    <li> This is the second bulleted item.</li>
+</ul>
+
+<p>Note that you must include a closing [/list] when you end each list.</p>
+
+<h4>Ordered list:</h4>
+
+<p>Making ordered lists is just as easy.  Just add either [LIST=A] or [LIST=1].  Typing [List=A] will produce a list from A to Z.
+Using [List=1] will produce numbered lists.</p>
+<p>Here's an example:</p>
+<pre>
+<span style="color:red">[list=A]</span>
+<span style="color:red">[*]</span> This is the first bulleted item.
+<span style="color:red">[*]</span> This is the second bulleted item.
+<span style="color:red">[/list]</span>
+</pre>
+<p>This produces:</p>
+
+<ol type="a">
+<li>This is the first bulleted item.</li>
+<li>This is the second bulleted item.</li>
+</ol>
+
+<h3>Adding Images</h3>
+<p>To add a graphic within your message, just encase the URL of the graphic image as shown in the following example
+(BBCode is in <span style="color:red">red</span>).</p>
+<pre>
+<span style="color:red">[img]</span>http://www.yoursite.com/images/image.gif<span style="color:red">[/img]</span>
+
+</pre>
+<p>In the example above, the BBCode automatically makes the graphic visible in your message.  Note: the "http://" part of
+the URL is REQUIRED for the <span style="color:red">[img]</span> code.  Also note: some sites may disable the
+<span style="color:red">[img]</span> tag support to prevent objectionable images from being viewed.</p>
+
+<h3>Quoting Other Messages</h3>
+<p>To reference something specific that someone has posted, just cut and paste the applicable verbiage and enclose it
+as shown below (BBCode is in <span style="color:red">red</span>).
+<pre>
+<span style="color:red">[QUOTE]</span>Ask not what
+your country can do for you....<br />ask what you can do for your country.<span style="color:red">[/QUOTE]</span>
+
+</pre>
+
+<p>In the example above, the BBCode automatically blockquotes the text you reference.</p>
+
+<h3>Code Tag</h3>
+<p>Similar to the Quote tage, the Code tag adds some &lt;PRE&gt; tags to preserve formatting.  This useful for displaying
+programming code, for instance.</p>
+<pre>
+<span style="color:red">[CODE]</span>
+#!/usr/bin/perl
+print "Content-type: text/html\n\n";
+print "Hello World!";
+<span style="color:red">[/CODE]</span>
+
+</pre>
+
+<p>In the example above, the BBCode automatically blockquotes the text you reference and preserves the formatting of the
+coded text.</p>
+
+<p>
+Note: You must not use both HTML and BBCode to do the same function.  Also note that the BBCode is not case-sensitive (thus, you could use <span style="color:red">[URL]</span> or <span style="color:red">[url]</span>).<br />
+<h4>Incorrect BBCode Usage:</h4>
+<ul>
+<li><span style="color:red">[url]</span> www.totalgeek.org <span style="color:red">[/url]</span> - don't put spaces between the bracketed
+code and the text you are applying the code to.</li>
+
+<li><span style="color:red">[email]</span>james@totalgeek.org<span style="color:red">[email]</span> - the end brackets must include a forward slash (<span style="color:red">[/email]</span>)</li>
+</ul>
\ No newline at end of file
diff -ruN 0.762/modules/pn_bbcode/pnuser.php 0.763/modules/pn_bbcode/pnuser.php
--- 0.762/modules/pn_bbcode/pnuser.php	2005-10-10 09:03:10.000000000 -0500
+++ 0.763/modules/pn_bbcode/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.11 2005/10/10 14:03:10 landseer Exp $
+// $Id: pnuser.php 84 2005-10-10 14:03:10Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbcode/pnuserapi.php 0.763/modules/pn_bbcode/pnuserapi.php
--- 0.762/modules/pn_bbcode/pnuserapi.php	2005-11-08 09:00:27.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.38 2005/11/08 15:00:27 landseer Exp $
+// $Id: pnuserapi.php 96 2006-04-18 20:22:43Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -482,7 +482,7 @@
 
             $message = preg_replace($str_to_match, $codetext, $message);
         }
-        $message = str_replace("\n\n","\n",$message);
+        //$message = str_replace("\n\n","\n",$message);
     }
     return $message;
 
@@ -634,6 +634,7 @@
             }
         }
     }
+    asort($langs);
     return $langs;
 }
 
diff -ruN 0.762/modules/pn_bbcode/pnversion.php 0.763/modules/pn_bbcode/pnversion.php
--- 0.762/modules/pn_bbcode/pnversion.php	2005-11-22 14:40:46.000000000 -0600
+++ 0.763/modules/pn_bbcode/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.16 2005/11/22 20:40:46 landseer Exp $
+// $Id: pnversion.php 89 2005-11-22 20:40:46Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbsmile/pnadmin.php 0.763/modules/pn_bbsmile/pnadmin.php
--- 0.762/modules/pn_bbsmile/pnadmin.php	2005-10-07 07:11:23.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pnadmin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadmin.php,v 1.8 2005/10/07 12:11:23 landseer Exp $
+// $Id: pnadmin.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -50,11 +50,15 @@
 
     $pnRender =& new pnRender('pn_bbsmile');
     $pnRender->caching = false;
+    $pnRender->add_core_data();
     return $pnRender->fetch('pn_bbsmile_admin_main.html');
 }
 
-// show admin choices
-//
+/**
+ * modifyconfig
+ *
+ *
+ */
 function pn_bbsmile_admin_modifyconfig()
 {
     if (!pnSecAuthAction(0, 'pn_bbsmile::', '::', ACCESS_ADMIN)) {
@@ -64,25 +68,11 @@
     $submit = pnVarCleanFromInput('submit');
     if(!$submit) {
 
-        $pnRender =& new pnRender('pn_bbsmile');
-        $pnRender->caching = false;
-        $pnRender->assign('imagepath', pnModGetVar('pn_bbsmile', 'smiliepath'));
-        $pnRender->assign('imagepath_auto', pnModGetVar('pn_bbsmile', 'smiliepath_auto'));
-
-        $activate_auto_value = pnModGetVar('pn_bbsmile', 'activate_auto');
-        $activate_auto = "";
-        if ($activate_auto_value)
-            $activate_auto = 'checked="checked"';
-        $pnRender->assign('activate_auto', $activate_auto);
-
-        $remove_inactive_value = pnModGetVar('pn_bbsmile', 'remove_inactive');
-        $remove_inactive = "";
-        if ($remove_inactive_value)
-            $remove_inactive = 'checked="checked"';
-        $pnRender->assign('remove_inactive', $remove_inactive);
-
+        $pnr =& new pnRender('pn_bbsmile');
+        $pnr->caching = false;
+        $pnr->add_core_data();
         // that's all folks
-        return $pnRender->fetch('pn_bbsmile_admin_modifyconfig.html');
+        return $pnr->fetch('pn_bbsmile_admin_modifyconfig.html');
 
     } else { // submit is set
 
@@ -107,8 +97,11 @@
     }
 }
 
-// This function shows the confitm dialog, where the user can synchronize
-// the smilies stored in the filesystem with the smilies stored in the modVar.
+/**
+ * readsmilies
+ *
+ *
+ */
 function pn_bbsmile_admin_readsmilies() {
 
     if (!pnSecAuthAction(0, 'pn_bbsmile::', '::', ACCESS_ADMIN)) {
@@ -119,10 +112,10 @@
 
     if(!$submit) {
 
-        $pnRender =& new pnRender('pn_bbsmile');
-        $pnRender->caching = false;
-        $pnRender->assign('imagepath_auto', pnModGetVar('pn_bbsmile', 'smiliepath_auto'));
-        return $pnRender->fetch('pn_bbsmile_admin_readsmilies.html');
+        $pnr =& new pnRender('pn_bbsmile');
+        $pnr->caching = false;
+        $pnr->add_core_data();
+        return $pnr->fetch('pn_bbsmile_admin_readsmilies.html');
 
     } else { // submit is set
 
@@ -137,10 +130,13 @@
         return true;
 
     }
-
 }
 
-// This function displays the list of all smilies out of the modVar for a edit view
+/**
+ * editsmilies
+ *
+ *
+ */
 function pn_bbsmile_admin_editsmilies() {
 
     if (!pnSecAuthAction(0, 'pn_bbsmile::', '::', ACCESS_ADMIN)) {
@@ -151,14 +147,9 @@
 
     if(!$submit) {
 
-        $pnr =& new pnRender('pn_bbsmile');
-        $pnRender->caching = false;
-
-        $imagepath = pnModGetVar('pn_bbsmile','smiliepath');
-        $pnr->assign('imagepath',$imagepath);
-
-        $imagepath_auto = pnModGetVar('pn_bbsmile','smiliepath_auto');
-        $pnr->assign('imagepathauto',$imagepath_auto);
+        $pnr = new pnRender('pn_bbsmile');
+        $pnr->caching = false;
+        $pnr->add_core_data();
 
         $smilies = unserialize(pnModGetVar('pn_bbsmile','smilie_array'));
         $pnr->assign('smilies',$smilies);
@@ -173,7 +164,7 @@
 
         $smilies = array();
 
-	// Create an array with the input and deaktivate all smilies
+	    // Create an array with the input and deaktivate all smilies
         for($i = 0; $i < sizeof($keys); $i++) {
             $smilies[$keys[$i]] = array(
                 'type'   => $types[$i],
@@ -183,16 +174,15 @@
                 'alias'  => $aliases[$i],
                 'active'  => 0);
         }
-	// And now set the active flag for all selected smilies
-	for ($i = 0; $i < sizeof($active); $i++) {
-		$smilies[$active[$i]]['active'] = 1;
-	}
+	    // And now set the active flag for all selected smilies
+	    for ($i = 0; $i < sizeof($active); $i++) {
+	    	$smilies[$active[$i]]['active'] = 1;
+	    }
 
         pnModSetVar('pn_bbsmile','smilie_array',serialize($smilies));
         pnSessionSetVar('statusmsg', _PNBBSMILE_ADMIN_EDITEDSMILIESSAVED);
         pnRedirect(pnModURL('pn_bbsmile', 'admin'));
     }
-
 }
 
 ?>
\ No newline at end of file
diff -ruN 0.762/modules/pn_bbsmile/pnadminapi.php 0.763/modules/pn_bbsmile/pnadminapi.php
--- 0.762/modules/pn_bbsmile/pnadminapi.php	2005-10-07 07:11:23.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pnadminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnadminapi.php,v 1.3 2005/10/07 12:11:23 landseer Exp $
+// $Id: pnadminapi.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbsmile/pndocs/changelog.txt 0.763/modules/pn_bbsmile/pndocs/changelog.txt
--- 0.762/modules/pn_bbsmile/pndocs/changelog.txt	2005-10-07 07:11:23.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pndocs/changelog.txt	2006-10-17 16:24:08.000000000 -0500
@@ -1,3 +1,10 @@
+Version 1.17
+    - no new features, just internal cleanups:
+    - some .762 changes
+    - javscript changes
+    - layout changes
+    - inline styles moved to style.css
+
 Version 1.16
     - minimum requirement now PN .760+
     - removed displayhook due to compatibility problems
Binary files 0.762/modules/pn_bbsmile/pnimages/smilies/icon_redface.gif and 0.763/modules/pn_bbsmile/pnimages/smilies/icon_redface.gif differ
Binary files 0.762/modules/pn_bbsmile/pnimages/smilies_auto/frown.gif and 0.763/modules/pn_bbsmile/pnimages/smilies_auto/frown.gif differ
Binary files 0.762/modules/pn_bbsmile/pnimages/smilies_auto/hmm.gif and 0.763/modules/pn_bbsmile/pnimages/smilies_auto/hmm.gif differ
Binary files 0.762/modules/pn_bbsmile/pnimages/smilies_auto/korea.gif and 0.763/modules/pn_bbsmile/pnimages/smilies_auto/korea.gif differ
Binary files 0.762/modules/pn_bbsmile/pnimages/smilies_auto/redface.gif and 0.763/modules/pn_bbsmile/pnimages/smilies_auto/redface.gif differ
Binary files 0.762/modules/pn_bbsmile/pnimages/smilies_auto/schande.gif and 0.763/modules/pn_bbsmile/pnimages/smilies_auto/schande.gif differ
Binary files 0.762/modules/pn_bbsmile/pnimages/smilies_auto/smile.gif and 0.763/modules/pn_bbsmile/pnimages/smilies_auto/smile.gif differ
Binary files 0.762/modules/pn_bbsmile/pnimages/smilies_auto/wink.gif and 0.763/modules/pn_bbsmile/pnimages/smilies_auto/wink.gif differ
diff -ruN 0.762/modules/pn_bbsmile/pninit.php 0.763/modules/pn_bbsmile/pninit.php
--- 0.762/modules/pn_bbsmile/pninit.php	2005-11-22 14:28:10.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pninit.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pninit.php,v 1.10 2005/11/22 20:28:10 landseer Exp $
+// $Id: pninit.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbsmile/pnjavascript/dosmilie.js 0.763/modules/pn_bbsmile/pnjavascript/dosmilie.js
--- 0.762/modules/pn_bbsmile/pnjavascript/dosmilie.js	2005-08-15 01:39:36.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pnjavascript/dosmilie.js	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-// $Id: dosmilie.js,v 1.5 2005/08/15 06:39:36 landseer Exp $
+// $Id: dosmilie.js 59 2006-09-09 17:48:08Z landseer $
 
 // new function
 function AddSmilie(textfieldname, SmilieCode) {
diff -ruN 0.762/modules/pn_bbsmile/pnlang/eng/admin.php 0.763/modules/pn_bbsmile/pnlang/eng/admin.php
--- 0.762/modules/pn_bbsmile/pnlang/eng/admin.php	2005-11-22 14:25:25.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.8 2005/11/22 20:25:25 landseer Exp $
+// $Id: admin.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbsmile/pnlang/eng/adminapi.php 0.763/modules/pn_bbsmile/pnlang/eng/adminapi.php
--- 0.762/modules/pn_bbsmile/pnlang/eng/adminapi.php	2005-11-22 14:25:25.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pnlang/eng/adminapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: adminapi.php,v 1.1 2005/11/22 20:25:25 landseer Exp $
+// $Id: adminapi.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbsmile/pnlang/eng/global.php 0.763/modules/pn_bbsmile/pnlang/eng/global.php
--- 0.762/modules/pn_bbsmile/pnlang/eng/global.php	2005-11-22 14:25:25.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pnlang/eng/global.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: global.php,v 1.1 2005/11/22 20:25:25 landseer Exp $
+// $Id: global.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -37,7 +37,7 @@
 define('_PNBBSMILE_ADMIN_BTN_SUBMIT', 'Apply');
 define('_PNBBSMILE_ADMIN_CONFIGSAVED', 'pn_bbsmile configuration updated');
 define('_PNBBSMILE_ADMIN_CONFIRM_READFROMFILESYSTEM', 'Should the smilies be read out of the directory?');
-define('_PNBBSMILE_ADMIN_EDITEDSMILIESSAVED', 'The edited smilies has been saved.');
+define('_PNBBSMILE_ADMIN_EDITEDSMILIESSAVED', 'The edited smilies have been saved.');
 define('_PNBBSMILE_ADMIN_HINT_IMAGEPATH', 'Enter the directory (relative), where the smilies are.No trailing slash and no backslashes!');
 define('_PNBBSMILE_ADMIN_HINT_IMAGEPATH_AUTO', 'Enter the directory (relative), where the smilies are, which are included automatically. All files with the ending gif, jpg, jpeg or png are included out of this directory. No trailing slash and no backslashes!');
 define('_PNBBSMILE_ADMIN_LABEL_ACTIVATE_AUTO', 'Should the auto include of smilies be activated?');
@@ -60,7 +60,7 @@
 define('_PNBBSMILE_ADMIN_TITLE_CONFIG', 'Modify Configuration');
 define('_PNBBSMILE_ADMIN_TITLE_EDITSMILIES', 'Edit the defined smilies');
 define('_PNBBSMILE_ADMIN_TITLE_READSMILIESFROMFILESYSTEM', 'Read smilies out of the directory');
-define('_PNBBSMILE_ADMIN_V1_HINT', 'Please note that the smilie hook function need to be activated for the specific module within administration -> modules.');
+define('_PNBBSMILE_ADMIN_V1_HINT', 'Please note that the smilie hook function need to be activated for the specific module <a href="index.php?name=Modules&type=admin&func=view">here</a>.');
 define('_PNBBSMILE_ARGSERROR', '[pn_bbsmile] Internal error! Arguments missing!');
 
 //
@@ -82,7 +82,8 @@
 //
 // N
 //
-define('_PNBBSMILE_NOSCRIPTWARNING', 'Your browser does not support javascript or you turned it off. This means that several features on this page will not work as intended');
+define('_PNBBSMILE_NOAUTOSMILIES', 'Extended Smilies not yet activated!');
+define('_PNBBSMILE_NOSCRIPTWARNING', 'Your browser does not support javascript or you turned it off. The pn_bbsmile interface has been disabled.');
 
 //
 // S
diff -ruN 0.762/modules/pn_bbsmile/pnlang/eng/init.php 0.763/modules/pn_bbsmile/pnlang/eng/init.php
--- 0.762/modules/pn_bbsmile/pnlang/eng/init.php	2005-11-22 14:25:25.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pnlang/eng/init.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: init.php,v 1.4 2005/11/22 20:25:25 landseer Exp $
+// $Id: init.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbsmile/pnlang/eng/user.php 0.763/modules/pn_bbsmile/pnlang/eng/user.php
--- 0.762/modules/pn_bbsmile/pnlang/eng/user.php	2005-11-22 14:25:25.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pnlang/eng/user.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: user.php,v 1.1 2005/11/22 20:25:25 landseer Exp $
+// $Id: user.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbsmile/pnlang/eng/userapi.php 0.763/modules/pn_bbsmile/pnlang/eng/userapi.php
--- 0.762/modules/pn_bbsmile/pnlang/eng/userapi.php	2005-11-22 14:25:25.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pnlang/eng/userapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: userapi.php,v 1.6 2005/11/22 20:25:25 landseer Exp $
+// $Id: userapi.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/modules/pn_bbsmile/pnstyle/style.css 0.763/modules/pn_bbsmile/pnstyle/style.css
--- 0.762/modules/pn_bbsmile/pnstyle/style.css	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pnstyle/style.css	2006-10-17 16:24:08.000000000 -0500
@@ -0,0 +1,40 @@
+/*  $Id: style.css 59 2006-09-09 17:48:08Z landseer $  */
+
+.bb_standardsmilies {
+    margin-top: 1em;
+    width: 300px;
+}
+
+img.bb_smilie {
+    margin: 0 2px;
+}
+
+.bb_showhidesmilies {
+    margin: 5px 0;
+}
+    
+.bb_moresmilies {
+    margin-bottom: 10px; 
+    width: 300px; 
+    height: 190px; 
+    overflow: auto; 
+    color: #00009C;  
+    background: transparent;  
+    border: none;
+}
+
+table.bb_moresmilies {
+    padding: 0; 
+    margin: 0; 
+    border-collapse: collapse;
+}
+
+td.bb_smilie_cell {
+    text-align: center;  
+    vertical-align: middle; 
+    margin: 0 4px;
+}
+
+th.bb_tablehead {
+    font-size: 1em;
+}
diff -ruN 0.762/modules/pn_bbsmile/pntemplates/plugins/function.pnbbsmile_smilie_list.php 0.763/modules/pn_bbsmile/pntemplates/plugins/function.pnbbsmile_smilie_list.php
--- 0.762/modules/pn_bbsmile/pntemplates/plugins/function.pnbbsmile_smilie_list.php	2005-05-11 13:00:40.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pntemplates/plugins/function.pnbbsmile_smilie_list.php	2006-10-17 16:24:08.000000000 -0500
@@ -51,6 +51,7 @@
 
 	// Asign the smilies to smarty
 	$smarty->assign($assign, $smilies);
+	$smarty->assign($assign . '_count', count($smilies));
 	return;
 }
 
diff -ruN 0.762/modules/pn_bbsmile/pntemplates/plugins/modifier.pnbbsmile.php 0.763/modules/pn_bbsmile/pntemplates/plugins/modifier.pnbbsmile.php
--- 0.762/modules/pn_bbsmile/pntemplates/plugins/modifier.pnbbsmile.php	2005-01-10 13:02:26.000000000 -0600
+++ 0.763/modules/pn_bbsmile/pntemplates/plugins/modifier.pnbbsmile.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.pnbbsmile.php,v 1.3 2005/01/10 19:02:26 landseer Exp $
+// $Id: modifier.pnbbsmile.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   pnRender
- * @version      $Id: modifier.pnbbsmile.php,v 1.3 2005/01/10 19:02:26 landseer Exp $
+ * @version      $Id: modifier.pnbbsmile.php 59 2006-09-09 17:48:08Z landseer $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_editsmiles.html 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_editsmiles.html
--- 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_editsmiles.html	2005-05-11 13:00:41.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_editsmiles.html	2006-10-17 16:24:08.000000000 -0500
@@ -6,41 +6,41 @@
 <form class="form" action="<!--[pnmodurl modname="pn_bbsmile" type="admin" func="editsmilies"]-->" method="post" enctype="application/x-www-form-urlencoded">
 <div>
 	<input type="hidden" name="authid" value="<!--[pnsecgenauthkey module="pn_bbsmile"]-->" />
-	<h2> <!--[pnml name="_PNBBSMILE_ADMIN_LABEL_SMILIETABLE"]--></h2>
-	<div style="font-size: 0.9em ;font-weight:bold;"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_ALIAS_HINT"]--></div>
+	<h2><!--[pnml name="_PNBBSMILE_ADMIN_LABEL_SMILIETABLE"]--></h2>
+	<p><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_ALIAS_HINT"]--></p>
     <br />
 	<table>
 		<thead>
 			<tr>
-				<th style="font-size: 12px;"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_SMILIE"]--></th>
-				<th style="font-size: 12px;"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_SHORT"]--></th>
-				<th style="font-size: 12px;"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_FILENAME"]--></th>
-				<th style="font-size: 12px;"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_ALT"]--></th>
- 				<th style="font-size: 12px;"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_ALIAS"]--></th>
- 				<th style="font-size: 12px;"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_ACTIVE"]--></th>
+				<th class="bb_tablehead"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_SMILIE"]--></th>
+				<th class="bb_tablehead"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_SHORT"]--></th>
+				<th class="bb_tablehead"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_FILENAME"]--></th>
+				<th class="bb_tablehead"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_ALT"]--></th>
+ 				<th class="bb_tablehead"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_ALIAS"]--></th>
+ 				<th class="bb_tablehead"><!--[pnml name="_PNBBSMILE_ADMIN_SMILIETABLE_ACTIVE"]--></th>
 			</tr>
 		</thead>
 		<tbody>
 			<!--[foreach from=$smilies key=key item=smilie]-->
 			<tr>
 				<td>
-					<img src="<!--[ if $smilie.type eq 0 ]--><!--[ $imagepath ]--><!--[ else ]--><!--[ $imagepathauto ]--><!--[ /if ]-->/<!--[$smilie.imgsrc]-->" alt="<!--[$smilie.alt]-->"/>
+					<img src="<!--[ if $smilie.type eq 0 ]--><!--[ $pncore.pn_bbsmile.smiliepath ]--><!--[ else ]--><!--[ $pncore.pn_bbsmile.smiliepath_auto ]--><!--[ /if ]-->/<!--[$smilie.imgsrc|pnvarprepfordisplay]-->" alt="<!--[$smilie.alt|pnvarprepfordisplay]-->"/>
 					<input type="hidden" name="key[]" value="<!--[$key]-->" />
-					<input type="hidden" name="smilietype[]" value="<!--[$smilie.type]-->" />
+					<input type="hidden" name="smilietype[]" value="<!--[$smilie.type|pnvarprepfordisplay]-->" />
 				</td>
 				<td>
 					<!--[$smilie.short]-->
-					<input type="hidden" name="short[]" value="<!--[$smilie.short]-->" />
+					<input type="hidden" name="short[]" value="<!--[$smilie.short|pnvarprepfordisplay]-->" />
 				</td>
 				<td>
 					<!--[$smilie.imgsrc]-->
-					<input type="hidden" name="imgsrc[]" value="<!--[$smilie.imgsrc]-->" />
+					<input type="hidden" name="imgsrc[]" value="<!--[$smilie.imgsrc|pnvarprepfordisplay]-->" />
 				</td>
 				<td>
-				    <input type="text" name="alt[]" value="<!--[$smilie.alt]-->" size="20" maxlength="40" />
+				    <input type="text" name="alt[]" value="<!--[$smilie.alt|pnvarprepfordisplay]-->" size="20" maxlength="40" />
 				</td>
 				<td>
-				    <input type="text" name="alias[]" value="<!--[$smilie.alias]-->" size="30" maxlength="40" />
+				    <input type="text" name="alias[]" value="<!--[$smilie.alias|pnvarprepfordisplay]-->" size="30" maxlength="40" />
 				</td>
  				<td>
 				    <input type="checkbox" name="active[]" value="<!--[$key]-->" <!--[ if $smilie.active eq 1 ]--> checked="checked" <!--[/if]--> />
diff -ruN 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_main.html 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_main.html
--- 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_main.html	2005-05-07 08:15:12.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_main.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,4 @@
-<!--[*  $Id: pn_bbsmile_admin_main.html,v 1.2 2005/05/07 13:15:12 landseer Exp $  *]-->
-<!--[include file="pn_bbsmile_admin_menu.html"]-->
\ No newline at end of file
+<!--[*  $Id: pn_bbsmile_admin_main.html 61 2006-09-09 18:10:19Z landseer $  *]-->
+<!--[include file="pn_bbsmile_admin_menu.html"]-->
+<br />
+<br />
\ No newline at end of file
diff -ruN 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_menu.html 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_menu.html
--- 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_menu.html	2005-10-07 07:11:23.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_menu.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,14 +1,14 @@
-<!--[*  $Id: pn_bbsmile_admin_menu.html,v 1.2 2005/10/07 12:11:23 landseer Exp $  *]-->
+<!--[*  $Id: pn_bbsmile_admin_menu.html 59 2006-09-09 17:48:08Z landseer $  *]-->
 <!--[admincategorymenu]-->
-<h2 style="width:99%; background-color:<!--[pnthemegetvar name="bgcolor2"]-->; text-align:center; padding:4px;">
-    <!--[pnml name='_PNBBSMILE_ADMIN_TITLE']-->
-</h2>
-<h3>
-    <!--[pnml name=_PNBBSMILE_ADMIN_V1_HINT]-->
-</h3>
+<h2><!--[pnml name='_PNBBSMILE_ADMIN_TITLE']--></h2>
+<p><!--[pnml name='_PNBBSMILE_ADMIN_V1_HINT' html=1]--></p>
 <br />
 <div class="pn-menu">
 [<a href="<!--[ pnmodurl modname=pn_bbsmile type=admin func=modifyconfig ]-->"><!--[ pnml name='_PNBBSMILE_ADMIN_TITLE_CONFIG' ]--></a>]&nbsp;
+<!--[ if $pncore.pn_bbsmile.activate_auto eq 1 ]-->
 [<a href="<!--[ pnmodurl modname=pn_bbsmile type=admin func=readsmilies ]-->"><!--[ pnml name='_PNBBSMILE_ADMIN_TITLE_READSMILIESFROMFILESYSTEM' ]--></a>]&nbsp;
 [<a href="<!--[ pnmodurl modname=pn_bbsmile type=admin func=editsmilies ]-->"><!--[ pnml name='_PNBBSMILE_ADMIN_TITLE_EDITSMILIES' ]--></a>]
-</div>
\ No newline at end of file
+<!--[ else ]-->
+<!--[ pnml name="_PNBBSMILE_NOAUTOSMILIES" ]-->
+<!--[ /if ]-->
+</div>
diff -ruN 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_modifyconfig.html 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_modifyconfig.html
--- 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_modifyconfig.html	2005-10-07 07:11:23.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_modifyconfig.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pn_bbsmile_admin_modifyconfig.html,v 1.4 2005/10/07 12:11:23 landseer Exp $  *]-->
+<!--[*  $Id: pn_bbsmile_admin_modifyconfig.html 59 2006-09-09 17:48:08Z landseer $  *]-->
 <!--[include file="pn_bbsmile_admin_menu.html"]-->
 <h2><!--[pnml name=_PNBBSMILE_ADMIN_TITLE_CONFIG]--></h2>
 <br />
@@ -8,24 +8,24 @@
 
     <div class="formrow">
         <label for="pnbbsmile_imagepath"><!--[pnml name="_PNBBSMILE_ADMIN_LABEL_IMAGEPATH"]--></label>
-        <input id="pnbbsmile_imagepath" type="text" name="imagepath" size="40" maxlength="255" value="<!--[$imagepath]-->" /><br />
+        <input id="pnbbsmile_imagepath" type="text" name="imagepath" size="40" maxlength="255" value="<!--[$pncore.pn_bbsmile.smiliepath|pnvarprepfordisplay]-->" /><br />
         <!--[pnml name="_PNBBSMILE_ADMIN_HINT_IMAGEPATH"]-->
     </div>
     <br />
     <div class="formrow">
         <label for="pnbbsmile_activate_auto"><!--[pnml name="_PNBBSMILE_ADMIN_LABEL_ACTIVATE_AUTO"]--></label>
-        <input id="pnbbsmile_activate_auto" type="checkbox" name="activate_auto" value="1" <!--[$activate_auto]--> /><br />
+        <input id="pnbbsmile_activate_auto" type="checkbox" name="activate_auto" value="1" <!--[if $pncore.pn_bbsmile.activate_auto eq 1]-->checked="checked"<!--[ /if ]--> /><br />
     </div>
     <br />
     <div class="formrow">
         <label for="pnbbsmile_imagepath_auto"><!--[pnml name="_PNBBSMILE_ADMIN_LABEL_IMAGEPATH_AUTO"]--></label>
-        <input id="pnbbsmile_imagepath_auto" type="text" name="imagepath_auto" size="40" maxlength="255" value="<!--[$imagepath_auto]-->" /><br />
+        <input id="pnbbsmile_imagepath_auto" type="text" name="imagepath_auto" size="40" maxlength="255" value="<!--[$pncore.pn_bbsmile.smiliepath_auto|pnvarprepfordisplay]-->" /><br />
         <!--[pnml name="_PNBBSMILE_ADMIN_HINT_IMAGEPATH_AUTO"]-->
     </div>
     <br />
     <div class="formrow">
         <label for="pnbbsmile_remove_inactive"><!--[pnml name="_PNBBSMILE_ADMIN_LABEL_REMOVE_INACTIVE"]--></label>
-        <input id="pnbbsmile_remove_inactive" type="checkbox" name="remove_inactive" value="1" <!--[$remove_inactive]--> /><br />
+        <input id="pnbbsmile_remove_inactive" type="checkbox" name="remove_inactive" value="1" <!--[ if $pncore.pn_bbsmile.remove_inactive eq 1 ]-->checked="checked"<!--[ /if ]--> /><br />
     </div>
     <br />
     <div class="formrow">
diff -ruN 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_readsmilies.html 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_readsmilies.html
--- 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_readsmilies.html	2005-05-07 08:20:02.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_admin_readsmilies.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: pn_bbsmile_admin_readsmilies.html,v 1.1 2005/05/07 13:20:02 landseer Exp $  *]-->
+<!--[*  $Id: pn_bbsmile_admin_readsmilies.html 59 2006-09-09 17:48:08Z landseer $  *]-->
 
 <!--[include file="pn_bbsmile_admin_menu.html"]-->
 
@@ -10,7 +10,7 @@
 
 	<!--[pnml name="_PNBBSMILE_ADMIN_LABEL_READFROMFILESYSTEM"]-->
 	<div style="padding-top: 10px; padding-bottom: 10px;">
-	    <strong><!--[$imagepath_auto]--></strong>
+	    <strong><!--[$pncore.pn_bbsmile.smiliepath_auto]--></strong>
     </div>
 	<!--[pnml name="_PNBBSMILE_ADMIN_CONFIRM_READFROMFILESYSTEM" ]-->
 	<div class="formrow">
diff -ruN 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_user_bbsmiles.html 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_user_bbsmiles.html
--- 0.762/modules/pn_bbsmile/pntemplates/pn_bbsmile_user_bbsmiles.html	2005-10-10 09:03:35.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pntemplates/pn_bbsmile_user_bbsmiles.html	2006-10-17 16:24:08.000000000 -0500
@@ -1,48 +1,41 @@
-<!--[* $Id: pn_bbsmile_user_bbsmiles.html,v 1.9 2005/10/10 14:03:35 landseer Exp $ *]-->
+<!--[* $Id: pn_bbsmile_user_bbsmiles.html 63 2006-09-26 15:02:27Z landseer $ *]-->
 
 <!--[* add the javascript file  *]-->
-<!--[ add_additional_header header=$jsheader ]-->
+
 <noscript>
     <p><strong><!--[ pnml name='_PNBBSMILE_NOSCRIPTWARNING' ]--></strong></p>
 </noscript>
+
 <!--[ pnbbsmile_smilie_list assign="smilies" type="standard" ]-->
-<br />
-<div style="width:80%">
+<div class="bb_standardsmilies">
     <!--[* default smilies *]-->
-    <!--[ foreach item=smilie from=$smilies key=num ]-->
-        <button type="button" name="smilie<!--[ $num ]-->" style="background: transparent; border:none;" onClick="AddSmilie('<!--[ $textfieldid ]-->', ' <!--[ $smilie.short ]--> ')" title="<!--[$smilie.short]-->">
-        <img src="<!--[ $imagepath ]-->/<!--[ $smilie.imgsrc ]-->" style="margin: 1px;" alt='Smilie <!--[ $smilie.alt ]-->' />
-        </button>
+    <!--[ foreach item=smilie from=$smilies ]-->
+    <a href="javascript:void(0);" onclick="AddSmilie('<!--[ $textfieldid ]-->', ' <!--[ $smilie.short ]--> ')" title="<!--[$smilie.short]-->">
+    <img class="bb_smilie" src="<!--[ $pncore.pn_bbsmile.smiliepath ]-->/<!--[ $smilie.imgsrc ]-->" alt='Smilie <!--[ $smilie.alt ]-->' />
+    </a>
     <!--[ /foreach ]-->
 </div>
 
-<!--[ pnbbsmile_smilie_list assign="smilies" type="auto"]-->
-<!--[if ( $activate_auto && $smilies|@count > 0 ) ]-->
-
-<div>
-	<a onkeypress="javascript:ShowHide('more_smilies_<!--[ $counter ]-->')" href="javascript:ShowHide('more_smilies_<!--[ $counter ]-->')" title="<!--[pnml name="_PNBBSMILE_SHOWHIDE_SMILIES"]-->"><!--[pnml name="_PNBBSMILE_MORESMILIES"]--></a>
-</div>
+<!--[ if $pncore.pn_bbsmile.activate_auto  ]-->
+    <!--[ pnbbsmile_smilie_list assign="autosmilies" type="auto" ]-->
 
-<div id="more_smilies_<!--[ $counter ]-->" style="display:none; margin-bottom: 10px; width: 400px; height: 250px; overflow:auto; color: #00009C;  background-color: #FFFFCE;  border: none;">
-    <fieldset>
-        <legend style="font-weight: bold;font-size:smaller;">
-            <!--[pnml name="_PNBBSMILE_MORESMILIES"]-->
-        </legend>
-        <table style="padding: 0px; margin: 0px; border-collapse: collapse;">
-        	<tr>
-                <!--[ foreach name=smilie_loop item=smilie from=$smilies key=num]-->
-                    <td style="text-align: center;">
-                        <button type="button" name="smilie<!--[ $num ]-->" style="border:none;" onClick="AddSmilie('<!--[ $textfieldid ]-->', ' <!--[ $smilie.short ]--> ')" title="<!--[$smilie.short]-->">
-        		        <img src="<!--[ if $smilie.type eq 0 ]--><!--[ $imagepath ]--><!--[ else ]--><!--[$imagepath_auto]--><!--[ /if ]-->/<!--[$smilie.imgsrc]-->" alt="Smilie <!--[$smilie.alt]-->" />
-                         </button>
-                    </td>
-        	    <!--[if ($smarty.foreach.smilie_loop.iteration is div by 5 ) ]-->
-        	    </tr>
-        	    <tr>
-        	    <!--[/if]-->
-                <!--[/foreach]-->
+    <!--[ if $autosmilies_count > 0 ]-->
+    <div class="bb_showhidesmilies">
+        <a onkeypress="ShowHide('more_smilies_<!--[ $counter ]-->')" href="javascript:void(0);" onclick="ShowHide('more_smilies_<!--[ $counter ]-->')" title="<!--[pnml name="_PNBBSMILE_SHOWHIDE_SMILIES"]-->"><!--[pnml name="_PNBBSMILE_MORESMILIES"]--></a>
+    </div>
+    <div id="more_smilies_<!--[ $counter ]-->" class="bb_moresmilies" style="display: none;">
+        <table class="bb_moresmilies">
+            <tr>
+            <!--[ foreach item=smilie from=$autosmilies key=num]-->
+                <td class="bb_smilie_cell">
+                    <a href="javascript:void(0);" onclick="AddSmilie('<!--[ $textfieldid ]-->', ' <!--[ $smilie.short ]--> ')" title="<!--[$smilie.short]-->">
+                    <img src="<!--[$pncore.pn_bbsmile.smiliepath_auto]-->/<!--[$smilie.imgsrc]-->" alt="Smilie <!--[$smilie.alt]-->" />
+                    </a>
+                </td>
+            <!--[/foreach]-->
             </tr>
         </table>
-    </fieldset>
-</div>
+    </div>  
+    <!--[ /if ]-->
 <!--[/if]-->
+
diff -ruN 0.762/modules/pn_bbsmile/pnuser.php 0.763/modules/pn_bbsmile/pnuser.php
--- 0.762/modules/pn_bbsmile/pnuser.php	2005-10-10 09:03:35.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pnuser.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuser.php,v 1.10 2005/10/10 14:03:35 landseer Exp $
+// $Id: pnuser.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -71,21 +71,32 @@
 
     $pnr =& new pnRender('pn_bbsmile');
     $pnr->caching = false;
+    $pnr->add_core_data();
     $pnr->assign('counter', $counter);
+/*
     $pnr->assign('imagepath', pnModGetVar('pn_bbsmile', 'smiliepath'));
     $pnr->assign('activate_auto', pnModGetVar('pn_bbsmile', 'activate_auto'));
     $pnr->assign('imagepath_auto', pnModGetVar('pn_bbsmile', 'smiliepath_auto'));
+*/
     $pnr->assign('textfieldid', $textfieldid);
 
-    $file = "modules/pn_bbsmile/pnjavascript/dosmilie.js";
-    if(file_exists($file) && is_readable($file)) {
-        $pnr->assign('jsheader', "<script type=\"text/javascript\" src=\"$file\"></script>");
+    $headers[] = '<script type="text/javascript" src="modules/pn_bbsmile/pnjavascript/dosmilie.js"></script>';
+    $headers[] = '<link rel="stylesheet" type="text/css" href="modules/pn_bbsmile/pnstyle/style.css" />';
+
+    global $additional_header;
+    if(!is_array($additional_header)) {
+        $additional_header = array();
+    }
+    $values = array_flip($additional_header);
+    foreach($headers as $header) {
+        if(!array_key_exists($header, $values)) {
+            $additional_header[] = $header;
+        }
     }
 
-    $thismod = pnModGetName();
-    $templatefile = 'modules/pn_bbsmile/pntemplates/' . $thismod . '.html';
-    if(file_exists($templatefile) && is_readable($templatefile)) {
-        return $pnr->fetch($thismod . '.html');
+    $templatefile = pnVarPrepForOS(pnModGetName()) . '.html';
+    if($pnr->template_exists($templatefile)) {
+        return $pnr->fetch($templatefile);
     }
     return $pnr->fetch('pn_bbsmile_user_bbsmiles.html');
 }
diff -ruN 0.762/modules/pn_bbsmile/pnuserapi.php 0.763/modules/pn_bbsmile/pnuserapi.php
--- 0.762/modules/pn_bbsmile/pnuserapi.php	2005-07-07 08:51:56.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pnuserapi.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnuserapi.php,v 1.11 2005/07/07 13:51:56 landseer Exp $
+// $Id: pnuserapi.php 59 2006-09-09 17:48:08Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -86,7 +86,7 @@
         $imagepath_auto = pnModGetVar('pn_bbsmile', 'smiliepath_auto');
         $auto_active = pnModGetVar('pn_bbsmile','activate_auto');
     	// pad it with a space so we can distinguish between FALSE and matching the 1st char (index 0).
-	    // This is important!<p align="center"></p>
+	    // This is important!
     	$text = ' ' . $text;
         foreach ($smilies as $smilie) {
             // check if smilie is active
@@ -139,7 +139,7 @@
 	$icons = array();
 	while (list ($key, $file) = each ($filelist)) {
 		ereg('.gif|.jpg',$file);
-		if ($file != '.' && $file != '..' && $file != 'index.html'  && $file != 'CVS') {
+		if ($file != '.' && $file != '..' && $file != 'index.html' && $file != '.svn' && $file != 'CVS') {
 			$icons[] = array('imgsrc' => $file);
 		}
 
diff -ruN 0.762/modules/pn_bbsmile/pnversion.php 0.763/modules/pn_bbsmile/pnversion.php
--- 0.762/modules/pn_bbsmile/pnversion.php	2005-10-07 07:11:23.000000000 -0500
+++ 0.763/modules/pn_bbsmile/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.11 2005/10/07 12:11:23 landseer Exp $
+// $Id: pnversion.php 60 2006-09-09 17:58:34Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
@@ -34,7 +34,7 @@
 */
 
 $modversion['name']             = 'pn_bbsmile';
-$modversion['version']          = '1.16';
+$modversion['version']          = '1.17';
 $modversion['id']               = '163';
 $modversion['description']      = 'Smilie Hook (Autoincluded)';
 $modversion['credits']          = 'pndocs/credits.txt';
diff -ruN 0.762/modules/typetool/pnlang/eng/admin.php 0.763/modules/typetool/pnlang/eng/admin.php
--- 0.762/modules/typetool/pnlang/eng/admin.php	2004-04-22 07:28:05.000000000 -0500
+++ 0.763/modules/typetool/pnlang/eng/admin.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: admin.php,v 1.2 2004/04/22 12:28:05 drak Exp $
+// $Id: admin.php 13213 2004-04-22 12:28:05Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules/typetool/pntemplates/typetool_admin_main.htm 0.763/modules/typetool/pntemplates/typetool_admin_main.htm
--- 0.762/modules/typetool/pntemplates/typetool_admin_main.htm	2004-02-29 08:56:30.000000000 -0600
+++ 0.763/modules/typetool/pntemplates/typetool_admin_main.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,2 +1,2 @@
-<!--[*  $Id: typetool_admin_main.htm,v 1.1 2004/02/29 14:56:30 markwest Exp $  *]-->
+<!--[*  $Id: typetool_admin_main.htm 12818 2004-02-29 14:56:30Z markwest $  *]-->
 <!--[$main]-->
diff -ruN 0.762/modules/typetool/pntemplates/typetool_admin_menu.htm 0.763/modules/typetool/pntemplates/typetool_admin_menu.htm
--- 0.762/modules/typetool/pntemplates/typetool_admin_menu.htm	2005-01-19 07:14:01.000000000 -0600
+++ 0.763/modules/typetool/pntemplates/typetool_admin_menu.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: typetool_admin_menu.htm,v 1.6 2005/01/19 13:14:01 landseer Exp $  *]-->
+<!--[*  $Id: typetool_admin_menu.htm 15415 2005-01-19 13:14:01Z landseer $  *]-->
 <!--[ admincategorymenu ]-->
 <!--[pngetstatusmsg]-->
 <h1><!--[pnml name="_TYPETOOL"]--></h1>
diff -ruN 0.762/modules/typetool/pntemplates/typetool_admin_modifyconfig.htm 0.763/modules/typetool/pntemplates/typetool_admin_modifyconfig.htm
--- 0.762/modules/typetool/pntemplates/typetool_admin_modifyconfig.htm	2005-01-19 05:51:29.000000000 -0600
+++ 0.763/modules/typetool/pntemplates/typetool_admin_modifyconfig.htm	2006-10-17 16:24:08.000000000 -0500
@@ -1,4 +1,4 @@
-<!--[*  $Id: typetool_admin_modifyconfig.htm,v 1.4 2005/01/19 11:51:29 markwest Exp $  *]-->
+<!--[*  $Id: typetool_admin_modifyconfig.htm 15410 2005-01-19 11:51:29Z markwest $  *]-->
 <!--[include file="typetool_admin_menu.htm"]-->
 <h2><!--[pnml name="_TYPETOOLSETTINGS"]--></h2>
 <form class="pn-adminform" action="<!--[pnmodurl modname="typetool" type="admin" func="updateconfig"]-->" method="post" enctype="application/x-www-form-urlencoded">
diff -ruN 0.762/modules/typetool/pnversion.php 0.763/modules/typetool/pnversion.php
--- 0.762/modules/typetool/pnversion.php	2004-06-02 09:47:58.000000000 -0500
+++ 0.763/modules/typetool/pnversion.php	2006-10-17 16:24:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: pnversion.php,v 1.3 2004/06/02 14:47:58 markwest Exp $
+// $Id: pnversion.php 13715 2004-06-02 15:08:51Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/modules.php 0.763/modules.php
--- 0.762/modules.php	2005-02-04 00:30:16.000000000 -0600
+++ 0.763/modules.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // File: $Id: modules.php,v 1.9 2005/02/04 06:30:16 jorg Exp $
+<?php // File: $Id: modules.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // Original Author of file: Francisco Burzi
 // Purpose of file: Load the module in a safe and friendly enviornment
diff -ruN 0.762/pnTemp/.htaccess 0.763/pnTemp/.htaccess
--- 0.762/pnTemp/.htaccess	2004-06-28 23:07:40.000000000 -0500
+++ 0.763/pnTemp/.htaccess	2006-10-17 16:24:07.000000000 -0500
@@ -1,4 +1,4 @@
-# File: $Id: .htaccess,v 1.2 2004/06/29 04:07:40 larry Exp $
+# File: $Id: .htaccess 13838 2004-06-29 04:07:47Z larry $
 # ----------------------------------------------------------------------
 # Purpose of file: block any web access to files stored under
 #                  the pnTemp directory
diff -ruN 0.762/pnTemp/Xanthia_Config/fortesting.config.php 0.763/pnTemp/Xanthia_Config/fortesting.config.php
--- 0.762/pnTemp/Xanthia_Config/fortesting.config.php	2003-12-04 21:27:30.000000000 -0600
+++ 0.763/pnTemp/Xanthia_Config/fortesting.config.php	1969-12-31 18:00:00.000000000 -0600
@@ -1,25 +0,0 @@
-<?php
-/*This is just a sample config file
- * File will be named THEMENAMEMODULENAME.config.php
- * Theme name and Module name are together with no spaces
- * Format is like this
- * //You can put as many BLOCK ID's as you like
- *      $moduleblockzones = array (
- *          'MODULENAME' =>
- *              array (
- *                      'ZONE ID' => 'BLOCK ID:BLOCK ID:BLOCK ID',
- *                      'ZONE ID' => 'BLOCK ID:BLOCK ID:BLOCK ID',
- *                      'ZONE ID' => 'BLOCK ID:BLOCK ID:BLOCK ID'
- *           )
- *        );
- */
-//Active Zones in Module
-$moduleblockzones = array (
-  'News' =>
-  array (
-    'l' => '13:1:16:6:12:8:28:27',
-    'r' => '3:11:14',
-    'c' => '15'
-  )
-);
-?>
\ No newline at end of file
diff -ruN 0.762/pnTemp/pntemp.xml 0.763/pnTemp/pntemp.xml
--- 0.762/pnTemp/pntemp.xml	2004-02-28 12:48:55.000000000 -0600
+++ 0.763/pnTemp/pntemp.xml	2006-10-17 16:24:07.000000000 -0500
@@ -2,9 +2,8 @@
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 <chapter id="pnTemp" lang="en-US"
-         revision="$Revision: 1.3 $ $Date: 2004/02/28 18:48:55 $"
          status="draft">
-  <!-- $Id: pntemp.xml,v 1.3 2004/02/28 18:48:55 jorg Exp $ -->
+  <!-- $Id: pntemp.xml 18162 2006-03-16 00:20:51Z drak $ -->
 
   <chapterinfo>
     <authorgroup>
@@ -21,9 +20,8 @@
       </author>
     </authorgroup>
 
-    <releaseinfo>$Revision: 1.3 $</releaseinfo>
 
-    <date>$Date: 2004/02/28 18:48:55 $</date>
+    <date>$Date: 2006-03-16 00:20:51 +0000 (Thu, 16 Mar 2006) $</date>
 
     <revhistory>
       <revision>
diff -ruN 0.762/pntables.php 0.763/pntables.php
--- 0.762/pntables.php	2006-01-12 05:21:08.000000000 -0600
+++ 0.763/pntables.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: pntables.php,v 1.6 2006/01/12 11:21:08 landseer Exp $
+// File: $Id: pntables.php 17503 2006-01-12 11:21:14Z landseer $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/print.php 0.763/print.php
--- 0.762/print.php	2006-01-13 02:47:46.000000000 -0600
+++ 0.763/print.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: print.php,v 1.24 2006/01/13 08:47:46 larsneo Exp $
+// File: $Id: print.php 17567 2006-01-13 08:47:46Z larsneo $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/robots.txt 0.763/robots.txt
--- 0.762/robots.txt	2005-11-27 05:46:06.000000000 -0600
+++ 0.763/robots.txt	2006-10-17 16:24:09.000000000 -0500
@@ -1,9 +1,12 @@
 User-agent: *
-Disallow: admin.php
-Disallow: config
-Disallow: header
-Disallow: footer
-Disallow: pntables
+Disallow: /admin
+Disallow: /banners
+Disallow: /config
+Disallow: /config-old
+Disallow: /error
+Disallow: /header
+Disallow: /footer
+Disallow: /pntables
 Disallow: /images
 Disallow: /includes
 Disallow: /themes
diff -ruN 0.762/themes/ExtraLite/theme.php 0.763/themes/ExtraLite/theme.php
--- 0.762/themes/ExtraLite/theme.php	2006-01-07 11:44:02.000000000 -0600
+++ 0.763/themes/ExtraLite/theme.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.29 2006/01/07 17:44:02 markwest Exp $
+// File: $Id: theme.php 17479 2006-01-07 17:44:02Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/themes/PiterpanV2/lang/eng/global.php 0.763/themes/PiterpanV2/lang/eng/global.php
--- 0.762/themes/PiterpanV2/lang/eng/global.php	2004-10-27 05:09:09.000000000 -0500
+++ 0.763/themes/PiterpanV2/lang/eng/global.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: global.php,v 1.1 2004/10/27 10:09:09 markwest Exp $
+// $Id: global.php 14803 2004-10-27 10:13:18Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by The PostNuke Development Team.
diff -ruN 0.762/themes/PiterpanV2/lang/eng/xaninfo.php 0.763/themes/PiterpanV2/lang/eng/xaninfo.php
--- 0.762/themes/PiterpanV2/lang/eng/xaninfo.php	1969-12-31 18:00:00.000000000 -0600
+++ 0.763/themes/PiterpanV2/lang/eng/xaninfo.php	2006-10-17 16:24:07.000000000 -0500
@@ -0,0 +1,6 @@
+<?php
+
+define('_XA_ORIGINALAUTHOR', 'Original Author');
+define('_XA_ORIGINALURL', 'Original URL');
+
+?>
\ No newline at end of file
diff -ruN 0.762/themes/PiterpanV2/lang/eng/xaninit.php 0.763/themes/PiterpanV2/lang/eng/xaninit.php
--- 0.762/themes/PiterpanV2/lang/eng/xaninit.php	2005-01-11 11:38:48.000000000 -0600
+++ 0.763/themes/PiterpanV2/lang/eng/xaninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: xaninit.php,v 1.1.2.2 2005/01/11 17:38:48 markwest Exp $
+// $Id: xaninit.php 16722 2005-08-27 12:35:10Z  $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/themes/PiterpanV2/theme.php 0.763/themes/PiterpanV2/theme.php
--- 0.762/themes/PiterpanV2/theme.php	2004-10-27 07:37:28.000000000 -0500
+++ 0.763/themes/PiterpanV2/theme.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.3.2.1 2004/10/27 12:37:28 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: theme.php 16722 2005-08-27 12:35:10Z  $ $Name$
 // Copyright (c) 2002 by Pyksel (pyksel@envolution.com)
 // http://www.envolution.com
 // Envolution Content Management System - http://www.envolution.com
diff -ruN 0.762/themes/PiterpanV2/xaninit.php 0.763/themes/PiterpanV2/xaninit.php
--- 0.762/themes/PiterpanV2/xaninit.php	2005-01-11 11:38:48.000000000 -0600
+++ 0.763/themes/PiterpanV2/xaninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: xaninit.php,v 1.1.2.2 2005/01/11 17:38:48 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: xaninit.php 16722 2005-08-27 12:35:10Z  $ $Name$
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/themes/PostNuke/lang/eng/global.php 0.763/themes/PostNuke/lang/eng/global.php
--- 0.762/themes/PostNuke/lang/eng/global.php	2004-12-13 08:53:45.000000000 -0600
+++ 0.763/themes/PostNuke/lang/eng/global.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: global.php,v 1.3.2.1 2004/12/13 14:53:45 markwest Exp $
+// $Id: global.php 15137 2004-12-13 14:53:46Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by The PostNuke Development Team.
diff -ruN 0.762/themes/PostNuke/lang/eng/xaninit.php 0.763/themes/PostNuke/lang/eng/xaninit.php
--- 0.762/themes/PostNuke/lang/eng/xaninit.php	2005-01-11 11:38:49.000000000 -0600
+++ 0.763/themes/PostNuke/lang/eng/xaninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: xaninit.php,v 1.1.2.2 2005/01/11 17:38:49 markwest Exp $
+// $Id: xaninit.php 15344 2005-01-11 17:38:50Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/themes/PostNuke/templates/blocks/dsblock.htm 0.763/themes/PostNuke/templates/blocks/dsblock.htm
--- 0.762/themes/PostNuke/templates/blocks/dsblock.htm	2005-01-12 03:41:15.000000000 -0600
+++ 0.763/themes/PostNuke/templates/blocks/dsblock.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,12 +1,12 @@
-<!-- Start Default Side Block -->
-<div class="pn-block" style="width:<!--[$lcolwidth]-->px;">
-    <!--[if $title neq ""]-->
-	<div class="pn-blocktitle" style="	border-color:<!--[$sepcolor]-->;background-color:<!--[$color2]-->;">
-		<span class="pn-title"><!--[$title]--></span>
-	</div>
-	<!--[/if]-->
-	<div class="pn-blockcontent">
-		<!--[$content]-->
-	</div>
-</div>
+<!-- Start Default Side Block -->
+<div class="pn-block" style="width:<!--[$lcolwidth]-->px;">
+    <!--[if $title neq ""]-->
+	<div class="pn-blocktitle" style="	border-color:<!--[$sepcolor]-->;background-color:<!--[$color2]-->;">
+		<span class="pn-title"><!--[$title]--></span>
+	</div>
+	<!--[/if]-->
+	<div class="pn-blockcontent">
+		<!--[$content]-->
+	</div>
+</div>
 <!-- End Default Side Block -->
\ No newline at end of file
diff -ruN 0.762/themes/PostNuke/theme.php 0.763/themes/PostNuke/theme.php
--- 0.762/themes/PostNuke/theme.php	2004-10-27 07:37:29.000000000 -0500
+++ 0.763/themes/PostNuke/theme.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.5.2.1 2004/10/27 12:37:29 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: theme.php 16722 2005-08-27 12:35:10Z  $ $Name$
 // Copyright (c) 2002 by Pyksel (pyksel@envolution.com)
 // http://www.envolution.com
 // Envolution Content Management System - http://www.envolution.com
diff -ruN 0.762/themes/PostNukeBlue/lang/eng/global.php 0.763/themes/PostNukeBlue/lang/eng/global.php
--- 0.762/themes/PostNukeBlue/lang/eng/global.php	2005-07-24 18:20:56.000000000 -0500
+++ 0.763/themes/PostNukeBlue/lang/eng/global.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: global.php,v 1.1.2.2 2005/07/24 23:20:56 markwest Exp $
+// $Id: global.php 16503 2005-07-24 23:20:58Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/themes/PostNukeBlue/lang/eng/xaninit.php 0.763/themes/PostNukeBlue/lang/eng/xaninit.php
--- 0.762/themes/PostNukeBlue/lang/eng/xaninit.php	2005-07-24 18:20:56.000000000 -0500
+++ 0.763/themes/PostNukeBlue/lang/eng/xaninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: xaninit.php,v 1.1.2.4 2005/07/24 23:20:56 markwest Exp $
+// $Id: xaninit.php 16503 2005-07-24 23:20:58Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/themes/PostNukeBlue/theme.php 0.763/themes/PostNukeBlue/theme.php
--- 0.762/themes/PostNukeBlue/theme.php	2004-10-27 07:37:29.000000000 -0500
+++ 0.763/themes/PostNukeBlue/theme.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.5.2.1 2004/10/27 12:37:29 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: theme.php 14813 2004-10-27 12:37:29Z markwest $ $Name$
 // Copyright (c) 2002 by Pyksel (pyksel@envolution.com)
 // http://www.envolution.com
 // Envolution Content Management System - http://www.envolution.com
diff -ruN 0.762/themes/PostNukeSilver/lang/eng/global.php 0.763/themes/PostNukeSilver/lang/eng/global.php
--- 0.762/themes/PostNukeSilver/lang/eng/global.php	2004-12-16 06:48:31.000000000 -0600
+++ 0.763/themes/PostNukeSilver/lang/eng/global.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: global.php,v 1.3.2.1 2004/12/16 12:48:31 markwest Exp $
+// $Id: global.php 15190 2004-12-16 12:48:33Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
diff -ruN 0.762/themes/PostNukeSilver/lang/eng/xaninit.php 0.763/themes/PostNukeSilver/lang/eng/xaninit.php
--- 0.762/themes/PostNukeSilver/lang/eng/xaninit.php	2005-01-11 11:38:49.000000000 -0600
+++ 0.763/themes/PostNukeSilver/lang/eng/xaninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: xaninit.php,v 1.1.2.2 2005/01/11 17:38:49 markwest Exp $
+// $Id: xaninit.php 15344 2005-01-11 17:38:50Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/themes/PostNukeSilver/templates/blocks/dsblock.htm 0.763/themes/PostNukeSilver/templates/blocks/dsblock.htm
--- 0.762/themes/PostNukeSilver/templates/blocks/dsblock.htm	2005-01-12 03:41:15.000000000 -0600
+++ 0.763/themes/PostNukeSilver/templates/blocks/dsblock.htm	2006-10-17 16:24:07.000000000 -0500
@@ -1,12 +1,12 @@
-<!-- Start Default Side Block -->
-<table width="100%" border="0" cellspacing="5" cellpadding="0">  
-	<tr>
-		<td align="left" valign="top" class="menu-title">  
-			<div class="border2" style="width:135px;margin-left:1px"><!--[$title]--></div>
-		</td>  
-	</tr>
-	<tr>
-		<td align="left" valign="top"><!--[$content]--></td>
-	</tr>
-</table>
+<!-- Start Default Side Block -->
+<table width="100%" border="0" cellspacing="5" cellpadding="0">  
+	<tr>
+		<td align="left" valign="top" class="menu-title">  
+			<div class="border2" style="width:135px;margin-left:1px"><!--[$title]--></div>
+		</td>  
+	</tr>
+	<tr>
+		<td align="left" valign="top"><!--[$content]--></td>
+	</tr>
+</table>
 <!-- End Default Side Block -->
\ No newline at end of file
diff -ruN 0.762/themes/PostNukeSilver/theme.php 0.763/themes/PostNukeSilver/theme.php
--- 0.762/themes/PostNukeSilver/theme.php	2004-10-27 07:37:29.000000000 -0500
+++ 0.763/themes/PostNukeSilver/theme.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.6.2.1 2004/10/27 12:37:29 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: theme.php 16722 2005-08-27 12:35:10Z  $ $Name$
 // Copyright (c) 2002 by Pyksel (pyksel@envolution.com)
 // http://www.envolution.com
 // Envolution Content Management System - http://www.envolution.com
diff -ruN 0.762/themes/Printer/lang/eng/global.php 0.763/themes/Printer/lang/eng/global.php
--- 0.762/themes/Printer/lang/eng/global.php	2005-02-04 00:35:13.000000000 -0600
+++ 0.763/themes/Printer/lang/eng/global.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: global.php,v 1.4 2005/02/04 06:35:13 jorg Exp $
+// File: $Id: global.php 15630 2005-02-04 06:35:42Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/themes/Printer/lang/eng/xaninit.php 0.763/themes/Printer/lang/eng/xaninit.php
--- 0.762/themes/Printer/lang/eng/xaninit.php	2004-12-09 08:24:57.000000000 -0600
+++ 0.763/themes/Printer/lang/eng/xaninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: xaninit.php,v 1.3 2004/12/09 14:24:57 markwest Exp $
+// $Id: xaninit.php 15087 2004-12-09 14:24:58Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/themes/Printer/plugins/function.footnotes.php 0.763/themes/Printer/plugins/function.footnotes.php
--- 0.762/themes/Printer/plugins/function.footnotes.php	2005-12-16 07:44:37.000000000 -0600
+++ 0.763/themes/Printer/plugins/function.footnotes.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.footnotes.php,v 1.2.2.1 2005/12/16 13:44:37 markwest Exp $
+// $Id: function.footnotes.php 17338 2005-12-16 13:44:37Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -31,7 +31,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.footnotes.php,v 1.2.2.1 2005/12/16 13:44:37 markwest Exp $
+ * @version      $Id: function.footnotes.php 17338 2005-12-16 13:44:37Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/themes/Printer/plugins/modifier.footnotes.php 0.763/themes/Printer/plugins/modifier.footnotes.php
--- 0.762/themes/Printer/plugins/modifier.footnotes.php	2005-12-16 07:44:37.000000000 -0600
+++ 0.763/themes/Printer/plugins/modifier.footnotes.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: modifier.footnotes.php,v 1.2.2.1 2005/12/16 13:44:37 markwest Exp $
+// $Id: modifier.footnotes.php 17338 2005-12-16 13:44:37Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: modifier.footnotes.php,v 1.2.2.1 2005/12/16 13:44:37 markwest Exp $
+ * @version      $Id: modifier.footnotes.php 17338 2005-12-16 13:44:37Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
diff -ruN 0.762/themes/Printer/theme.php 0.763/themes/Printer/theme.php
--- 0.762/themes/Printer/theme.php	2005-02-04 00:35:13.000000000 -0600
+++ 0.763/themes/Printer/theme.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.6 2005/02/04 06:35:13 jorg Exp $
+// File: $Id: theme.php 15630 2005-02-04 06:35:42Z jorg $
 // Copyright (c) 2002 by Pyksel (pyksel@envolution.com)
 // http://www.envolution.com
 // Envolution Content Management System - http://www.envolution.com
diff -ruN 0.762/themes/SeaBreeze/README 0.763/themes/SeaBreeze/README
--- 0.762/themes/SeaBreeze/README	2004-10-27 05:13:12.000000000 -0500
+++ 0.763/themes/SeaBreeze/README	2006-10-17 16:24:07.000000000 -0500
@@ -1 +1,25 @@
-SeaBreeze v1.0

This theme was designed by me, Vanessa of Designs4Nuke.com.
It was inspired by the Pacific Ocean in San Diego.  :-)  
and was created with simplicity in mind. 

The theme has been tested on several browsers and I know it works
in Netscape 4.7, Netscape 6.0 IE 5.0 on both Macs and PC's.

If you experience a problem with a specific browser please 
let me know so we can fix or if you fix it then send me the fix 
and I'll include it in an update/patch.

Thanks to everyone in the Postnuke community. This has really
been a group effort and I'm proud to be part of such a wonderful
helpful community of people.  

And a special thanks goes to Marty Vance aka Dracos for 
helping me with the Netscape style sheets and 
creating the stats bar graphic.


If you have any comments email me: vanessa@designs4nuke.com
 

\ No newline at end of file
+SeaBreeze v1.0
+
+This theme was designed by me, Vanessa of Designs4Nuke.com.
+It was inspired by the Pacific Ocean in San Diego.  :-)  
+and was created with simplicity in mind. 
+
+The theme has been tested on several browsers and I know it works
+in Netscape 4.7, Netscape 6.0 IE 5.0 on both Macs and PC's.
+
+If you experience a problem with a specific browser please 
+let me know so we can fix or if you fix it then send me the fix 
+and I'll include it in an update/patch.
+
+Thanks to everyone in the Postnuke community. This has really
+been a group effort and I'm proud to be part of such a wonderful
+helpful community of people.  
+
+And a special thanks goes to Marty Vance aka Dracos for 
+helping me with the Netscape style sheets and 
+creating the stats bar graphic.
+
+
+If you have any comments email me: vanessa@designs4nuke.com
+ 
+
diff -ruN 0.762/themes/SeaBreeze/README.txt 0.763/themes/SeaBreeze/README.txt
--- 0.762/themes/SeaBreeze/README.txt	2005-08-04 16:25:11.000000000 -0500
+++ 0.763/themes/SeaBreeze/README.txt	2006-10-17 16:24:07.000000000 -0500
@@ -1 +1,29 @@
-SeaBreeze v2

This theme was designed by me, Vanessa of Designs4Nuke.com.
It was inspired by the Pacific Ocean in San Diego.  :-)  
and was created with simplicity in mind. 

The theme has been tested on several browsers and I know it works
in Netscape 4.7, Netscape 6.0 IE 5.0 on both Macs and PC's.

If you experience a problem with a specific browser please 
let me know so we can fix or if you fix it then send me the fix 
and I'll include it in an update/patch.

Thanks to everyone in the Postnuke community. This has really
been a group effort and I'm proud to be part of such a wonderful
helpful community of people.  

And a special thanks goes to Marty Vance aka Dracos for 
helping me with the Netscape style sheets and 
creating the stats bar graphic.


If you have any comments email me: vanessa@designs4nuke.com
 
-----------------------------------------------------
'Xanthiarised' by Mark West and reworked/optimised by Martin Str Andersen 2004
Netscape 4 support has been deprecated.

7/7/2005 msandersen - Updated Xaninit, stylesheet, and templates; new Admin template.
\ No newline at end of file
+SeaBreeze v2
+
+This theme was designed by me, Vanessa of Designs4Nuke.com.
+It was inspired by the Pacific Ocean in San Diego.  :-)  
+and was created with simplicity in mind. 
+
+The theme has been tested on several browsers and I know it works
+in Netscape 4.7, Netscape 6.0 IE 5.0 on both Macs and PC's.
+
+If you experience a problem with a specific browser please 
+let me know so we can fix or if you fix it then send me the fix 
+and I'll include it in an update/patch.
+
+Thanks to everyone in the Postnuke community. This has really
+been a group effort and I'm proud to be part of such a wonderful
+helpful community of people.  
+
+And a special thanks goes to Marty Vance aka Dracos for 
+helping me with the Netscape style sheets and 
+creating the stats bar graphic.
+
+
+If you have any comments email me: vanessa@designs4nuke.com
+ 
+-----------------------------------------------------
+'Xanthiarised' by Mark West and reworked/optimised by Martin Str Andersen 2004
+Netscape 4 support has been deprecated.
+
+7/7/2005 msandersen - Updated Xaninit, stylesheet, and templates; new Admin template.
diff -ruN 0.762/themes/SeaBreeze/lang/eng/xaninit.php 0.763/themes/SeaBreeze/lang/eng/xaninit.php
--- 0.762/themes/SeaBreeze/lang/eng/xaninit.php	2005-08-04 16:25:12.000000000 -0500
+++ 0.763/themes/SeaBreeze/lang/eng/xaninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: xaninit.php,v 1.1.2.4 2005/08/04 21:25:12 markwest Exp $
+// $Id: xaninit.php 16598 2005-08-04 21:25:13Z markwest $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/themes/SeaBreeze/plugins/function.ImageAlign.php 0.763/themes/SeaBreeze/plugins/function.ImageAlign.php
--- 0.762/themes/SeaBreeze/plugins/function.ImageAlign.php	2005-08-04 16:25:12.000000000 -0500
+++ 0.763/themes/SeaBreeze/plugins/function.ImageAlign.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: function.ImageAlign.php,v 1.1.2.2 2005/08/04 21:25:12 markwest Exp $
+// $Id: function.ImageAlign.php 16598 2005-08-04 21:25:13Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by the PostNuke Development Team.
@@ -30,7 +30,7 @@
  *
  * @package      Xanthia_Templating_Environment
  * @subpackage   Xanthia
- * @version      $Id: function.ImageAlign.php,v 1.1.2.2 2005/08/04 21:25:12 markwest Exp $
+ * @version      $Id: function.ImageAlign.php 16598 2005-08-04 21:25:13Z markwest $
  * @author       The PostNuke development team
  * @link         http://www.postnuke.com  The PostNuke Home Page
  * @copyright    Copyright (C) 2002 by the PostNuke Development Team
diff -ruN 0.762/themes/SeaBreeze/theme.php 0.763/themes/SeaBreeze/theme.php
--- 0.762/themes/SeaBreeze/theme.php	2005-08-04 16:25:11.000000000 -0500
+++ 0.763/themes/SeaBreeze/theme.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.5.2.2 2005/08/04 21:25:11 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: theme.php 16598 2005-08-04 21:25:13Z markwest $ $Name$
 // Copyright (c) 2002 by Pyksel (pyksel@envolution.com)
 // http://www.envolution.com
 // Envolution Content Management System - http://www.envolution.com
diff -ruN 0.762/themes/pnDefault/lang/eng/global.php 0.763/themes/pnDefault/lang/eng/global.php
--- 0.762/themes/pnDefault/lang/eng/global.php	2004-10-27 05:09:17.000000000 -0500
+++ 0.763/themes/pnDefault/lang/eng/global.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: global.php,v 1.1 2004/10/27 10:09:17 markwest Exp $
+// $Id: global.php 14803 2004-10-27 10:13:18Z markwest $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2002 by The PostNuke Development Team.
diff -ruN 0.762/themes/pnDefault/lang/eng/xaninit.php 0.763/themes/pnDefault/lang/eng/xaninit.php
--- 0.762/themes/pnDefault/lang/eng/xaninit.php	2005-01-11 11:38:50.000000000 -0600
+++ 0.763/themes/pnDefault/lang/eng/xaninit.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: xaninit.php,v 1.1.2.2 2005/01/11 17:38:50 markwest Exp $
+// $Id: xaninit.php 16722 2005-08-27 12:35:10Z  $
 // Xanthia Theme Engine FOR PostNuke Content Management System
 // Copyright (C) 2003 by the CorpNuke.com Development Team.
 // Copyright is claimed only on changes to original files
diff -ruN 0.762/themes/pnDefault/scripts/imgswap.js.php 0.763/themes/pnDefault/scripts/imgswap.js.php
--- 0.762/themes/pnDefault/scripts/imgswap.js.php	2004-10-27 05:09:23.000000000 -0500
+++ 0.763/themes/pnDefault/scripts/imgswap.js.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,43 +1,43 @@
-<?php
-// Image Swap Script
-echo "<script language=\"JavaScript\" type=\"text/JavaScript\">
-<!--
-function MM_reloadPage(init) {  //reloads the window if Nav4 resized
-	if (init==true) with (navigator) {
-		if ((appName==\"Netscape\")&&(parseInt(appVersion)==4)) {
-			document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; 
-		}
-	} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
-		location.reload();
-}
-MM_reloadPage(true);
-
-function MM_findObj(n, d) { //v4.0
-	var p,i,x;
-	if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) {
-		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
-	}
-	if(!(x=d[n])&&d.all) 
-		x=d.all[n];
-	for (i=0;!x&&i<d.forms.length;i++)
-		x=d.forms[i][n];
-	for(i=0;!x&&d.layers&&i<d.layers.length;i++)
-		x=MM_findObj(n,d.layers[i].document);
-	if(!x && document.getElementById)
-		x=document.getElementById(n); return x;
-}
-
-function MM_showHideLayers() { //v3.0
-	var i,p,v,obj,args=MM_showHideLayers.arguments;
-	for (i=0; i<(args.length-2); i+=3)
-		if ((obj=MM_findObj(args[i]))!=null) {
-			v=args[i+2];
-			if (obj.style) {
-				obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v;
-			}
-			obj.visibility=v;
-		}
-}
-//-->
-</SCRIPT>";
-?> 
+<?php
+// Image Swap Script
+echo "<script language=\"JavaScript\" type=\"text/JavaScript\">
+<!--
+function MM_reloadPage(init) {  //reloads the window if Nav4 resized
+	if (init==true) with (navigator) {
+		if ((appName==\"Netscape\")&&(parseInt(appVersion)==4)) {
+			document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; 
+		}
+	} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
+		location.reload();
+}
+MM_reloadPage(true);
+
+function MM_findObj(n, d) { //v4.0
+	var p,i,x;
+	if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) {
+		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
+	}
+	if(!(x=d[n])&&d.all) 
+		x=d.all[n];
+	for (i=0;!x&&i<d.forms.length;i++)
+		x=d.forms[i][n];
+	for(i=0;!x&&d.layers&&i<d.layers.length;i++)
+		x=MM_findObj(n,d.layers[i].document);
+	if(!x && document.getElementById)
+		x=document.getElementById(n); return x;
+}
+
+function MM_showHideLayers() { //v3.0
+	var i,p,v,obj,args=MM_showHideLayers.arguments;
+	for (i=0; i<(args.length-2); i+=3)
+		if ((obj=MM_findObj(args[i]))!=null) {
+			v=args[i+2];
+			if (obj.style) {
+				obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v;
+			}
+			obj.visibility=v;
+		}
+}
+//-->
+</SCRIPT>";
+?> 
diff -ruN 0.762/themes/pnDefault/scripts/menu_js.php 0.763/themes/pnDefault/scripts/menu_js.php
--- 0.762/themes/pnDefault/scripts/menu_js.php	2004-10-27 05:09:23.000000000 -0500
+++ 0.763/themes/pnDefault/scripts/menu_js.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,48 +1,48 @@
-<?php
-?>
-
-var agt = navigator.userAgent.toLowerCase();
-var versInt = parseInt(navigator.appVersion);
-var is_ie	= ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
-var is_ie3    = (is_ie && (versInt < 4));
-var is_ie4    = (is_ie && (versInt == 4) && (agt.indexOf("msie 4")!=-1) );
-var is_aol   = (agt.indexOf("aol") != -1);
-var is_aol3  = (is_aol && is_ie3);
-var is_aol4  = (is_aol && is_ie4);
-var is_aol5  = (agt.indexOf("aol 5") != -1);
-var is_aol6  = (agt.indexOf("aol 6") != -1);
-var is_comp   = (agt.indexOf("compuserve") != -1);
-var is_comp2000   = (agt.indexOf("cs") != -1);	 
-var is_compie = (is_comp && is_ie);
-
-
-function ENVO_navBar( tableCellRef, hoverFlag, navStyle ) {
-	if ( hoverFlag ) {
-		switch ( navStyle ) {
-			case 1:
-				tableCellRef.style.backgroundColor = '#999999';
-				break;
-			default:
-//				tableCellRef.style.backgroundColor = '#999999';
-				if ( document.getElementsByTagName ) {
-					tableCellRef.getElementsByTagName( 'a' )[0].style.color = '#c00';
-				}
-		}
-	} else {
-		switch ( navStyle ) {
-			case 1:
-				tableCellRef.style.backgroundColor = '#666666';
-				break;
-			default:
-//				tableCellRef.style.backgroundColor = '#666666';
-				if ( document.getElementsByTagName ) {
-					tableCellRef.getElementsByTagName( 'a' )[0].style.color = '#000';
-				}
-		}
-	}
-}
-
-function ENVO_navBarClick( tableCellRef, navStyle, url ) {
-	ENVO_navBar( tableCellRef, 0, navStyle );
-	ENVO_goTo( url );
+<?php
+?>
+
+var agt = navigator.userAgent.toLowerCase();
+var versInt = parseInt(navigator.appVersion);
+var is_ie	= ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
+var is_ie3    = (is_ie && (versInt < 4));
+var is_ie4    = (is_ie && (versInt == 4) && (agt.indexOf("msie 4")!=-1) );
+var is_aol   = (agt.indexOf("aol") != -1);
+var is_aol3  = (is_aol && is_ie3);
+var is_aol4  = (is_aol && is_ie4);
+var is_aol5  = (agt.indexOf("aol 5") != -1);
+var is_aol6  = (agt.indexOf("aol 6") != -1);
+var is_comp   = (agt.indexOf("compuserve") != -1);
+var is_comp2000   = (agt.indexOf("cs") != -1);	 
+var is_compie = (is_comp && is_ie);
+
+
+function ENVO_navBar( tableCellRef, hoverFlag, navStyle ) {
+	if ( hoverFlag ) {
+		switch ( navStyle ) {
+			case 1:
+				tableCellRef.style.backgroundColor = '#999999';
+				break;
+			default:
+//				tableCellRef.style.backgroundColor = '#999999';
+				if ( document.getElementsByTagName ) {
+					tableCellRef.getElementsByTagName( 'a' )[0].style.color = '#c00';
+				}
+		}
+	} else {
+		switch ( navStyle ) {
+			case 1:
+				tableCellRef.style.backgroundColor = '#666666';
+				break;
+			default:
+//				tableCellRef.style.backgroundColor = '#666666';
+				if ( document.getElementsByTagName ) {
+					tableCellRef.getElementsByTagName( 'a' )[0].style.color = '#000';
+				}
+		}
+	}
+}
+
+function ENVO_navBarClick( tableCellRef, navStyle, url ) {
+	ENVO_navBar( tableCellRef, 0, navStyle );
+	ENVO_goTo( url );
 }
\ No newline at end of file
diff -ruN 0.762/themes/pnDefault/theme.php 0.763/themes/pnDefault/theme.php
--- 0.762/themes/pnDefault/theme.php	2004-10-27 07:37:29.000000000 -0500
+++ 0.763/themes/pnDefault/theme.php	2006-10-17 16:24:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: theme.php,v 1.3.2.1 2004/10/27 12:37:29 markwest Exp $ $Name: PostNuke_0_760 $
+// File: $Id: theme.php 16722 2005-08-27 12:35:10Z  $ $Name$
 // Copyright (c) 2002 by Pyksel (pyksel@envolution.com)
 // http://www.envolution.com
 // Envolution Content Management System - http://www.envolution.com
diff -ruN 0.762/upgrade.php 0.763/upgrade.php
--- 0.762/upgrade.php	2005-09-26 15:42:35.000000000 -0500
+++ 0.763/upgrade.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: upgrade.php,v 1.1 2005/09/26 20:42:35 drak Exp $
+// File: $Id: upgrade.php 16811 2005-09-26 20:42:35Z drak $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
diff -ruN 0.762/user.php 0.763/user.php
--- 0.762/user.php	2005-09-20 06:23:04.000000000 -0500
+++ 0.763/user.php	2006-10-17 16:24:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// File: $Id: user.php,v 1.20 2005/09/20 11:23:04 jorg Exp $
+// File: $Id: user.php 16763 2005-09-20 11:23:04Z jorg $
 // ----------------------------------------------------------------------
 // PostNuke Content Management System
 // Copyright (C) 2001 by the PostNuke Development Team.
