[Fusionforge-commits] r15022 - in trunk/src/plugins/wiki/www: . config lib lib/ASCIIMathPHP lib/DbSession lib/WikiDB lib/WikiDB/adodb lib/WikiDB/adodb/drivers lib/WikiDB/backend lib/WikiDB/backend/dumb lib/WysiwygEdit lib/XMLRPC lib/fpdf lib/nusoap lib/pear lib/pear/Cache lib/pear/Cache/Container lib/pear/DB lib/plugin locale/de/LC_MESSAGES locale/es/LC_MESSAGES locale/fr/LC_MESSAGES locale/it/LC_MESSAGES locale/ja/LC_MESSAGES locale/nl/LC_MESSAGES locale/po locale/sv/LC_MESSAGES locale/zh/LC_MESSAGES pgsrc schemas tests/unit tests/unit/lib tests/unit/lib/plugin tests/xmlrpc themes themes/Crao themes/Crao/templates themes/Hawaiian themes/Hawaiian/lib themes/MacOSX themes/MacOSX/buttons themes/MacOSX/buttons/de themes/MacOSX/buttons/en themes/MacOSX/images themes/MacOSX/lib themes/MonoBook themes/MonoBook/templates themes/Portland themes/Portland/lib themes/Portland/templates themes/Sidebar themes/Sidebar/templates themes/SpaceWiki themes/SpaceWiki/lib themes/Wordpress themes/Wordpress/lib themes/Wordpress/templates themes/blog themes/blog/lib themes/blog/templates themes/default themes/default/templates themes/fusionforge themes/fusionforge/pgsrc themes/fusionforge/templates themes/shamino_com themes/smaller themes/wikilens

Marc-Etienne VARGENAU vargenau at fusionforge.org
Mon Dec 19 08:11:39 CET 2011


Author: vargenau
Date: 2011-12-19 08:11:37 +0100 (Mon, 19 Dec 2011)
New Revision: 15022

Added:
   trunk/src/plugins/wiki/www/themes/default/yuicompressor-2.4.7.jar
Removed:
   trunk/src/plugins/wiki/www/themes/default/yuicompressor-2.4.2.jar
Modified:
   trunk/src/plugins/wiki/www/ImageTile.php
   trunk/src/plugins/wiki/www/RPC2.php
   trunk/src/plugins/wiki/www/config/config-default.ini
   trunk/src/plugins/wiki/www/config/config-dist.ini
   trunk/src/plugins/wiki/www/g
   trunk/src/plugins/wiki/www/getimg.php
   trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP-2.0.cfg.php
   trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP-2.0.class.php
   trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP.cfg.php
   trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP.class.php
   trunk/src/plugins/wiki/www/lib/CachedMarkup.php
   trunk/src/plugins/wiki/www/lib/DbSession/PDO.php
   trunk/src/plugins/wiki/www/lib/DbSession/SQL.php
   trunk/src/plugins/wiki/www/lib/DbSession/dba.php
   trunk/src/plugins/wiki/www/lib/EditToolbar.php
   trunk/src/plugins/wiki/www/lib/InlineParser.php
   trunk/src/plugins/wiki/www/lib/MailNotify.php
   trunk/src/plugins/wiki/www/lib/WikiDB/ADODB.php
   trunk/src/plugins/wiki/www/lib/WikiDB/PDO.php
   trunk/src/plugins/wiki/www/lib/WikiDB/SQL.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-csvlib.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-error.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-errorhandler.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-errorpear.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-exceptions.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-iterator.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-lib.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-pear.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-php4.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-time.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-access.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado_access.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado_mssql.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-borland_ibase.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-csv.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-db2.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-fbsql.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-firebird.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ibase.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-informix.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-informix72.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ldap.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssql.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssqlnative.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssqlpo.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysql.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysqli.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysqlt.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-netezza.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci8.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci805.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci8po.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc_mssql.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc_oracle.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbtp.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbtp_unicode.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oracle.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres64.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres7.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-proxy.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sapdb.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sqlanywhere.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sqlite.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sybase.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-vfp.inc.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mssql.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mssqlnative.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mysql.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_oci8po.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_postgres7.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_sqlite.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_ffpgsql.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_mysql.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_oci8.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_pgsql.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_sqlite.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/cvs.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/dba.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/dbaBase.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/AllRevisionsIter.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/BackLinkIter.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/MostPopularIter.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/MostRecentIter.php
   trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/TextSearchIter.php
   trunk/src/plugins/wiki/www/lib/WikiDB/cvs.php
   trunk/src/plugins/wiki/www/lib/WikiDB/dba.php
   trunk/src/plugins/wiki/www/lib/WikiTheme.php
   trunk/src/plugins/wiki/www/lib/WikiUserNew.php
   trunk/src/plugins/wiki/www/lib/WysiwygEdit/FCKeditor.php
   trunk/src/plugins/wiki/www/lib/WysiwygEdit/Wikiwyg.php
   trunk/src/plugins/wiki/www/lib/WysiwygEdit/htmlarea2.php
   trunk/src/plugins/wiki/www/lib/WysiwygEdit/htmlarea3.php
   trunk/src/plugins/wiki/www/lib/WysiwygEdit/spaw.php
   trunk/src/plugins/wiki/www/lib/WysiwygEdit/tinymce.php
   trunk/src/plugins/wiki/www/lib/XMLRPC/utils.php
   trunk/src/plugins/wiki/www/lib/diff.php
   trunk/src/plugins/wiki/www/lib/display.php
   trunk/src/plugins/wiki/www/lib/fpdf/japanese.php
   trunk/src/plugins/wiki/www/lib/loadsave.php
   trunk/src/plugins/wiki/www/lib/main.php
   trunk/src/plugins/wiki/www/lib/nusoap/nusoap.php
   trunk/src/plugins/wiki/www/lib/pear/Cache.php
   trunk/src/plugins/wiki/www/lib/pear/Cache/Container.php
   trunk/src/plugins/wiki/www/lib/pear/Cache/Container/file.php
   trunk/src/plugins/wiki/www/lib/pear/Cache/Container/imgfile.php
   trunk/src/plugins/wiki/www/lib/pear/Cache/Container/trifile.php
   trunk/src/plugins/wiki/www/lib/pear/Cache/Error.php
   trunk/src/plugins/wiki/www/lib/pear/Cache/Graphics.php
   trunk/src/plugins/wiki/www/lib/pear/DB/Pager.php
   trunk/src/plugins/wiki/www/lib/pear/DB/common.php
   trunk/src/plugins/wiki/www/lib/pear/DB/dbase.php
   trunk/src/plugins/wiki/www/lib/pear/DB/ibase.php
   trunk/src/plugins/wiki/www/lib/pear/DB/ifx.php
   trunk/src/plugins/wiki/www/lib/pear/DB/ldap.php
   trunk/src/plugins/wiki/www/lib/pear/DB/oci8.php
   trunk/src/plugins/wiki/www/lib/pear/DB/storage.php
   trunk/src/plugins/wiki/www/lib/pear/File_Passwd.php
   trunk/src/plugins/wiki/www/lib/pear/JSON.php
   trunk/src/plugins/wiki/www/lib/plugin/AddComment.php
   trunk/src/plugins/wiki/www/lib/plugin/AppendText.php
   trunk/src/plugins/wiki/www/lib/plugin/AtomFeed.php
   trunk/src/plugins/wiki/www/lib/plugin/Chart.php
   trunk/src/plugins/wiki/www/lib/plugin/CreateBib.php
   trunk/src/plugins/wiki/www/lib/plugin/CreateToc.php
   trunk/src/plugins/wiki/www/lib/plugin/FacebookLike.php
   trunk/src/plugins/wiki/www/lib/plugin/FileInfo.php
   trunk/src/plugins/wiki/www/lib/plugin/GoogleMaps.php
   trunk/src/plugins/wiki/www/lib/plugin/IncludePage.php
   trunk/src/plugins/wiki/www/lib/plugin/ModeratedPage.php
   trunk/src/plugins/wiki/www/lib/plugin/PageGroup.php
   trunk/src/plugins/wiki/www/lib/plugin/SyntaxHighlighter.php
   trunk/src/plugins/wiki/www/lib/plugin/Template.php
   trunk/src/plugins/wiki/www/lib/plugin/WatchPage.php
   trunk/src/plugins/wiki/www/lib/plugin/WhoIsOnline.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiAdminChown.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiAdminMarkup.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiAdminPurge.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiAdminRemove.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiAdminRename.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiAdminUtils.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiForm.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiForum.php
   trunk/src/plugins/wiki/www/lib/plugin/WikiPoll.php
   trunk/src/plugins/wiki/www/lib/purgepage.php
   trunk/src/plugins/wiki/www/lib/removepage.php
   trunk/src/plugins/wiki/www/lib/stdlib.php
   trunk/src/plugins/wiki/www/lib/upgrade.php
   trunk/src/plugins/wiki/www/locale/de/LC_MESSAGES/phpwiki.mo
   trunk/src/plugins/wiki/www/locale/de/LC_MESSAGES/phpwiki.php
   trunk/src/plugins/wiki/www/locale/es/LC_MESSAGES/phpwiki.mo
   trunk/src/plugins/wiki/www/locale/es/LC_MESSAGES/phpwiki.php
   trunk/src/plugins/wiki/www/locale/fr/LC_MESSAGES/phpwiki.mo
   trunk/src/plugins/wiki/www/locale/fr/LC_MESSAGES/phpwiki.php
   trunk/src/plugins/wiki/www/locale/it/LC_MESSAGES/phpwiki.mo
   trunk/src/plugins/wiki/www/locale/it/LC_MESSAGES/phpwiki.php
   trunk/src/plugins/wiki/www/locale/ja/LC_MESSAGES/phpwiki.mo
   trunk/src/plugins/wiki/www/locale/ja/LC_MESSAGES/phpwiki.php
   trunk/src/plugins/wiki/www/locale/nl/LC_MESSAGES/phpwiki.mo
   trunk/src/plugins/wiki/www/locale/nl/LC_MESSAGES/phpwiki.php
   trunk/src/plugins/wiki/www/locale/po/de.po
   trunk/src/plugins/wiki/www/locale/po/es.po
   trunk/src/plugins/wiki/www/locale/po/fr.po
   trunk/src/plugins/wiki/www/locale/po/it.po
   trunk/src/plugins/wiki/www/locale/po/ja.po
   trunk/src/plugins/wiki/www/locale/po/nl.po
   trunk/src/plugins/wiki/www/locale/po/phpwiki.pot
   trunk/src/plugins/wiki/www/locale/po/sv.po
   trunk/src/plugins/wiki/www/locale/po/zh.po
   trunk/src/plugins/wiki/www/locale/sv/LC_MESSAGES/phpwiki.mo
   trunk/src/plugins/wiki/www/locale/sv/LC_MESSAGES/phpwiki.php
   trunk/src/plugins/wiki/www/locale/zh/LC_MESSAGES/phpwiki.mo
   trunk/src/plugins/wiki/www/locale/zh/LC_MESSAGES/phpwiki.php
   trunk/src/plugins/wiki/www/passencrypt.php
   trunk/src/plugins/wiki/www/pgsrc/Help%2FChartPlugin
   trunk/src/plugins/wiki/www/pgsrc/Help%2FCreateBibPlugin
   trunk/src/plugins/wiki/www/pgsrc/Help%2FFileInfoPlugin
   trunk/src/plugins/wiki/www/pgsrc/Help%2FGoogleMapsPlugin
   trunk/src/plugins/wiki/www/pgsrc/Help%2FImages
   trunk/src/plugins/wiki/www/pgsrc/Help%2FIncludePagePlugin
   trunk/src/plugins/wiki/www/pgsrc/Help%2FPageGroupPlugin
   trunk/src/plugins/wiki/www/pgsrc/Help%2FPhotoAlbumPlugin
   trunk/src/plugins/wiki/www/pgsrc/Help%2FSyntaxHighlighterPlugin
   trunk/src/plugins/wiki/www/pgsrc/Help%2FTemplatePlugin
   trunk/src/plugins/wiki/www/pgsrc/SpecialPages
   trunk/src/plugins/wiki/www/schemas/mssql-initialize.sql
   trunk/src/plugins/wiki/www/schemas/mysql-1_3_11.sql
   trunk/src/plugins/wiki/www/schemas/mysql-initialize.sql
   trunk/src/plugins/wiki/www/schemas/oci8-destroy.sql
   trunk/src/plugins/wiki/www/schemas/oci8-initialize.sql
   trunk/src/plugins/wiki/www/schemas/psql-1_3_12.sql
   trunk/src/plugins/wiki/www/schemas/psql-initialize.sql
   trunk/src/plugins/wiki/www/schemas/psql-tsearch2.sql
   trunk/src/plugins/wiki/www/schemas/sqlite-initialize.sql
   trunk/src/plugins/wiki/www/schemas/sqlsrv-initialize.sql
   trunk/src/plugins/wiki/www/tests/unit/lib/AtomParserTest.php
   trunk/src/plugins/wiki/www/tests/unit/lib/DumpHtml.php
   trunk/src/plugins/wiki/www/tests/unit/lib/HtmlParserTest.php
   trunk/src/plugins/wiki/www/tests/unit/lib/InlineParserTest.php
   trunk/src/plugins/wiki/www/tests/unit/lib/SetupWiki.php
   trunk/src/plugins/wiki/www/tests/unit/lib/TextSearchTest.php
   trunk/src/plugins/wiki/www/tests/unit/lib/XmlRpcTest.php
   trunk/src/plugins/wiki/www/tests/unit/lib/plugin/AllPagesTest.php
   trunk/src/plugins/wiki/www/tests/unit/lib/plugin/AtomFeedTest.php
   trunk/src/plugins/wiki/www/tests/unit/lib/plugin/IncludePageTest.php
   trunk/src/plugins/wiki/www/tests/unit/mysql-test-initialize.sql
   trunk/src/plugins/wiki/www/tests/unit/pcre-crash.php
   trunk/src/plugins/wiki/www/tests/unit/psql-test-initialize.sql
   trunk/src/plugins/wiki/www/tests/xmlrpc/interop-client.php
   trunk/src/plugins/wiki/www/tests/xmlrpc/interop-server.php
   trunk/src/plugins/wiki/www/tests/xmlrpc/validate-form.php
   trunk/src/plugins/wiki/www/tests/xmlrpc/validate.php
   trunk/src/plugins/wiki/www/tests/xmlrpc/xmlrpc-client.php
   trunk/src/plugins/wiki/www/tests/xmlrpc/xmlrpc-introspect.php
   trunk/src/plugins/wiki/www/tests/xmlrpc/xmlrpc-servers.php
   trunk/src/plugins/wiki/www/themes/Crao/crao-min.css
   trunk/src/plugins/wiki/www/themes/Crao/crao.css
   trunk/src/plugins/wiki/www/themes/Crao/templates/browse.tmpl
   trunk/src/plugins/wiki/www/themes/Crao/templates/editpage.tmpl
   trunk/src/plugins/wiki/www/themes/Hawaiian/Hawaiian-min.css
   trunk/src/plugins/wiki/www/themes/Hawaiian/Hawaiian.css
   trunk/src/plugins/wiki/www/themes/Hawaiian/lib/random.php
   trunk/src/plugins/wiki/www/themes/MacOSX/MacOSX-min.css
   trunk/src/plugins/wiki/www/themes/MacOSX/MacOSX-topbottombars-min.css
   trunk/src/plugins/wiki/www/themes/MacOSX/MacOSX.css
   trunk/src/plugins/wiki/www/themes/MacOSX/buttons/de/index.php
   trunk/src/plugins/wiki/www/themes/MacOSX/buttons/en/index.php
   trunk/src/plugins/wiki/www/themes/MacOSX/buttons/index.php
   trunk/src/plugins/wiki/www/themes/MacOSX/images/index.php
   trunk/src/plugins/wiki/www/themes/MacOSX/lib/RecentChanges.php
   trunk/src/plugins/wiki/www/themes/Makefile
   trunk/src/plugins/wiki/www/themes/Makefile.global
   trunk/src/plugins/wiki/www/themes/MonoBook/IE60Fixes-min.css
   trunk/src/plugins/wiki/www/themes/MonoBook/IE70Fixes-min.css
   trunk/src/plugins/wiki/www/themes/MonoBook/commonPrint-min.css
   trunk/src/plugins/wiki/www/themes/MonoBook/main-min.css
   trunk/src/plugins/wiki/www/themes/MonoBook/main.css
   trunk/src/plugins/wiki/www/themes/MonoBook/rtl-min.css
   trunk/src/plugins/wiki/www/themes/MonoBook/templates/browse.tmpl
   trunk/src/plugins/wiki/www/themes/MonoBook/templates/info.tmpl
   trunk/src/plugins/wiki/www/themes/MonoBook/templates/navbar.tmpl
   trunk/src/plugins/wiki/www/themes/MonoBook/templates/signin.tmpl
   trunk/src/plugins/wiki/www/themes/MonoBook/wikiprintable-min.css
   trunk/src/plugins/wiki/www/themes/MonoBook/wikistandard-min.css
   trunk/src/plugins/wiki/www/themes/Portland/lib/RecentChanges.php
   trunk/src/plugins/wiki/www/themes/Portland/portland-min.css
   trunk/src/plugins/wiki/www/themes/Portland/portland.css
   trunk/src/plugins/wiki/www/themes/Portland/templates/browse.tmpl
   trunk/src/plugins/wiki/www/themes/Sidebar/sidebar-min.css
   trunk/src/plugins/wiki/www/themes/Sidebar/sidebar.css
   trunk/src/plugins/wiki/www/themes/Sidebar/templates/actionbar.tmpl
   trunk/src/plugins/wiki/www/themes/Sidebar/templates/navbar.tmpl
   trunk/src/plugins/wiki/www/themes/Sidebar/templates/signin.tmpl
   trunk/src/plugins/wiki/www/themes/SpaceWiki/SpaceWiki-min.css
   trunk/src/plugins/wiki/www/themes/SpaceWiki/SpaceWiki.css
   trunk/src/plugins/wiki/www/themes/SpaceWiki/lib/RecentChanges.php
   trunk/src/plugins/wiki/www/themes/Wordpress/Wordpress-min.css
   trunk/src/plugins/wiki/www/themes/Wordpress/Wordpress.css
   trunk/src/plugins/wiki/www/themes/Wordpress/lib/RecentChanges.php
   trunk/src/plugins/wiki/www/themes/Wordpress/templates/actionbar.tmpl
   trunk/src/plugins/wiki/www/themes/Wordpress/templates/editpage.tmpl
   trunk/src/plugins/wiki/www/themes/Wordpress/templates/viewsource.tmpl
   trunk/src/plugins/wiki/www/themes/blog/IEFixes-min.css
   trunk/src/plugins/wiki/www/themes/blog/Kubrick-min.css
   trunk/src/plugins/wiki/www/themes/blog/Kubrick.css
   trunk/src/plugins/wiki/www/themes/blog/lib/RecentChanges.php
   trunk/src/plugins/wiki/www/themes/blog/templates/browse.tmpl
   trunk/src/plugins/wiki/www/themes/blog/themeinfo.php
   trunk/src/plugins/wiki/www/themes/default/IEFixes-min.css
   trunk/src/plugins/wiki/www/themes/default/highlight-min.css
   trunk/src/plugins/wiki/www/themes/default/phpwiki-min.css
   trunk/src/plugins/wiki/www/themes/default/phpwiki-modern-min.css
   trunk/src/plugins/wiki/www/themes/default/phpwiki-printer-min.css
   trunk/src/plugins/wiki/www/themes/default/phpwiki-topbottombars-min.css
   trunk/src/plugins/wiki/www/themes/default/phpwiki.css
   trunk/src/plugins/wiki/www/themes/default/templates/browse.tmpl
   trunk/src/plugins/wiki/www/themes/default/templates/editpage.tmpl
   trunk/src/plugins/wiki/www/themes/default/templates/info.tmpl
   trunk/src/plugins/wiki/www/themes/default/templates/userprefs.tmpl
   trunk/src/plugins/wiki/www/themes/default/toolbar-min.css
   trunk/src/plugins/wiki/www/themes/default/toolbar.js
   trunk/src/plugins/wiki/www/themes/fusionforge/fusionforge-autonumbering-min.css
   trunk/src/plugins/wiki/www/themes/fusionforge/fusionforge-fullscreen-min.css
   trunk/src/plugins/wiki/www/themes/fusionforge/fusionforge-min.css
   trunk/src/plugins/wiki/www/themes/fusionforge/fusionforge-print-min.css
   trunk/src/plugins/wiki/www/themes/fusionforge/fusionforge-rereading-min.css
   trunk/src/plugins/wiki/www/themes/fusionforge/fusionforge.css
   trunk/src/plugins/wiki/www/themes/fusionforge/pgsrc/SpecialPages
   trunk/src/plugins/wiki/www/themes/fusionforge/templates/browse.tmpl
   trunk/src/plugins/wiki/www/themes/fusionforge/templates/navbar.tmpl
   trunk/src/plugins/wiki/www/themes/fusionforge/templates/userprefs.tmpl
   trunk/src/plugins/wiki/www/themes/fusionforge/themeinfo.php
   trunk/src/plugins/wiki/www/themes/fusionforge/wikilens-min.js
   trunk/src/plugins/wiki/www/themes/fusionforge/wikilens.js
   trunk/src/plugins/wiki/www/themes/shamino_com/shamino_com-min.css
   trunk/src/plugins/wiki/www/themes/shamino_com/shamino_com.css
   trunk/src/plugins/wiki/www/themes/smaller/phpwiki-min.css
   trunk/src/plugins/wiki/www/themes/wikilens/wikilens-min.css
Log:
Update from Phpwiki

Modified: trunk/src/plugins/wiki/www/ImageTile.php
===================================================================
--- trunk/src/plugins/wiki/www/ImageTile.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/ImageTile.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -4,10 +4,10 @@
 
 $remove = 0;
 if (preg_match('/^(http|ftp|https):\/\//i',$_REQUEST['url'])) {
-
+    
     $data_path = '';
     list($usec, $sec) = explode(" ", microtime());
-
+    
     $fp = fopen('config/config.ini','r');
     while ($config = fgetcsv($fp,1024,';')) {
         if (preg_match('/DATA_PATH/',$config[0])) {
@@ -28,12 +28,12 @@
     }
     fwrite($fp,$source);
     $remove = 1;
-
+    
 } else {
     @$fp = fopen($_REQUEST['url'],"r");
-
+    
     if (!$fp) {
-
+    
         header ("Content-type: text/html");
         echo "<html><head></head><body>Not an image</body></html>";
         exit();
@@ -106,14 +106,14 @@
         echo "<html><head></head><body>Not an image</body></html>";
         exit();
         break;
-}
+}    
 
 $width  = @imagesx($img);
 $height = @imagesy($img);
 
 $newwidth = $_REQUEST['width'];
 if (empty($newidth)) $newidth = 50;
-
+    
 $newheight = $_REQUEST['height'];
 if (empty($newheight)) $newheight = round($newwidth * ($height / $width)) ;
 

Modified: trunk/src/plugins/wiki/www/RPC2.php
===================================================================
--- trunk/src/plugins/wiki/www/RPC2.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/RPC2.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -36,5 +36,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/config/config-default.ini
===================================================================
--- trunk/src/plugins/wiki/www/config/config-default.ini	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/config/config-default.ini	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,4 +1,4 @@
-; $Id: config-default.ini 7914 2011-01-27 09:11:37Z vargenau $
+; $Id: config-default.ini 8180 2011-11-07 16:50:45Z rurban $
 ; This is the default PhpWiki configuration for undefined config.ini entries.
 
 ; recent development and debugging features:
@@ -94,7 +94,7 @@
 ALLOW_USER_PASSWORDS = true
 USER_AUTH_ORDER = PersonalPage
 PASSWORD_LENGTH_MINIMUM = 0
-USER_AUTH_POLICY = stacked
+USER_AUTH_POLICY = first-only
 ENABLE_AUTH_OPENID = false
 ;LDAP_AUTH_HOST = "ldap://localhost:389"
 ;LDAP_BASE_DN = "ou=Users,o=Development,dc=mycompany.com"

Modified: trunk/src/plugins/wiki/www/config/config-dist.ini
===================================================================
--- trunk/src/plugins/wiki/www/config/config-dist.ini	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/config/config-dist.ini	2011-12-19 07:11:37 UTC (rev 15022)
@@ -659,10 +659,12 @@
 ;                       methods as in the previous PhpWiki releases (slow)
 ;       strict:     check if the user exists for all methods: 
 ;                       on the first existing user, try the password. 
-;                       dont try the other methods on failure then
+;                       dont try the other methods on failure then. 
+;                   Note: May result in crashes on endless recursion
 ;       stacked:    check the given user - password combination for all
 ;                       methods and return true on the first success.
-USER_AUTH_POLICY = stacked
+;                   Note: May result in crashes on endless recursion
+USER_AUTH_POLICY = first-only
 
 ; Enable the new extended method of handling WikiUsers to support external auth and PAGEPERM.
 ; Servers with memory-limit problems might want to turn it off. It costs ~300KB

Modified: trunk/src/plugins/wiki/www/g
===================================================================
--- trunk/src/plugins/wiki/www/g	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/g	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,4 +1,4 @@
-<?php
+<?php // -*-php-*- $Id: g 8196 2011-11-29 11:13:40Z vargenau $
 
 /*
  * Copyright (C) 2008-2010 Alcatel-Lucent
@@ -51,6 +51,11 @@
 require_once $gfcommon.'include/pre.php';
 require_once $gfplugins.'wiki/common/wikiconfig.class.php';
 
+html_use_jquery();
+if (forge_get_config('use_jquery_form_navigate')) {
+	use_javascript('/scripts/jquery-formnavigate/jquery.FormNavigate-min.js');
+}
+
 if (!$group_id || !$project) {
     exit_no_group();
 } else if (!($project->usesPlugin("wiki"))) {
@@ -71,6 +76,9 @@
     define('VIRTUAL_PATH', '/wiki/g/'.$group_name);
     define('PAGE_PREFIX', '_g'.$group_id.'_');
 
+    // We have to use a smaller value than Phpwiki due to page prefix
+    define('MAX_PAGENAME_LENGTH', 92);
+
     define('THEME', 'fusionforge');
 
     // For FusionForge, we create some specific pages, located in the theme

Modified: trunk/src/plugins/wiki/www/getimg.php
===================================================================
--- trunk/src/plugins/wiki/www/getimg.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/getimg.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,4 +1,4 @@
-<?php // -*-php-*- $Id: getimg.php 7181 2009-10-05 14:25:48Z vargenau $
+<?php // -*-php-*- $Id: getimg.php 7181 2009-10-05 14:25:48Z vargenau $ 
 include ("index.php");
 include "lib/imagecache.php";
 ?>

Modified: trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP-2.0.cfg.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP-2.0.cfg.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP-2.0.cfg.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -68,7 +68,7 @@
 '<='	=> array( 'input'=>'<=','tag'=>'mo', 'output'=>'&#' . hexdec('2264') . ';'),
 'lt='	=> array( 'input'=>'lt=','tag'=>'mo', 'output'=>'&#' . hexdec('2264') . ';'),
 'le'	=> array( 'input'=>'le','tag'=>'mo', 'output'=>'&#' . hexdec('2264') . ';'), 	/* 2005-06-05 wes */
-'>'		=> array( 'input'=>'>','tag'=>'mo', 'output'=>'>'),
+'>'		=> array( 'input'=>'>','tag'=>'mo', 'output'=>'>'), 
 '>='	=> array( 'input'=>'>=','tag'=>'mo', 'output'=>'&#' . hexdec('2265') . ';'),
 'qeq'	=> array( 'input'=>'geq','tag'=>'mo', 'output'=>'&#' . hexdec('2265') . ';'),
 '-<'	=> array( 'input'=>'-<','tag'=>'mo', 'output'=>'&#' . hexdec('227A') . ';'),

Modified: trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP-2.0.class.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP-2.0.class.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP-2.0.class.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -5,7 +5,7 @@
  * -- XMLNode
  * -- MathMLNode extends XMLNode
  *
- * These classes are a PHP port of ASCIIMath
+ * These classes are a PHP port of ASCIIMath 
  * Version 1.3 Feb 19 2004, (c) Peter Jipsen http://www.chapman.edu/~jipsen
  *
  * ASCIIMathPHP Version 1.11, 26 April 2006, (c) Kee-Lin Steven Chan (kc56 at cornell.edu)
@@ -15,10 +15,10 @@
  * 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,
+ * 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 (at http://www.gnu.org/copyleft/gpl.html)
+ * General Public License (at http://www.gnu.org/copyleft/gpl.html) 
  * for more details.
  *
  * ChangeLog
@@ -30,7 +30,7 @@
  * -- Included the missing setCurrExpr() method
  *
  * Ver 1.12
- * -- Added changes that David Lippman <DLippman at pierce.ctc.edu> made to bring ASCIIMathPHP up to
+ * -- Added changes that David Lippman <DLippman at pierce.ctc.edu> made to bring ASCIIMathPHP up to 
  * ASCIIMath 1.4.7 functionality.
  * -- Added parseIntExpr, for intermediate expression parsing rule, allowing x^2/x^3 to render as (x^2)/(x^3)
  * -- Added quotes as another way of designating text; "hello" is equivalent to text(hello)
@@ -68,7 +68,7 @@
 	var $_nmspc_alias;
 	var $_parent_id;
 	var $_parent_node;
-
+	
 	function XMLNode($id = NULL)
 	{
 		$this->_id = isset($id) ? $id : md5(uniqid(rand(),1));
@@ -82,31 +82,31 @@
 		$this->_parent_id = FALSE;
 		$this->_parent_node = NULL;
 	}
-
+	
 	function addChild(&$node)
 	{
 		$this->_child_arr[$node->getId()] = $node;
 		$node->setParentId($this->_id);
 		$node->setParentNode($this);
 	}
-
+	
 	function addChildArr(&$node_arr)
 	{
 		$key_arr = array_keys($node_arr);
 		$num_key = count($key_arr);
-
+		
 		for ($i = 0; $i < $num_key; $i++) {
 			$node = $node_arr[$key_arr[$i]];
 			$this->addChild($node);
 		}
 	}
-
+	
 	function insertChildBefore($idx,&$node)
 	{
 		$key_arr = array_keys($this->_child_arr);
 		$num_key = count($key_arr);
 		$tmp_arr = arry();
-
+		
 		for ($i = 0;$i < $num_key;$i++) {
 			if ($i == $idx) {
 				$tmp_arr[$node->getId()] = $node;
@@ -115,13 +115,13 @@
 		}
 		$this->_child_arr = $tmp_arr;
 	}
-
+	
 	function insertChildAfter($idx,&$node)
 	{
 		$key_arr = array_keys($this->_child_arr);
 		$num_key = count($key_arr);
 		$tmp_arr = arry();
-
+		
 		for ($i = 0;$i < $num_key;$i++) {
 			$tmp_arr[$key_arr[$i]] = $this->_child_arr[$key_arr[$i]];
 			if ($i == $idx) {
@@ -130,82 +130,82 @@
 		}
 		$this->_child_arr = $tmp_arr;
 	}
-
+	
 	function setId($id)
 	{
 		$this->_id = $id;
 	}
-
+	
 	function setName($name)
 	{
 		$this->_name = $name;
 	}
-
+	
 	function setNamepace($nmspc)
 	{
 		$this->_nmspc = $nmspc;
 	}
-
+	
 	function setNamespaceAlias($nmspc_alias)
 	{
 		$this->_nmspc_alias = $nmspc_alias;
 	}
-
+	
 	function setContent($content)
 	{
 		$this->_content = $content;
 	}
-
+	
 	function setEmptyElem($mt_elem_flg)
 	{
 		$this->_mt_elem_flg = $mt_elem_flg;
 	}
-
+	
 	function setAttr($attr_nm,$attr_val)
 	{
 		$this->_attr_arr[$attr_nm] = $attr_val;
 	}
-
+	
 	function setAttrArr($attr_arr)
 	{
 		$this->_attr_arr = $attr_arr;
 	}
-
+	
 	function setParentId($id)
 	{
 		$this->_parent_id = $id;
 	}
-
+	
 	function setParentNode(&$node)
 	{
 		$this->_parent_node = $node;
 	}
-
+	
 	function getId()
 	{
 		return($this->_id);
 	}
-
+	
 	function getName()
 	{
 		return($this->_name);
 	}
-
+	
 	function getNamespace()
 	{
 		return($this->_nmspc);
 	}
-
+	
 	function getNamespaceAlias()
 	{
 		return($this->_nmspc_alias);
 	}
-
+	
 	function getContent()
 	{
 		return($this->_content);
 	}
-
+	
 	function getAttr($attr_nm)
 	{
 		if (isset($this->_attr_arr[$attr_nm])) {
@@ -214,22 +214,22 @@
 			return(NULL);
 		}
 	}
-
+	
 	function getAttrArr()
 	{
 		return($this->_attr_arr);
 	}
-
+	
 	function getParentId()
 	{
 		return($this->parent_id);
 	}
-
+	
 	function getParentNode()
 	{
 		return($this->_parent_node);
 	}
-
+	
 	function getChild($id)
 	{
 		if (isset($this->_child_arr[$id])) {
@@ -238,70 +238,70 @@
 			return(FALSE);
 		}
 	}
-
+	
 	function getFirstChild()
 	{
 		$id_arr = array_keys($this->_child_arr);
 		$num_child = count($id_arr);
-
+		
 		if ($num_child > 0) {
 			return($this->_child_arr[$id_arr[0]]);
 		} else {
 			return(FALSE);
 		}
 	}
-
+	
 	function getLastChild()
 	{
 		$id_arr = array_keys($this->_child_arr);
 		$num_child = count($id_arr);
-
+		
 		if ($num_child > 0) {
 			return($this->_child_arr[$id_arr[$num_child - 1]]);
 		} else {
 			return(FALSE);
 		}
 	}
-
+	
 	function getChildByIdx($idx)
 	{
 		$id_arr = array_keys($this->_child_arr);
-
+		
 		if (isset($this->_child_arr[$id_arr[$idx]])) {
 			return($this->_child_arr[$id_arr[$idx]]);
 		} else {
 			return(FALSE);
 		}
 	}
-
+	
 	function getNumChild()
 	{
 		return(count($this->_child_arr));
 	}
-
+	
 	function removeChild($id)
 	{
 		unset($this->_child_arr[$id]);
 	}
-
+	
 	function removeChildByIdx($idx)
 	{
 		$key_arr = array_keys($this->_child_arr);
 		unset($this->_child_arr[$key_arr[$idx]]);
 	}
-
+	
 	function removeFirstChild()
 	{
 		$key_arr = array_keys($this->_child_arr);
 		unset($this->_child_arr[$key_arr[0]]);
 	}
-
+	
 	function removeLastChild()
 	{
 		$key_arr = array_keys($this->_child_arr);
 		unset($this->_child_arr[$key_arr[count($key_arr)-1]]);
 	}
-
+	
 	function dumpXML($indent_str = "\t")
 	{
 		$attr_txt = $this->_dumpAttr();
@@ -309,42 +309,42 @@
 		$xmlns = $this->_dumpXmlns();
 		$lvl = $this->_getCurrentLevel();
 		$indent = str_pad('',$lvl,$indent_str);
-
+		
 		if ($this->_mt_elem_flg) {
 			$tag = "$indent<$name$xmlns$attr_txt />";
 			return($tag);
 		} else {
 			$key_arr = array_keys($this->_child_arr);
 			$num_child = count($key_arr);
-
+			
 			$tag = "$indent<$name$xmlns$attr_txt>$this->_content";
-
+			
 			for ($i = 0;$i < $num_child;$i++) {
 				$node = $this->_child_arr[$key_arr[$i]];
-
+				
 				$child_txt = $node->dumpXML($indent_str);
 				$tag .= "\n$child_txt";
 			}
-
+			
 			$tag .= ($num_child > 0 ? "\n$indent</$name>" : "</$name>");
 			return($tag);
 		}
 	}
-
+	
 	function _dumpAttr()
 	{
 		$id_arr = array_keys($this->_attr_arr);
 		$id_arr_cnt = count($id_arr);
 		$attr_txt = '';
-
+		
 		for($i = 0;$i < $id_arr_cnt;$i++) {
 			$key = $id_arr[$i];
 			$attr_txt .= " $key=\"{$this->_attr_arr[$key]}\"";
 		}
-
+		
 		return($attr_txt);
 	}
-
+	
 	function _dumpName()
 	{
 		$alias = $this->getNamespaceAlias();
@@ -354,12 +354,12 @@
 			return("$alias:" . $this->getName());
 		}
 	}
-
+	
 	function _dumpXmlns()
 	{
 		$nmspc = $this->getNamespace();
 		$alias = $this->getNamespaceAlias();
-
+		
 		if ($nmspc != '') {
 			if ($alias == '') {
 				return(" xmlns=\"" . $nmspc . "\"");
@@ -370,7 +370,7 @@
 			return('');
 		}
 	}
-
+	
 	function _getCurrentLevel()
 	{
 		if ($this->_parent_id === FALSE) {
@@ -390,20 +390,20 @@
 	{
 		parent::XMLNode($id);
 	}
-
+	
 	function removeBrackets()
 	{
 		if ($this->_name == 'mrow') {
 			if ($c_node_0 = $this->getFirstChild()) {
 				$c_node_0->isLeftBracket() ? $this->removeFirstChild() : 0;
 			}
-
+			
 			if ($c_node_0 = $this->getLastChild()) {
 				$c_node_0->isRightBracket() ? $this->removeLastChild() : 0;
 			}
 		}
 	}
-
+	
 	function isLeftBracket()
 	{
 		switch ($this->_content) {
@@ -415,7 +415,7 @@
 		}
 		return(FALSE);
 	}
-
+	
 	function isRightBracket()
 	{
 		switch ($this->_content) {
@@ -437,7 +437,7 @@
 	var $_symbol_arr;
 	var $_node_arr;
 	var $_node_cntr;
-
+	
 	function ASCIIMathPHP($symbol_arr,$expr = NULL)
 	{
 		$this->_symbol_arr = $symbol_arr;
@@ -445,10 +445,10 @@
 			$this->setExpr($expr);
 		}
 	}
-
+	
 	/**
 	 * Returns an empty node (containing a non-breaking space) 26-Apr-2006
-	 *
+	 * 
 	 * Used when an expression is incomplete
 	 *
 	 * @return object
@@ -462,7 +462,7 @@
 		$tmp_node->setContent('&#' . hexdec('200B') . ';');
 		return $tmp_node;
 	}
-
+	
 	function pushExpr($prefix) // 2005-06-11 wes
 	{
 		$this->_curr_expr = $prefix . $this->_curr_expr;
@@ -473,59 +473,59 @@
 		$this->_expr = $expr;
 		$this->_curr_expr = $expr;
 		$this->_prev_expr = $expr;
-
+		
 		$this->_node_arr = array();
 		$this->_node_cntr = 0;
 	}
-
+	
 	function genMathML($attr_arr = NULL)
 	{
 		// <math> node
 		$node_0 = $this->createNode();
 		$node_0->setName('math');
 		$node_0->setNamepace('http://www.w3.org/1998/Math/MathML');
-
+		
 		// <mstyle> node
 		if (isset($attr_arr)) {
 			$node_1 = $this->createNode();
 			$node_1->setName('mstyle');
 			$node_1->setAttrArr($attr_arr);
-
+			
 			$node_arr = $this->parseExpr();
-
+			
 			$node_1->addChildArr($node_arr);
 			$node_0->addChild($node_1);
 		} else {
 			$node_arr = $this->parseExpr();
 			$node_0->addChildArr($node_arr);
 		}
-
+		
 		return TRUE;
 	}
-
+	
 	/*
 	function  mergeNodeArr(&$node_arr_0,&$node_arr_1)
 	{
 		$key_arr_0 = array_keys($node_arr_0);
 		$key_arr_1 = array_keys($node_arr_1);
-
+		
 		$num_key_0 = count($key_arr_0);
 		$num_key_1 = count($key_arr_1);
-
+		
 		$merge_arr = array();
-
+		
 		for ($i = 0;$i < $num_key_0;$i++) {
 			$merge_arr[$key_arr_0[$i]] = $node_arr_0[$key_arr_0[$i]];
 		}
-
+		
 		for ($j = 0;$j < $num_key_1;$i++) {
 			$merge_arr[$key_arr_1[$i]] = $node_arr_1[$key_arr_1[$i]];
 		}
-
+		
 		return($merge_arr);
 	}
 	*/
-
+	
 	//Broken out of parseExpr Sept 7, 2006 David Lippman for
 	//ASCIIMathML 1.4.7 compatibility
 	function  parseIntExpr()
@@ -533,45 +533,45 @@
 		$sym_0 = $this->getSymbol();
 		$node_0 = $this->parseSmplExpr();
 		$sym = $this->getSymbol();
-
+		
 		if (isset($sym['infix']) && $sym['input'] != '/') {
 			$this->chopExpr($sym['symlen']);
 			$node_1 = $this->parseSmplExpr();
-
+			
 			if ($node_1 === FALSE) { //show box in place of missing argument
 				$node_1 = $this->emptyNode();//??
 			} else {
 				$node_1->removeBrackets();
 			}
-
+			
 			// If 'sub' -- subscript
 			if ($sym['input'] == '_') {
-
+				
 				$sym_1 = $this->getSymbol();
-
+				
 				// If 'sup' -- superscript
-				if ($sym_1['input'] == '^') {
+				if ($sym_1['input'] == '^') { 
 					$this->chopExpr($sym_1['symlen']);
 					$node_2 = $this->parseSmplExpr();
 					$node_2->removeBrackets();
-
+					
 					$node_3 = $this->createNode();
 					$node_3->setName(isset($sym_0['underover']) ? 'munderover' : 'msubsup');
 					$node_3->addChild($node_0);
 					$node_3->addChild($node_1);
 					$node_3->addChild($node_2);
-
+					
 					$node_4 = $this->createNode();
 					$node_4->setName('mrow');
 					$node_4->addChild($node_3);
-
+					
 					return $node_4;
 				} else {
 					$node_2 = $this->createNode();
 					$node_2->setName(isset($sym_0['underover']) ? 'munder' : 'msub');
 					$node_2->addChild($node_0);
 					$node_2->addChild($node_1);
-
+					
 					return $node_2;
 				}
 			} else {
@@ -579,7 +579,7 @@
 				$node_2->setName($sym['tag']);
 				$node_2->addChild($node_0);
 				$node_2->addChild($node_1);
-
+				
 				return($node_2);
 			}
 		} elseif ($node_0 !== FALSE) {
@@ -587,32 +587,32 @@
 		} else {
 			return $this->emptyNode();
 		}
-
+		
 	}
-
+	
 	function  parseExpr()
 	{
 		// Child/Fragment array
 		$node_arr = array();
-
+		
 		// Deal whole expressions like 'ax + by + c = 0' etc.
 		do {
 			$sym_0 = $this->getSymbol();
 			$node_0 = $this->parseIntExpr();
 			$sym = $this->getSymbol();
 			// var_dump($sym);
-
+			
 			if (isset($sym['infix']) && $sym['input'] == '/') {
 				$this->chopExpr($sym['symlen']);
 				$node_1 = $this->parseIntExpr();
-
+				
 				if ($node_1 === FALSE) { //should show box in place of missing argument
 					$node_1 = $this->emptyNode();
 					continue;
 				}
 
 				$node_1->removeBrackets();
-
+				
 				// If 'div' -- divide
 				$node_0->removeBrackets();
 				$node_2 = $this->createNode();
@@ -620,18 +620,18 @@
 				$node_2->addChild($node_0);
 				$node_2->addChild($node_1);
 				$node_arr[$node_2->getId()] = $node_2;
-
+			
 			} elseif ($node_0 !== FALSE) {
 				$node_arr[$node_0->getId()] = $node_0;
 			}
 		} while (!isset($sym['right_bracket']) && $sym !== FALSE && $sym['output'] != '');
-
+		
 		//var_dump($sym);
 		// Possibly to deal with matrices
 		if (isset($sym['right_bracket'])) {
 			$node_cnt = count($node_arr);
 			$key_node_arr = array_keys($node_arr);
-
+			
 			if ($node_cnt > 1) {
 				$node_5 = $node_arr[$key_node_arr[$node_cnt-1]];
 				$node_6 = $node_arr[$key_node_arr[$node_cnt-2]];
@@ -639,56 +639,56 @@
 				$node_5 = FALSE;
 				$node_6 = FALSE;
 			}
-
+			
 			// Dealing with matrices
 			if ($node_5 !== FALSE && $node_6 !== FALSE &&
-				$node_cnt > 1 &&
-				$node_5->getName() == 'mrow' &&
+				$node_cnt > 1 && 
+				$node_5->getName() == 'mrow' && 
 				$node_6->getName() == 'mo' &&
 				$node_6->getContent() == ',') {
-
+				
 				// Checking if Node 5 has a LastChild
 				if ($node_7 = $node_5->getLastChild()) {
 					$node_7_cntnt = $node_7->getContent();
 				} else {
 					$node_7_cntnt = FALSE;
 				}
-
+				
 				// If there is a right bracket
 				if ($node_7 !== FALSE && ($node_7_cntnt == ']' || $node_7_cntnt == ')')) {
-
+					
 					// Checking if Node 5 has a firstChild
 					if ($node_8 = $node_5->getFirstChild()) {
 						$node_8_cntnt = $node_8->getContent();
 					} else {
 						$node_8_cntnt = FALSE;
 					}
-
+					
 					// If there is a matching left bracket
-					if ($node_8 !== FALSE &&
+					if ($node_8 !== FALSE && 
 						(($node_8_cntnt == '(' && $node_7_cntnt == ')' && $sym['output'] != '}') ||
 						($node_8_cntnt == '[' && $node_7_cntnt == ']'))) {
-
+							
 						$is_mtrx_flg = TRUE;
 						$comma_pos_arr = array();
-
+						
 						$i = 0;
-
+						
 						while ($i < $node_cnt && $is_mtrx_flg) {
 							$tmp_node = $node_arr[$key_node_arr[$i]];
-
+							
 							if($tmp_node_first = $tmp_node->getFirstChild()) {
 								$tnfc = $tmp_node_first->getContent();
 							} else {
 								$tnfc = FALSE;
 							}
-
+							
 							if($tmp_node_last = $tmp_node->getLastChild()) {
 								$tnlc = $tmp_node_last->getContent();
 							} else {
 								$tnlc = FALSE;
 							}
-
+							
 							if (isset($key_node_arr[$i+1])) {
 								$next_tmp_node = $node_arr[$key_node_arr[$i+1]];
 								$ntnn = $next_tmp_node->getName();
@@ -697,7 +697,7 @@
 								$ntnn = FALSE;
 								$ntnc = FALSE;
 							}
-
+							
 							// Checking each node in node array for matrix criteria
 							if ($is_mtrx_flg) {
 								$is_mtrx_flg = $tmp_node->getName() == 'mrow' &&
@@ -708,27 +708,27 @@
 							if ($is_mtrx_flg) {
 								for ($j = 0;$j < $tmp_node->getNumChild();$j++) {
 									$tmp_c_node = $tmp_node->getChildByIdx($j);
-
+									
 									if ($tmp_c_node->getContent() == ',') {
 										$comma_pos_arr[$i][] = $j;
 									}
 								}
-							}
-
+							}	
+							
 							if ($is_mtrx_flg && $i > 1) {
-
+								
 								$cnt_cpan = isset($comma_pos_arr[$i]) ? count($comma_pos_arr[$i]) : NULL;
 								$cnt_cpap = isset($comma_pos_arr[$i-2]) ? count($comma_pos_arr[$i-2]) : NULL;
 								$is_mtrx_flg = $cnt_cpan == $cnt_cpap;
 							}
-
+							
 							$i += 2;
 						}
-
+						
 						// If the node passes the matrix tests
 						if ($is_mtrx_flg) {
 							$tab_node_arr = array();
-
+							
 							for ($i = 0;$i < $node_cnt;$i += 2) {
 								$tmp_key_node_arr = array_keys($node_arr);
 								if (!($tmp_node = $node_arr[$tmp_key_node_arr[0]])) {
@@ -736,71 +736,71 @@
 								}
 								$num_child = $tmp_node->getNumChild();
 								$k = 0;
-
+								
 								$tmp_node->removeFirstChild();
-
+								
 								$row_node_arr = array();
 								$row_frag_node_arr = array();
-
+								
 								for ($j = 1;$j < ($num_child-1);$j++) {
-									if (isset($comma_pos_arr[$i][$k]) &&
+									if (isset($comma_pos_arr[$i][$k]) && 
 										$j == $comma_pos_arr[$i][$k]) {
-
+										
 										$tmp_node->removeFirstChild();
-
+										
 										$tmp_c_node = $this->createNode();
 										$tmp_c_node->setName('mtd');
 										$tmp_c_node->addChildArr($row_frag_node_arr);
 										$row_frag_node_arr = array();
-
+										
 										$row_node_arr[$tmp_c_node->getId()] = $tmp_c_node;
-
+										
 										$k++;
 									} else {
-
+										
 										if ($tmp_c_node = $tmp_node->getFirstChild()) {
 											$row_frag_node_arr[$tmp_c_node->getId()] = $tmp_c_node;
 											$tmp_node->removeFirstChild();
 										}
 									}
 								}
-
+								
 								$tmp_c_node = $this->createNode();
 								$tmp_c_node->setName('mtd');
 								$tmp_c_node->addChildArr($row_frag_node_arr);
-
+								
 								$row_node_arr[$tmp_c_node->getId()] = $tmp_c_node;
-
+								
 								if (count($node_arr) > 2) {
 									$tmp_key_node_arr = array_keys($node_arr);
 									unset($node_arr[$tmp_key_node_arr[0]]);
 									unset($node_arr[$tmp_key_node_arr[1]]);
 								}
-
+								
 								$tmp_c_node = $this->createNode();
 								$tmp_c_node->setName('mtr');
 								$tmp_c_node->addChildArr($row_node_arr);
-
+								
 								$tab_node_arr[$tmp_c_node->getId()] = $tmp_c_node;
 							}
-
+							
 							$tmp_c_node = $this->createNode();
 							$tmp_c_node->setName('mtable');
 							$tmp_c_node->addChildArr($tab_node_arr);
-
+							
 							if (isset($sym['invisible'])) {
 								$tmp_c_node->setAttr('columnalign','left');
 							}
-
+							
 							$key_node_arr = array_keys($node_arr);
 							$tmp_c_node->setId($key_node_arr[0]);
-
+							
 							$node_arr[$tmp_c_node->getId()] = $tmp_c_node;
 						}
 					}
 				}
 			}
-
+			
 			$this->chopExpr($sym['symlen']);
 			if (!isset($sym['invisible'])) {
 				$node_7 = $this->createNode();
@@ -809,19 +809,19 @@
 				$node_arr[$node_7->getId()] = $node_7;
 			}
 		}
-
+		
 		return($node_arr);
 	}
-
+	
 	function  parseSmplExpr()
 	{
 		$sym = $this->getSymbol();
-
-		if (!$sym || isset($sym['right_bracket'])) //return FALSE;
+		
+		if (!$sym || isset($sym['right_bracket'])) //return FALSE; 
 			return $this->emptyNode();
-
+		
 		$this->chopExpr($sym['symlen']);
-
+		
 		// 2005-06-11 wes: add definition type support
 		if(isset($sym['definition'])) {
 			$this->pushExpr($sym['output']);
@@ -831,35 +831,35 @@
 
 		if (isset($sym['left_bracket'])) {
 			$node_arr = $this->parseExpr();
-
+			
 			if (isset($sym['invisible'])) {
 				$node_0 = $this->createNode();
 				$node_0->setName('mrow');
 				$node_0->addChildArr($node_arr);
-
+				
 				return($node_0);
 			} else {
 				$node_0 = $this->createNode();
 				$node_0->setName('mo');
 				$node_0->setContent($sym['output']);
-
+				
 				$node_1 = $this->createNode();
 				$node_1->setName('mrow');
 				$node_1->addChild($node_0);
 				$node_1->addChildArr($node_arr);
-
+				
 				return($node_1);
 			}
 		} elseif (isset($sym['unary'])) {
-
+			
 			if ($sym['input'] == 'sqrt') {
 				$node_0 = $this->parseSmplExpr();
 				$node_0->removeBrackets();
-
+				
 				$node_1 = $this->createNode();
 				$node_1->setName($sym['tag']);
 				$node_1->addChild($node_0);
-
+				
 				return($node_1);
 			} elseif (isset($sym['func'])) { //added 2006-9-7 David Lippman
 				$expr = ltrim($this->getCurrExpr());
@@ -904,52 +904,52 @@
 					}
 					$txt = substr($expr,1,strpos($expr,$end_brckt)-1);
 				}
-
+				
 				//$txt = substr($expr,1,strpos($expr,$end_brckt)-1);
 				$len = strlen($txt);
-
+				
 				$node_0 = $this->createNode();
 				$node_0->setName('mrow');
-
+				
 				if ($len > 0) {
 					if ($txt{0} == " ") {
 						$node_1 = $this->createNode();
 						$node_1->setName('mspace');
 						$node_1->setAttr('width','1ex');
-
+						
 						$node_0->addChild($node_1);
 					}
-
+					
 					$node_3 = $this->createNode();
 					$node_3->setName($sym['tag']);
 					$node_3->setContent(trim($txt));
-
+					
 					$node_0->addChild($node_3);
-
+					
 					if ($len > 1 && $txt{$len-1} == " ") {
 						$node_2 = $this->createNode();
 						$node_2->setName('mspace');
 						$node_2->setAttr('width','1ex');
-
+						
 						$node_0->addChild($node_2);
 					}
-
+					
 					$this->chopExpr($len+2);
 				}
 				return($node_0);
-
+				
 			} elseif (isset($sym['acc'])) {
 				$node_0 = $this->parseSmplExpr();
 				$node_0->removeBrackets();
-
+				
 				$node_1 = $this->createNode();
 				$node_1->setName($sym['tag']);
 				$node_1->addChild($node_0);
-
+				
 				$node_2 = $this->createNode();
 				$node_2->setName('mo');
 				$node_2->setContent($sym['output']);
-
+				
 				$node_1->addChild($node_2);
 				return($node_1);
 			} else {
@@ -957,13 +957,13 @@
 			}
 		} elseif (isset($sym['binary'])) {
 			$node_arr = array();
-
+			
 			$node_0 = $this->parseSmplExpr();
 			$node_0->removeBrackets();
-
+			
 			$node_1 = $this->parseSmplExpr();
 			$node_1->removeBrackets();
-
+			
             /* 2005-06-05 wes: added stackrel */
 			if ($sym['input'] == 'root' || $sym['input'] == 'stackrel') {
 				$node_arr[$node_1->getId()] = $node_1;
@@ -972,78 +972,78 @@
 				$node_arr[$node_0->getId()] = $node_0;
 				$node_arr[$node_1->getId()] = $node_1;
 			}
-
+			
 			$node_2 = $this->createNode();
 			$node_2->setName($sym['tag']);
 			$node_2->addChildArr($node_arr);
-
+			
 			return($node_2);
 		} elseif (isset($sym['infix'])) {
 			$node_0 = $this->createNode();
 			$node_0->setName('mo');
 			$node_0->setContent($sym['output']);
-
+			
 			return($node_0);
 		} elseif (isset($sym['space'])) {
 			$node_0 = $this->createNode();
 			$node_0->setName('mrow');
-
+			
 			$node_1 = $this->createNode();
 			$node_1->setName('mspace');
 			$node_1->setAttr('width',$sym['space']);
-
+			
 			$node_2 = $this->createNode();
 			$node_2->setName($sym['tag']);
 			$node_2->setContent($sym['output']);
-
+			
 			$node_3 = $this->createNode();
 			$node_3->setName('mspace');
 			$node_3->setAttr('width',$sym['space']);
-
+			
 			$node_0->addChild($node_1);
 			$node_0->addChild($node_2);
 			$node_0->addChild($node_3);
-
+			
 			return($node_0);
 		} else {
-
+			
 			// A constant
 			$node_0 = $this->createNode();
 			$node_0->setName($sym['tag']);
 			$node_0->setContent($sym['output']);
 			return($node_0);
 		}
-
+		
 		// Return an empty node
 		return $this->emptyNode();
 	}
-
+	
 	function getMathML()
 	{
 		$root = $this->_node_arr[0];
 		return($root->dumpXML());
 	}
-
+	
 	function getCurrExpr()
 	{
 		return($this->_curr_expr);
 	}
-
+	
 	function setCurrExpr($str)
 	{
 		$this->_curr_expr = $str;
 	}
-
+	
 	function getExpr()
 	{
 		return($this->_expr);
 	}
-
+	
 	function getPrevExpr()
 	{
 		return($this->_prev_expr);
 	}
-
+	
 	function  createNode()
 	{
 		$node = new MathMLNode($this->_node_cntr);
@@ -1052,46 +1052,46 @@
 		$this->_node_cntr++;
 		return($node);
 	}
-
+	
 	/**
 	 * Gets the largest symbol in the expression (greedy). Changed from non-greedy 26-Apr-2006
-	 *
+	 * 
 	 * @parameter boolean[optional] Chop original string?
 	 *
 	 * @return mixed
-	 *
+	 * 
 	 * @access private
 	 */
 	function getSymbol($chop_flg = FALSE)
 	{
-		// Implemented a reverse symbol matcher.
+		// Implemented a reverse symbol matcher. 
 		// Instead of going front to back, it goes back to front. Steven 26-Apr-2006
 		$chr_cnt = strlen($this->_curr_expr);
-
+		
 		if ($chr_cnt == 0) return FALSE;
-
+		
 		for ($i = $chr_cnt; $i > 0; $i--) {
 			$sym_0 = substr($this->_curr_expr,0,$i);
-
+			
 			// Reading string for numeric values
 			if (is_numeric($sym_0)) {
-
+				
 				if ($chop_flg) $this->chopExpr($i);
 				return array('input'=>$sym_0, 'tag'=>'mn', 'output'=>$sym_0, 'symlen'=>$i);
-
+				
 			} elseif (isset($this->_symbol_arr[$sym_0])) {
-
+				
 				if ($chop_flg) $this->chopExpr($i);
 				$sym_arr = $this->_symbol_arr[$sym_0];
 				$sym_arr['symlen'] = $i;
 				return $sym_arr;
 			}
 		}
-
+		
 		// Reading string for alphabetic constants and the minus sign
 		$char = $this->_curr_expr{0};
 		$len_left = $chop_flg ? $this->chopExpr(1) : strlen($this->_curr_expr)-1;
-
+		
 		// Deals with expressions of length 1
 		if ($len_left == 0 && isset($this->_symbol_arr[$char])) {
 			$sym_arr = $this->_symbol_arr[$char];
@@ -1102,11 +1102,11 @@
 			return array('input'=>$char, 'tag'=>$tag, 'output'=>$char, 'symlen'=>1);
 		}
 	}
-
+	
 	function chopExpr($strlen)
 	{
 		$this->_prev_expr = $this->_curr_expr;
-
+		
 		if ($strlen == strlen($this->_curr_expr)) {
 			$this->_curr_expr = '';
 			return(0);
@@ -1114,6 +1114,6 @@
 			$this->_curr_expr = ltrim(substr($this->_curr_expr,$strlen));
 			return(strlen($this->_curr_expr));
 		}
-	}
+	}	
 }
 ?>

Modified: trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP.cfg.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP.cfg.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP.cfg.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -68,7 +68,7 @@
 '<='    => array( 'input'=>'<=','tag'=>'mo', 'output'=>'&#' . hexdec('2264') . ';'),
 'lt='    => array( 'input'=>'lt=','tag'=>'mo', 'output'=>'&#' . hexdec('2264') . ';'),
 'le'    => array( 'input'=>'le','tag'=>'mo', 'output'=>'&#' . hexdec('2264') . ';'),     /* 2005-06-05 wes */
-'>'        => array( 'input'=>'>','tag'=>'mo', 'output'=>'>'),
+'>'        => array( 'input'=>'>','tag'=>'mo', 'output'=>'>'), 
 '>='    => array( 'input'=>'>=','tag'=>'mo', 'output'=>'&#' . hexdec('2265') . ';'),
 'qeq'    => array( 'input'=>'geq','tag'=>'mo', 'output'=>'&#' . hexdec('2265') . ';'),
 '-<'    => array( 'input'=>'-<','tag'=>'mo', 'output'=>'&#' . hexdec('227A') . ';'),

Modified: trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP.class.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP.class.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/ASCIIMathPHP/ASCIIMathPHP.class.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -14,10 +14,10 @@
  * 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,
+ * 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 (at http://www.gnu.org/copyleft/gpl.html)
+ * General Public License (at http://www.gnu.org/copyleft/gpl.html) 
  * for more details.
  *
  * ChangeLog
@@ -26,7 +26,7 @@
  * -- Included the missing setCurrExpr() method
  *
  * Ver 1.12
- * -- Added changes that David Lippman <DLippman at pierce.ctc.edu> made to bring ASCIIMathPHP up to
+ * -- Added changes that David Lippman <DLippman at pierce.ctc.edu> made to bring ASCIIMathPHP up to 
  * ASCIIMath 1.4.7 functionality.
  * -- Added parseIntExpr, for intermediate expression parsing rule, allowing x^2/x^3 to render as (x^2)/(x^3)
  * -- Added quotes as another way of designating text; "hello" is equivalent to text(hello)
@@ -64,7 +64,7 @@
     var $_nmspc_alias;
     var $_parent_id;
     var $_parent_node;
-
+    
     function & XMLNode($id = NULL)
     {
         $this->_id = isset($id) ? $id : md5(uniqid(rand(),1));
@@ -79,31 +79,31 @@
         $this->_parent_node = NULL;
         return $this;
     }
-
+    
     function addChild(&$node)
     {
         $this->_child_arr[$node->getId()] =& $node;
         $node->setParentId($this->_id);
         $node->setParentNode($this);
     }
-
+    
     function addChildArr(&$node_arr)
     {
         $key_arr = array_keys($node_arr);
         $num_key = count($key_arr);
-
+        
         for ($i = 0; $i < $num_key; $i++) {
             $node =& $node_arr[$key_arr[$i]];
             $this->addChild($node);
         }
     }
-
+    
     function insertChildBefore($idx,&$node)
     {
         $key_arr = array_keys($this->_child_arr);
         $num_key = count($key_arr);
         $tmp_arr = arry();
-
+        
         for ($i = 0;$i < $num_key;$i++) {
             if ($i == $idx) {
                 $tmp_arr[$node->getId()] =& $node;
@@ -112,13 +112,13 @@
         }
         $this->_child_arr =& $tmp_arr;
     }
-
+    
     function insertChildAfter($idx,&$node)
     {
         $key_arr = array_keys($this->_child_arr);
         $num_key = count($key_arr);
         $tmp_arr = arry();
-
+        
         for ($i = 0;$i < $num_key;$i++) {
             $tmp_arr[$key_arr[$i]] =& $this->_child_arr[$key_arr[$i]];
             if ($i == $idx) {
@@ -127,82 +127,82 @@
         }
         $this->_child_arr =& $tmp_arr;
     }
-
+    
     function setId($id)
     {
         $this->_id = $id;
     }
-
+    
     function setName($name)
     {
         $this->_name = $name;
     }
-
+    
     function setNamepace($nmspc)
     {
         $this->_nmspc = $nmspc;
     }
-
+    
     function setNamespaceAlias($nmspc_alias)
     {
         $this->_nmspc_alias = $nmspc_alias;
     }
-
+    
     function setContent($content)
     {
         $this->_content = $content;
     }
-
+    
     function setEmptyElem($mt_elem_flg)
     {
         $this->_mt_elem_flg = $mt_elem_flg;
     }
-
+    
     function setAttr($attr_nm,$attr_val)
     {
         $this->_attr_arr[$attr_nm] = $attr_val;
     }
-
+    
     function setAttrArr($attr_arr)
     {
         $this->_attr_arr = $attr_arr;
     }
-
+    
     function setParentId($id)
     {
         $this->_parent_id = $id;
     }
-
+    
     function setParentNode(&$node)
     {
         $this->_parent_node =& $node;
     }
-
+    
     function getId()
     {
         return($this->_id);
     }
-
+    
     function getName()
     {
         return($this->_name);
     }
-
+    
     function getNamespace()
     {
         return($this->_nmspc);
     }
-
+    
     function getNamespaceAlias()
     {
         return($this->_nmspc_alias);
     }
-
+    
     function getContent()
     {
         return($this->_content);
     }
-
+    
     function getAttr($attr_nm)
     {
         if (isset($this->_attr_arr[$attr_nm])) {
@@ -211,22 +211,22 @@
             return(NULL);
         }
     }
-
+    
     function getAttrArr()
     {
         return($this->_attr_arr);
     }
-
+    
     function getParentId()
     {
         return($this->parent_id);
     }
-
+    
     function & getParentNode()
     {
         return($this->_parent_node);
     }
-
+    
     function & getChild($id)
     {
         if (isset($this->_child_arr[$id])) {
@@ -235,70 +235,70 @@
             return(FALSE);
         }
     }
-
+    
     function & getFirstChild()
     {
         $id_arr = array_keys($this->_child_arr);
         $num_child = count($id_arr);
-
+        
         if ($num_child > 0) {
             return($this->_child_arr[$id_arr[0]]);
         } else {
             return(FALSE);
         }
     }
-
+    
     function & getLastChild()
     {
         $id_arr = array_keys($this->_child_arr);
         $num_child = count($id_arr);
-
+        
         if ($num_child > 0) {
             return($this->_child_arr[$id_arr[$num_child - 1]]);
         } else {
             return(FALSE);
         }
     }
-
+    
     function & getChildByIdx($idx)
     {
         $id_arr = array_keys($this->_child_arr);
-
+        
         if (isset($this->_child_arr[$id_arr[$idx]])) {
             return($this->_child_arr[$id_arr[$idx]]);
         } else {
             return(FALSE);
         }
     }
-
+    
     function getNumChild()
     {
         return(count($this->_child_arr));
     }
-
+    
     function removeChild($id)
     {
         unset($this->_child_arr[$id]);
     }
-
+    
     function removeChildByIdx($idx)
     {
         $key_arr = array_keys($this->_child_arr);
         unset($this->_child_arr[$key_arr[$idx]]);
     }
-
+    
     function removeFirstChild()
     {
         $key_arr = array_keys($this->_child_arr);
         unset($this->_child_arr[$key_arr[0]]);
     }
-
+    
     function removeLastChild()
     {
         $key_arr = array_keys($this->_child_arr);
         unset($this->_child_arr[$key_arr[count($key_arr)-1]]);
     }
-
+    
     function dumpXML($indent_str = "\t")
     {
         $attr_txt = $this->_dumpAttr();
@@ -306,42 +306,42 @@
         $xmlns = $this->_dumpXmlns();
         $lvl = $this->_getCurrentLevel();
         $indent = str_pad('',$lvl,$indent_str);
-
+        
         if ($this->_mt_elem_flg) {
             $tag = "$indent<$name$xmlns$attr_txt />";
             return($tag);
         } else {
             $key_arr = array_keys($this->_child_arr);
             $num_child = count($key_arr);
-
+            
             $tag = "$indent<$name$xmlns$attr_txt>$this->_content";
-
+            
             for ($i = 0;$i < $num_child;$i++) {
                 $node =& $this->_child_arr[$key_arr[$i]];
-
+                
                 $child_txt = $node->dumpXML($indent_str);
                 $tag .= "\n$child_txt";
             }
-
+            
             $tag .= ($num_child > 0 ? "\n$indent</$name>" : "</$name>");
             return($tag);
         }
     }
-
+    
     function _dumpAttr()
     {
         $id_arr = array_keys($this->_attr_arr);
         $id_arr_cnt = count($id_arr);
         $attr_txt = '';
-
+        
         for($i = 0;$i < $id_arr_cnt;$i++) {
             $key = $id_arr[$i];
             $attr_txt .= " $key=\"{$this->_attr_arr[$key]}\"";
         }
-
+        
         return($attr_txt);
     }
-
+    
     function _dumpName()
     {
         $alias = $this->getNamespaceAlias();
@@ -351,12 +351,12 @@
             return("$alias:" . $this->getName());
         }
     }
-
+    
     function _dumpXmlns()
     {
         $nmspc = $this->getNamespace();
         $alias = $this->getNamespaceAlias();
-
+        
         if ($nmspc != '') {
             if ($alias == '') {
                 return(" xmlns=\"" . $nmspc . "\"");
@@ -367,7 +367,7 @@
             return('');
         }
     }
-
+    
     function _getCurrentLevel()
     {
         if ($this->_parent_id === FALSE) {
@@ -387,20 +387,20 @@
     {
         return parent::XMLNode($id);
     }
-
+    
     function removeBrackets()
     {
         if ($this->_name == 'mrow') {
             if ($c_node_0 =& $this->getFirstChild()) {
                 $c_node_0->isLeftBracket() ? $this->removeFirstChild() : 0;
             }
-
+            
             if ($c_node_0 =& $this->getLastChild()) {
                 $c_node_0->isRightBracket() ? $this->removeLastChild() : 0;
             }
         }
     }
-
+    
     function isLeftBracket()
     {
         switch ($this->_content) {
@@ -412,7 +412,7 @@
         }
         return(FALSE);
     }
-
+    
     function isRightBracket()
     {
         switch ($this->_content) {
@@ -434,7 +434,7 @@
     var $_symbol_arr;
     var $_node_arr;
     var $_node_cntr;
-
+    
     function ASCIIMathPHP($symbol_arr,$expr = NULL)
     {
         $this->_symbol_arr = $symbol_arr;
@@ -442,10 +442,10 @@
             $this->setExpr($expr);
         }
     }
-
+    
     /**
      * Returns an empty node (containing a non-breaking space) 26-Apr-2006
-     *
+     * 
      * Used when an expression is incomplete
      *
      * @return object
@@ -459,7 +459,7 @@
         $tmp_node->setContent('&#' . hexdec('200B') . ';');
         return $tmp_node;
     }
-
+    
     function pushExpr($prefix) // 2005-06-11 wes
     {
         $this->_curr_expr = $prefix . $this->_curr_expr;
@@ -470,59 +470,59 @@
         $this->_expr = $expr;
         $this->_curr_expr = $expr;
         $this->_prev_expr = $expr;
-
+        
         $this->_node_arr = array();
         $this->_node_cntr = 0;
     }
-
+    
     function genMathML($attr_arr = NULL)
     {
         // <math> node
         $node_0 =& $this->createNode();
         $node_0->setName('math');
         $node_0->setNamepace('http://www.w3.org/1998/Math/MathML');
-
+        
         // <mstyle> node
         if (isset($attr_arr)) {
             $node_1 =& $this->createNode();
             $node_1->setName('mstyle');
             $node_1->setAttrArr($attr_arr);
-
+            
             $node_arr = $this->parseExpr();
-
+            
             $node_1->addChildArr($node_arr);
             $node_0->addChild($node_1);
         } else {
             $node_arr = $this->parseExpr();
             $node_0->addChildArr($node_arr);
         }
-
+        
         return TRUE;
     }
-
+    
     /*
     function & mergeNodeArr(&$node_arr_0,&$node_arr_1)
     {
         $key_arr_0 = array_keys($node_arr_0);
         $key_arr_1 = array_keys($node_arr_1);
-
+        
         $num_key_0 = count($key_arr_0);
         $num_key_1 = count($key_arr_1);
-
+        
         $merge_arr = array();
-
+        
         for ($i = 0;$i < $num_key_0;$i++) {
             $merge_arr[$key_arr_0[$i]] =& $node_arr_0[$key_arr_0[$i]];
         }
-
+        
         for ($j = 0;$j < $num_key_1;$i++) {
             $merge_arr[$key_arr_1[$i]] =& $node_arr_1[$key_arr_1[$i]];
         }
-
+        
         return($merge_arr);
     }
     */
-
+    
     //Broken out of parseExpr Sept 7, 2006 David Lippman for
     //ASCIIMathML 1.4.7 compatibility
     function & parseIntExpr()
@@ -530,45 +530,45 @@
         $sym_0 = $this->getSymbol();
         $node_0 =& $this->parseSmplExpr();
         $sym = $this->getSymbol();
-
+        
         if (isset($sym['infix']) && $sym['input'] != '/') {
             $this->chopExpr($sym['symlen']);
             $node_1 =& $this->parseSmplExpr();
-
+            
             if ($node_1 === FALSE) { //show box in place of missing argument
                 $node_1 =& $this->emptyNode();//??
             } else {
                 $node_1->removeBrackets();
             }
-
+            
             // If 'sub' -- subscript
             if ($sym['input'] == '_') {
-
+                
                 $sym_1 = $this->getSymbol();
-
+                
                 // If 'sup' -- superscript
-                if ($sym_1['input'] == '^') {
+                if ($sym_1['input'] == '^') { 
                     $this->chopExpr($sym_1['symlen']);
                     $node_2 =& $this->parseSmplExpr();
                     $node_2->removeBrackets();
-
+                    
                     $node_3 =& $this->createNode();
                     $node_3->setName(isset($sym_0['underover']) ? 'munderover' : 'msubsup');
                     $node_3->addChild($node_0);
                     $node_3->addChild($node_1);
                     $node_3->addChild($node_2);
-
+                    
                     $node_4 =& $this->createNode();
                     $node_4->setName('mrow');
                     $node_4->addChild($node_3);
-
+                    
                     return $node_4;
                 } else {
                     $node_2 =& $this->createNode();
                     $node_2->setName(isset($sym_0['underover']) ? 'munder' : 'msub');
                     $node_2->addChild($node_0);
                     $node_2->addChild($node_1);
-
+                    
                     return $node_2;
                 }
             } else {
@@ -576,7 +576,7 @@
                 $node_2->setName($sym['tag']);
                 $node_2->addChild($node_0);
                 $node_2->addChild($node_1);
-
+                
                 return($node_2);
             }
         } elseif ($node_0 !== FALSE) {
@@ -584,32 +584,32 @@
         } else {
             return $this->emptyNode();
         }
-
+        
     }
-
+    
     function parseExpr()
     {
         // Child/Fragment array
         $node_arr = array();
-
+        
         // Deal whole expressions like 'ax + by + c = 0' etc.
         do {
             $sym_0 = $this->getSymbol();
             $node_0 =& $this->parseIntExpr();
             $sym = $this->getSymbol();
             // var_dump($sym);
-
+            
             if (isset($sym['infix']) && $sym['input'] == '/') {
                 $this->chopExpr($sym['symlen']);
                 $node_1 =& $this->parseIntExpr();
-
+                
                 if ($node_1 === FALSE) { //should show box in place of missing argument
                     $node_1 =& $this->emptyNode();
                     continue;
                 }
 
                 $node_1->removeBrackets();
-
+                
                 // If 'div' -- divide
                 $node_0->removeBrackets();
                 $node_2 =& $this->createNode();
@@ -617,18 +617,18 @@
                 $node_2->addChild($node_0);
                 $node_2->addChild($node_1);
                 $node_arr[$node_2->getId()] =& $node_2;
-
+            
             } elseif ($node_0 !== FALSE) {
                 $node_arr[$node_0->getId()] =& $node_0;
             }
         } while (!isset($sym['right_bracket']) && $sym !== FALSE && $sym['output'] != '');
-
+        
         //var_dump($sym);
         // Possibly to deal with matrices
         if (isset($sym['right_bracket'])) {
             $node_cnt = count($node_arr);
             $key_node_arr = array_keys($node_arr);
-
+            
             if ($node_cnt > 1) {
                 $node_5 =& $node_arr[$key_node_arr[$node_cnt-1]];
                 $node_6 =& $node_arr[$key_node_arr[$node_cnt-2]];
@@ -636,56 +636,56 @@
                 $node_5 = FALSE;
                 $node_6 = FALSE;
             }
-
+            
             // Dealing with matrices
             if ($node_5 !== FALSE && $node_6 !== FALSE &&
-                $node_cnt > 1 &&
-                $node_5->getName() == 'mrow' &&
+                $node_cnt > 1 && 
+                $node_5->getName() == 'mrow' && 
                 $node_6->getName() == 'mo' &&
                 $node_6->getContent() == ',') {
-
+                
                 // Checking if Node 5 has a LastChild
                 if ($node_7 =& $node_5->getLastChild()) {
                     $node_7_cntnt = $node_7->getContent();
                 } else {
                     $node_7_cntnt = FALSE;
                 }
-
+                
                 // If there is a right bracket
                 if ($node_7 !== FALSE && ($node_7_cntnt == ']' || $node_7_cntnt == ')')) {
-
+                    
                     // Checking if Node 5 has a firstChild
                     if ($node_8 =& $node_5->getFirstChild()) {
                         $node_8_cntnt = $node_8->getContent();
                     } else {
                         $node_8_cntnt = FALSE;
                     }
-
+                    
                     // If there is a matching left bracket
-                    if ($node_8 !== FALSE &&
+                    if ($node_8 !== FALSE && 
                         (($node_8_cntnt == '(' && $node_7_cntnt == ')' && $sym['output'] != '}') ||
                         ($node_8_cntnt == '[' && $node_7_cntnt == ']'))) {
-
+                            
                         $is_mtrx_flg = TRUE;
                         $comma_pos_arr = array();
-
+                        
                         $i = 0;
-
+                        
                         while ($i < $node_cnt && $is_mtrx_flg) {
                             $tmp_node =& $node_arr[$key_node_arr[$i]];
-
+                            
                             if($tmp_node_first =& $tmp_node->getFirstChild()) {
                                 $tnfc = $tmp_node_first->getContent();
                             } else {
                                 $tnfc = FALSE;
                             }
-
+                            
                             if($tmp_node_last =& $tmp_node->getLastChild()) {
                                 $tnlc = $tmp_node_last->getContent();
                             } else {
                                 $tnlc = FALSE;
                             }
-
+                            
                             if (isset($key_node_arr[$i+1])) {
                                 $next_tmp_node =& $node_arr[$key_node_arr[$i+1]];
                                 $ntnn = $next_tmp_node->getName();
@@ -694,7 +694,7 @@
                                 $ntnn = FALSE;
                                 $ntnc = FALSE;
                             }
-
+                            
                             // Checking each node in node array for matrix criteria
                             if ($is_mtrx_flg) {
                                 $is_mtrx_flg = $tmp_node->getName() == 'mrow' &&
@@ -705,27 +705,27 @@
                             if ($is_mtrx_flg) {
                                 for ($j = 0;$j < $tmp_node->getNumChild();$j++) {
                                     $tmp_c_node =& $tmp_node->getChildByIdx($j);
-
+                                    
                                     if ($tmp_c_node->getContent() == ',') {
                                         $comma_pos_arr[$i][] = $j;
                                     }
                                 }
-                            }
-
+                            }    
+                            
                             if ($is_mtrx_flg && $i > 1) {
-
+                                
                                 $cnt_cpan = isset($comma_pos_arr[$i]) ? count($comma_pos_arr[$i]) : NULL;
                                 $cnt_cpap = isset($comma_pos_arr[$i-2]) ? count($comma_pos_arr[$i-2]) : NULL;
                                 $is_mtrx_flg = $cnt_cpan == $cnt_cpap;
                             }
-
+                            
                             $i += 2;
                         }
-
+                        
                         // If the node passes the matrix tests
                         if ($is_mtrx_flg) {
                             $tab_node_arr = array();
-
+                            
                             for ($i = 0;$i < $node_cnt;$i += 2) {
                                 $tmp_key_node_arr = array_keys($node_arr);
                                 if (!($tmp_node =& $node_arr[$tmp_key_node_arr[0]])) {
@@ -733,71 +733,71 @@
                                 }
                                 $num_child = $tmp_node->getNumChild();
                                 $k = 0;
-
+                                
                                 $tmp_node->removeFirstChild();
-
+                                
                                 $row_node_arr = array();
                                 $row_frag_node_arr = array();
-
+                                
                                 for ($j = 1;$j < ($num_child-1);$j++) {
-                                    if (isset($comma_pos_arr[$i][$k]) &&
+                                    if (isset($comma_pos_arr[$i][$k]) && 
                                         $j == $comma_pos_arr[$i][$k]) {
-
+                                        
                                         $tmp_node->removeFirstChild();
-
+                                        
                                         $tmp_c_node =& $this->createNode();
                                         $tmp_c_node->setName('mtd');
                                         $tmp_c_node->addChildArr($row_frag_node_arr);
                                         $row_frag_node_arr = array();
-
+                                        
                                         $row_node_arr[$tmp_c_node->getId()] =& $tmp_c_node;
-
+                                        
                                         $k++;
                                     } else {
-
+                                        
                                         if ($tmp_c_node =& $tmp_node->getFirstChild()) {
                                             $row_frag_node_arr[$tmp_c_node->getId()] =& $tmp_c_node;
                                             $tmp_node->removeFirstChild();
                                         }
                                     }
                                 }
-
+                                
                                 $tmp_c_node =& $this->createNode();
                                 $tmp_c_node->setName('mtd');
                                 $tmp_c_node->addChildArr($row_frag_node_arr);
-
+                                
                                 $row_node_arr[$tmp_c_node->getId()] =& $tmp_c_node;
-
+                                
                                 if (count($node_arr) > 2) {
                                     $tmp_key_node_arr = array_keys($node_arr);
                                     unset($node_arr[$tmp_key_node_arr[0]]);
                                     unset($node_arr[$tmp_key_node_arr[1]]);
                                 }
-
+                                
                                 $tmp_c_node =& $this->createNode();
                                 $tmp_c_node->setName('mtr');
                                 $tmp_c_node->addChildArr($row_node_arr);
-
+                                
                                 $tab_node_arr[$tmp_c_node->getId()] =& $tmp_c_node;
                             }
-
+                            
                             $tmp_c_node =& $this->createNode();
                             $tmp_c_node->setName('mtable');
                             $tmp_c_node->addChildArr($tab_node_arr);
-
+                            
                             if (isset($sym['invisible'])) {
                                 $tmp_c_node->setAttr('columnalign','left');
                             }
-
+                            
                             $key_node_arr = array_keys($node_arr);
                             $tmp_c_node->setId($key_node_arr[0]);
-
+                            
                             $node_arr[$tmp_c_node->getId()] =& $tmp_c_node;
                         }
                     }
                 }
             }
-
+            
             $this->chopExpr($sym['symlen']);
             if (!isset($sym['invisible'])) {
                 $node_7 =& $this->createNode();
@@ -806,19 +806,19 @@
                 $node_arr[$node_7->getId()] =& $node_7;
             }
         }
-
+        
         return($node_arr);
     }
-
+    
     function & parseSmplExpr()
     {
         $sym = $this->getSymbol();
-
-        if (!$sym || isset($sym['right_bracket'])) //return FALSE;
+        
+        if (!$sym || isset($sym['right_bracket'])) //return FALSE; 
             return $this->emptyNode();
-
+        
         $this->chopExpr($sym['symlen']);
-
+        
         // 2005-06-11 wes: add definition type support
         if(isset($sym['definition'])) {
             $this->pushExpr($sym['output']);
@@ -828,35 +828,35 @@
 
         if (isset($sym['left_bracket'])) {
             $node_arr = $this->parseExpr();
-
+            
             if (isset($sym['invisible'])) {
                 $node_0 =& $this->createNode();
                 $node_0->setName('mrow');
                 $node_0->addChildArr($node_arr);
-
+                
                 return($node_0);
             } else {
                 $node_0 =& $this->createNode();
                 $node_0->setName('mo');
                 $node_0->setContent($sym['output']);
-
+                
                 $node_1 =& $this->createNode();
                 $node_1->setName('mrow');
                 $node_1->addChild($node_0);
                 $node_1->addChildArr($node_arr);
-
+                
                 return($node_1);
             }
         } elseif (isset($sym['unary'])) {
-
+            
             if ($sym['input'] == 'sqrt') {
                 $node_0 =& $this->parseSmplExpr();
                 $node_0->removeBrackets();
-
+                
                 $node_1 =& $this->createNode();
                 $node_1->setName($sym['tag']);
                 $node_1->addChild($node_0);
-
+                
                 return($node_1);
             } elseif (isset($sym['func'])) { //added 2006-9-7 David Lippman
                 $expr = ltrim($this->getCurrExpr());
@@ -901,52 +901,52 @@
                     }
                     $txt = substr($expr,1,strpos($expr,$end_brckt)-1);
                 }
-
+                
                 //$txt = substr($expr,1,strpos($expr,$end_brckt)-1);
                 $len = strlen($txt);
-
+                
                 $node_0 =& $this->createNode();
                 $node_0->setName('mrow');
-
+                
                 if ($len > 0) {
                     if ($txt{0} == " ") {
                         $node_1 =& $this->createNode();
                         $node_1->setName('mspace');
                         $node_1->setAttr('width','1ex');
-
+                        
                         $node_0->addChild($node_1);
                     }
-
+                    
                     $node_3 =& $this->createNode();
                     $node_3->setName($sym['tag']);
                     $node_3->setContent(trim($txt));
-
+                    
                     $node_0->addChild($node_3);
-
+                    
                     if ($len > 1 && $txt{$len-1} == " ") {
                         $node_2 =& $this->createNode();
                         $node_2->setName('mspace');
                         $node_2->setAttr('width','1ex');
-
+                        
                         $node_0->addChild($node_2);
                     }
-
+                    
                     $this->chopExpr($len+2);
                 }
                 return($node_0);
-
+                
             } elseif (isset($sym['acc'])) {
                 $node_0 =& $this->parseSmplExpr();
                 $node_0->removeBrackets();
-
+                
                 $node_1 =& $this->createNode();
                 $node_1->setName($sym['tag']);
                 $node_1->addChild($node_0);
-
+                
                 $node_2 =& $this->createNode();
                 $node_2->setName('mo');
                 $node_2->setContent($sym['output']);
-
+                
                 $node_1->addChild($node_2);
                 return($node_1);
             } else {
@@ -954,13 +954,13 @@
             }
         } elseif (isset($sym['binary'])) {
             $node_arr = array();
-
+            
             $node_0 =& $this->parseSmplExpr();
             $node_0->removeBrackets();
-
+            
             $node_1 =& $this->parseSmplExpr();
             $node_1->removeBrackets();
-
+            
             /* 2005-06-05 wes: added stackrel */
             if ($sym['input'] == 'root' || $sym['input'] == 'stackrel') {
                 $node_arr[$node_1->getId()] =& $node_1;
@@ -969,126 +969,126 @@
                 $node_arr[$node_0->getId()] =& $node_0;
                 $node_arr[$node_1->getId()] =& $node_1;
             }
-
+            
             $node_2 =& $this->createNode();
             $node_2->setName($sym['tag']);
             $node_2->addChildArr($node_arr);
-
+            
             return($node_2);
         } elseif (isset($sym['infix'])) {
             $node_0 =& $this->createNode();
             $node_0->setName('mo');
             $node_0->setContent($sym['output']);
-
+            
             return($node_0);
         } elseif (isset($sym['space'])) {
             $node_0 =& $this->createNode();
             $node_0->setName('mrow');
-
+            
             $node_1 =& $this->createNode();
             $node_1->setName('mspace');
             $node_1->setAttr('width',$sym['space']);
-
+            
             $node_2 =& $this->createNode();
             $node_2->setName($sym['tag']);
             $node_2->setContent($sym['output']);
-
+            
             $node_3 =& $this->createNode();
             $node_3->setName('mspace');
             $node_3->setAttr('width',$sym['space']);
-
+            
             $node_0->addChild($node_1);
             $node_0->addChild($node_2);
             $node_0->addChild($node_3);
-
+            
             return($node_0);
         } else {
-
+            
             // A constant
             $node_0 =& $this->createNode();
             $node_0->setName($sym['tag']);
             $node_0->setContent($sym['output']);
             return($node_0);
         }
-
+        
         // Return an empty node
         return $this->emptyNode();
     }
-
+    
     function getMathML()
     {
         $root =& $this->_node_arr[0];
         return($root->dumpXML());
     }
-
+    
     function getCurrExpr()
     {
         return($this->_curr_expr);
     }
-
+    
     function setCurrExpr($str)
     {
         $this->_curr_expr = $str;
     }
-
+    
     function getExpr()
     {
         return($this->_expr);
     }
-
+    
     function getPrevExpr()
     {
         return($this->_prev_expr);
     }
-
+    
     function & createNode()
     {
-        $node = new MathMLNode($this->_node_cntr);
+        $node =& new MathMLNode($this->_node_cntr);
         // $node->setNamespaceAlias('m');
         $this->_node_arr[$this->_node_cntr] =& $node;
         $this->_node_cntr++;
         return($node);
     }
-
+    
     /**
      * Gets the largest symbol in the expression (greedy). Changed from non-greedy 26-Apr-2006
-     *
+     * 
      * @parameter boolean[optional] Chop original string?
      *
      * @return mixed
-     *
+     * 
      * @access private
      */
     function getSymbol($chop_flg = FALSE)
     {
-        // Implemented a reverse symbol matcher.
+        // Implemented a reverse symbol matcher. 
         // Instead of going front to back, it goes back to front. Steven 26-Apr-2006
         $chr_cnt = strlen($this->_curr_expr);
-
+        
         if ($chr_cnt == 0) return FALSE;
-
+        
         for ($i = $chr_cnt; $i > 0; $i--) {
             $sym_0 = substr($this->_curr_expr,0,$i);
-
+            
             // Reading string for numeric values
             if (is_numeric($sym_0)) {
-
+                
                 if ($chop_flg) $this->chopExpr($i);
                 return array('input'=>$sym_0, 'tag'=>'mn', 'output'=>$sym_0, 'symlen'=>$i);
-
+                
             } elseif (isset($this->_symbol_arr[$sym_0])) {
-
+                
                 if ($chop_flg) $this->chopExpr($i);
                 $sym_arr = $this->_symbol_arr[$sym_0];
                 $sym_arr['symlen'] = $i;
                 return $sym_arr;
             }
         }
-
+        
         // Reading string for alphabetic constants and the minus sign
         $char = $this->_curr_expr{0};
         $len_left = $chop_flg ? $this->chopExpr(1) : strlen($this->_curr_expr)-1;
-
+        
         // Deals with expressions of length 1
         if ($len_left == 0 && isset($this->_symbol_arr[$char])) {
             $sym_arr = $this->_symbol_arr[$char];
@@ -1099,11 +1099,11 @@
             return array('input'=>$char, 'tag'=>$tag, 'output'=>$char, 'symlen'=>1);
         }
     }
-
+    
     function chopExpr($strlen)
     {
         $this->_prev_expr = $this->_curr_expr;
-
+        
         if ($strlen == strlen($this->_curr_expr)) {
             $this->_curr_expr = '';
             return(0);
@@ -1111,6 +1111,6 @@
             $this->_curr_expr = ltrim(substr($this->_curr_expr,$strlen));
             return(strlen($this->_curr_expr));
         }
-    }
+    }    
 }
 ?>

Modified: trunk/src/plugins/wiki/www/lib/CachedMarkup.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/CachedMarkup.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/CachedMarkup.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php
-// $Id: CachedMarkup.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: CachedMarkup.php 8187 2011-11-28 16:58:01Z vargenau $
 /* Copyright (C) 2002 Geoffrey T. Dairiki <dairiki at dairiki.org>
  * Copyright (C) 2004-2010 $ThePhpWikiProgrammingTeam
  * Copyright (C) 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -27,16 +27,15 @@
 
     function CacheableMarkup($content, $basepage) {
         $this->_basepage = $basepage;
-    $this->_buf = '';
-    $this->_content = array();
-    $this->_append($content);
-    if ($this->_buf != '')
-        $this->_content[] = $this->_buf;
-    unset($this->_buf);
+        $this->_buf = '';
+        $this->_content = array();
+        $this->_append($content);
+        if ($this->_buf != '')
+            $this->_content[] = $this->_buf;
+        unset($this->_buf);
     }
 
     function pack() {
-
         // FusionForge hack
         // This causes a strange bug when a comment containing
         // a single quote is entered in the Summary box:
@@ -94,9 +93,9 @@
      * @return array of hashes { linkto=>pagename, relation=>pagename }
      */
     function getWikiPageLinks() {
-    $links = array();
-    foreach ($this->_content as $item) {
-        if (!isa($item, 'Cached_DynamicContent'))
+        $links = array();
+        foreach ($this->_content as $item) {
+            if (!isa($item, 'Cached_DynamicContent'))
                 continue;
             if (!($item_links = $item->getWikiPageLinks($this->_basepage)))
                 continue;
@@ -104,8 +103,8 @@
         }
         // array_unique has a bug with hashes!
         // set_links checks for duplicates, array_merge does not
-    //return array_unique($links);
-    return $links;
+        //return array_unique($links);
+        return $links;
     }
 
     /** Get link info.
@@ -116,63 +115,63 @@
      * Returns an array of hashes.
      */
     function getLinkInfo() {
-    $link = array();
-    foreach ($this->_content as $link) {
-        if (! isa($link, 'Cached_Link'))
-        continue;
-        $info = $link->getLinkInfo($this->_basepage);
-        $links[$info->href] = $info;
+        $link = array();
+        foreach ($this->_content as $link) {
+            if (! isa($link, 'Cached_Link'))
+                continue;
+            $info = $link->getLinkInfo($this->_basepage);
+            $links[$info->href] = $info;
+        }
+        return array_values($links);
     }
-    return array_values($links);
-    }
 
     function _append($item) {
-    if (is_array($item)) {
-        foreach ($item as $subitem)
-        $this->_append($subitem);
-    }
-    elseif (!is_object($item)) {
-        $this->_buf .= $this->_quote((string) $item);
-    }
-    elseif (isa($item, 'Cached_DynamicContent')) {
-        if ($this->_buf) {
-        $this->_content[] = $this->_buf;
-        $this->_buf = '';
+        if (is_array($item)) {
+            foreach ($item as $subitem)
+                $this->_append($subitem);
         }
-        $this->_content[] = $item;
-    }
-    elseif (isa($item, 'XmlElement')) {
-        if ($item->isEmpty()) {
-        $this->_buf .= $item->emptyTag();
+        elseif (!is_object($item)) {
+            $this->_buf .= $this->_quote((string) $item);
         }
-        else {
-        $this->_buf .= $item->startTag();
-        foreach ($item->getContent() as $subitem)
-            $this->_append($subitem);
-        $this->_buf .= "</$item->_tag>";
+        elseif (isa($item, 'Cached_DynamicContent')) {
+            if ($this->_buf) {
+                $this->_content[] = $this->_buf;
+                $this->_buf = '';
+            }
+            $this->_content[] = $item;
+        }
+        elseif (isa($item, 'XmlElement')) {
+            if ($item->isEmpty()) {
+                $this->_buf .= $item->emptyTag();
+            }
+            else {
+                $this->_buf .= $item->startTag();
+                foreach ($item->getContent() as $subitem)
+                    $this->_append($subitem);
+                $this->_buf .= "</$item->_tag>";
 
                 if (!$this->getDescription() and $item->getTag() == 'p') {
                     // performance: when is this really needed?
                     $this->_glean_description($item->asString());
                 }
+            }
+            if (!$item->isInlineElement())
+            $this->_buf .= "\n";
         }
-        if (!$item->isInlineElement())
-        $this->_buf .= "\n";
+        elseif (isa($item, 'XmlContent')) {
+            foreach ($item->getContent() as $item)
+                $this->_append($item);
+        }
+        elseif (method_exists($item, 'asXML')) {
+            $this->_buf .= $item->asXML();
+        }
+        elseif (method_exists($item, 'asString')) {
+            $this->_buf .= $this->_quote($item->asString());
+        }
+        else {
+            $this->_buf .= sprintf("==Object(%s)==", get_class($item));
+        }
     }
-    elseif (isa($item, 'XmlContent')) {
-        foreach ($item->getContent() as $item)
-        $this->_append($item);
-    }
-    elseif (method_exists($item, 'asXML')) {
-        $this->_buf .= $item->asXML();
-    }
-    elseif (method_exists($item, 'asString')) {
-        $this->_buf .= $this->_quote($item->asString());
-    }
-    else {
-        $this->_buf .= sprintf("==Object(%s)==", get_class($item));
-    }
-    }
 
     function _glean_description($text) {
         static $two_sentences;
@@ -206,10 +205,10 @@
     }
 
     function asXML () {
-    $xml = '';
+        $xml = '';
         $basepage = $this->_basepage;
 
-    foreach ($this->_content as $item) {
+        foreach ($this->_content as $item) {
             if (is_string($item)) {
                 $xml .= $item;
             }
@@ -224,15 +223,15 @@
             else {
                 $xml .= $item->asXML();
             }
+        }
+        return $xml;
     }
-    return $xml;
-    }
 
     function printXML () {
         $basepage = $this->_basepage;
         // _content might be changed from a plugin (CreateToc)
-    for ($i=0; $i < count($this->_content); $i++) {
-        $item = $this->_content[$i];
+        for ($i=0; $i < count($this->_content); $i++) {
+            $item = $this->_content[$i];
             if (is_string($item)) {
                 print $item;
             }
@@ -249,8 +248,8 @@
             else {
                 $item->printXML();
             }
+        }
     }
-    }
 }
 
 /**
@@ -262,7 +261,7 @@
 class Cached_DynamicContent {
 
     function cache(&$cache) {
-    $cache[] = $this;
+        $cache[] = $this;
     }
 
     function expand($basepage, &$obj) {
@@ -276,18 +275,18 @@
 
 class XmlRpc_LinkInfo {
     function XmlRpc_LinkInfo($page, $type, $href, $relation = '') {
-    $this->page = $page;
-    $this->type = $type;
-    $this->href = $href;
-    $this->relation = $relation;
-    //$this->pageref = str_replace("/RPC2.php", "/index.php", $href);
+        $this->page = $page;
+        $this->type = $type;
+        $this->href = $href;
+        $this->relation = $relation;
+        //$this->pageref = str_replace("/RPC2.php", "/index.php", $href);
     }
 }
 
 class Cached_Link extends Cached_DynamicContent {
 
     function isInlineElement() {
-    return true;
+        return true;
     }
 
     /** Get link info (for XML-RPC support)
@@ -296,17 +295,17 @@
      * (See http://www.ecyrd.com/JSPWiki/Wiki.jsp?page=WikiRPCInterface)
      */
     function getLinkInfo($basepage) {
-    return new XmlRpc_LinkInfo($this->_getName($basepage),
+        return new XmlRpc_LinkInfo($this->_getName($basepage),
                                    $this->_getType(),
                                    $this->_getURL($basepage),
                                    $this->_getRelation($basepage));
     }
 
     function _getURL($basepage) {
-    return $this->_url;
+        return $this->_url;
     }
     function __getRelation($basepage) {
-    return $this->_relation;
+        return $this->_relation;
     }
 }
 /*
@@ -315,34 +314,34 @@
  */
 class Cached_InlinedImage extends Cached_DynamicContent {
     function isInlineElement() {
-    return true;
+        return true;
     }
     function _getURL($basepage) {
-    return $this->_url;
+        return $this->_url;
     }
     // TODO: fix interwiki inline links in case of static dumps
     function expand($basepage, &$markup) {
-    global $WikiTheme;
+        global $WikiTheme;
         $this->_basepage = $basepage;
-    $label = isset($this->_label) ? $this->_label : false;
-    if ($WikiTheme->DUMP_MODE) {
+        $label = isset($this->_label) ? $this->_label : false;
+        if ($WikiTheme->DUMP_MODE) {
             // In case of static dumps we need to check if we should
             // inline the image or not: external: keep link, internal: copy locally
-        return LinkImage($label);
-    } else {
-        return LinkImage($label);
+            return LinkImage($label);
+        } else {
+            return LinkImage($label);
+        }
     }
-    }
 }
 
 class Cached_WikiLink extends Cached_Link {
 
     function Cached_WikiLink ($page, $label = false, $anchor = false) {
-    $this->_page = $page;
-    /* ":DontStoreLink" */
-    if (substr($this->_page,0,1) == ':') {
-        $this->_page = substr($this->_page,1);
-        $this->_nolink = true;
+        $this->_page = $page;
+        /* ":DontStoreLink" */
+        if (substr($this->_page,0,1) == ':') {
+            $this->_page = substr($this->_page,1);
+            $this->_nolink = true;
         }
         if ($anchor)
             $this->_anchor = $anchor;
@@ -357,13 +356,13 @@
 
     function getPagename($basepage) {
         $page = new WikiPageName($this->_page, $basepage);
-    if ($page->isValid()) return $page->name;
-    else return false;
+        if ($page->isValid()) return $page->name;
+        else return false;
     }
 
     function getWikiPageLinks($basepage) {
         if ($basepage == '') return false;
-    if (isset($this->_nolink)) return false;
+        if (isset($this->_nolink)) return false;
         if ($link = $this->getPagename($basepage))
             return array(array('linkto' => $link));
         else
@@ -371,41 +370,41 @@
     }
 
     function _getName($basepage) {
-    return $this->getPagename($basepage);
+        return $this->getPagename($basepage);
     }
 
     function _getURL($basepage) {
-    return WikiURL($this->getPagename($basepage));
-    //return WikiURL($this->getPagename($basepage), false, 'abs_url');
+        return WikiURL($this->getPagename($basepage));
+        //return WikiURL($this->getPagename($basepage), false, 'abs_url');
     }
 
     function expand($basepage, &$markup) {
-    global $WikiTheme;
+        global $WikiTheme;
         $this->_basepage = $basepage;
-    $label = isset($this->_label) ? $this->_label : false;
-    $anchor = isset($this->_anchor) ? (string)$this->_anchor : '';
+        $label = isset($this->_label) ? $this->_label : false;
+        $anchor = isset($this->_anchor) ? (string)$this->_anchor : '';
         $page = new WikiPageName($this->_page, $basepage, $anchor);
-    if ($WikiTheme->DUMP_MODE and !empty($WikiTheme->VALID_LINKS)) {
-        if (!in_array($this->_page, $WikiTheme->VALID_LINKS))
-        return HTML($label ? $label : $page->getName());
-    }
+        if ($WikiTheme->DUMP_MODE and !empty($WikiTheme->VALID_LINKS)) {
+            if (!in_array($this->_page, $WikiTheme->VALID_LINKS))
+                return HTML($label ? $label : $page->getName());
+        }
         if ($page->isValid()) return WikiLink($page, 'auto', $label);
-    else return HTML($label);
+            else return HTML($label);
     }
 
     function asXML() {
-    global $WikiTheme;
-    $label = isset($this->_label) ? $this->_label : false;
-    $anchor = isset($this->_anchor) ? (string)$this->_anchor : '';
-    //TODO: need basepage for subpages like /Remove (within CreateTOC)
+        global $WikiTheme;
+        $label = isset($this->_label) ? $this->_label : false;
+        $anchor = isset($this->_anchor) ? (string)$this->_anchor : '';
+        //TODO: need basepage for subpages like /Remove (within CreateTOC)
         $page = new WikiPageName($this->_page, $this->_basepage, $anchor);
-    if ($WikiTheme->DUMP_MODE and $WikiTheme->VALID_LINKS) {
-        if (!in_array($this->_page, $WikiTheme->VALID_LINKS))
-        return $label ? $label : $page->getName();
+        if ($WikiTheme->DUMP_MODE and $WikiTheme->VALID_LINKS) {
+            if (!in_array($this->_page, $WikiTheme->VALID_LINKS))
+                return $label ? $label : $page->getName();
+        }
+        $link = WikiLink($page, 'auto', $label);
+        return $link->asXML();
     }
-    $link = WikiLink($page, 'auto', $label);
-    return $link->asXML();
-    }
 
     function asString() {
         if (isset($this->_label))
@@ -417,15 +416,15 @@
 class Cached_WikiLinkIfKnown extends Cached_WikiLink
 {
     function Cached_WikiLinkIfKnown ($moniker) {
-    $this->_page = $moniker;
+        $this->_page = $moniker;
     }
 
     function expand($basepage, &$markup) {
-    global $WikiTheme;
-    if ($WikiTheme->DUMP_MODE and $WikiTheme->VALID_LINKS) {
-        if (!in_array($this->_page, $WikiTheme->VALID_LINKS))
-        return HTML($label ? $label : $page->getName());
-    }
+        global $WikiTheme;
+        if ($WikiTheme->DUMP_MODE and $WikiTheme->VALID_LINKS) {
+            if (!in_array($this->_page, $WikiTheme->VALID_LINKS))
+                return HTML($label ? $label : $page->getName());
+        }
         return WikiLink($this->_page, 'if_known');
     }
 }
@@ -433,8 +432,8 @@
 class Cached_SpellCheck extends Cached_WikiLink
 {
     function Cached_SpellCheck ($word, $suggs) {
-    $this->_page = $word;
-    $this->suggestions = $suggs;
+        $this->_page = $word;
+        $this->suggestions = $suggs;
     }
 
     function expand($basepage, &$markup) {
@@ -455,16 +454,16 @@
     }
 
     function isInlineElement() {
-    return true;
+        return true;
     }
 
     function expand($basepage, &$markup) {
     global $WikiTheme;
         $label = isset($this->_label) ? $this->_label : false;
-    if ($WikiTheme->DUMP_MODE and $WikiTheme->VALID_LINKS) {
-        if (!in_array($this->_page, $WikiTheme->VALID_LINKS))
-        return HTML($label ? $label : $page->getName());
-    }
+        if ($WikiTheme->DUMP_MODE and $WikiTheme->VALID_LINKS) {
+            if (!in_array($this->_page, $WikiTheme->VALID_LINKS))
+                return HTML($label ? $label : $page->getName());
+        }
         return LinkPhpwikiURL($this->_url, $label, $basepage);
     }
 
@@ -501,14 +500,14 @@
     }
 
     function isInlineElement() {
-    return true;
+        return true;
     }
 
     function getPagename($basepage) {
-    if (!isset($this->_page)) return false;
-    $page = new WikiPageName($this->_page, $basepage);
-    if ($page->isValid()) return $page->name;
-    else return false;
+        if (!isset($this->_page)) return false;
+        $page = new WikiPageName($this->_page, $basepage);
+        if ($page->isValid()) return $page->name;
+        else return false;
     }
 
     /* Add relation to the link table.
@@ -516,14 +515,14 @@
      */
     function getWikiPageLinks($basepage) {
         if ($basepage == '') return false;
-    if (!isset($this->_page) and isset($this->_attribute)) {
+        if (!isset($this->_page) and isset($this->_attribute)) {
             // An attribute: we store it in the basepage now, to fill the cache for page->save
             // TODO: side-effect free query
             $page = $GLOBALS['request']->getPage($basepage);
             $page->setAttribute($this->_relation, $this->_attribute);
             $this->_page = $basepage;
             return array(array('linkto' => '', 'relation' => $this->_relation));
-    }
+        }
         if ($link = $this->getPagename($basepage))
             return array(array('linkto' => $link, 'relation' => $this->_relation));
         else
@@ -535,50 +534,48 @@
         if (!preg_match('/^ ([^:]+) (:[:=]) (.+) $/x', $url, $m)) {
             return HTML::span(array('class' => 'error'), _("BAD semantic relation link"));
         }
-    $this->_relation = urldecode($m[1]);
+        $this->_relation = urldecode($m[1]);
         $is_attribute = ($m[2] == ':=');
         if ($is_attribute) {
             $this->_attribute = urldecode($m[3]);
-        // since this stored in the markup cache, we are extra sensible
-        // not to store false empty stuff.
-        $units = new Units();
-            if (!DISABLE_UNITS and !$units->errcode)
-        {
-        $this->_attribute_base = $units->Definition($this->_attribute);
-        $this->_unit = $units->baseunit($this->_attribute);
-        }
+            // since this stored in the markup cache, we are extra sensible
+            // not to store false empty stuff.
+            $units = new Units();
+            if (!DISABLE_UNITS and !$units->errcode) {
+                $this->_attribute_base = $units->Definition($this->_attribute);
+                $this->_unit = $units->baseunit($this->_attribute);
+            }
         } else {
-        $this->_page = urldecode($m[3]);
+            $this->_page = urldecode($m[3]);
         }
-    return $m;
+        return $m;
     }
 
     function _expand($url, $label = false) {
-    global $WikiTheme;
-    $m = $this->_expandurl($url);
+        global $WikiTheme;
+        $m = $this->_expandurl($url);
         $class = 'wiki';
         // do not link to the attribute value, but to the attribute
         $is_attribute = ($m[2] == ':=');
-    if ($WikiTheme->DUMP_MODE and $WikiTheme->VALID_LINKS) {
-        if (isset($this->_page) and !in_array($this->_page, $WikiTheme->VALID_LINKS))
-        return HTML($label ? $label : ($is_attribute ? $this->_relation : $this->_page));
-    }
-    if ($is_attribute)
-        $title = isset($this->_attribute_base)
-        ? sprintf(_("Attribute %s, base value: %s"), $this->_relation, $this->_attribute_base)
-        : sprintf(_("Attribute %s, value: %s"), $this->_relation, $this->_attribute);
-        if ($label) {
-            return HTML::span
-        (
-         HTML::a(array('href'  => WikiURL($is_attribute ? $this->_relation : $this->_page),
+        if ($WikiTheme->DUMP_MODE and $WikiTheme->VALID_LINKS) {
+            if (isset($this->_page) and !in_array($this->_page, $WikiTheme->VALID_LINKS))
+                return HTML($label ? $label : ($is_attribute ? $this->_relation : $this->_page));
+        }
+        if ($is_attribute)
+            $title = isset($this->_attribute_base)
+            ? sprintf(_("Attribute %s, base value: %s"), $this->_relation, $this->_attribute_base)
+            : sprintf(_("Attribute %s, value: %s"), $this->_relation, $this->_attribute);
+            if ($label) {
+                return HTML::span(
+                    HTML::a(array('href'  => WikiURL($is_attribute ? $this->_relation : $this->_page),
                    'class' => "wiki ".($is_attribute ? "attribute" : "relation"),
                    'title' => $is_attribute
                    ? $title
                    : sprintf(_("Relation %s to page %s"), $this->_relation, $this->_page)),
              $label)
          );
-        } elseif ($is_attribute) {
-            return HTML::span
+            } elseif ($is_attribute) {
+                return HTML::span
         (
          HTML::a(array('href'  => WikiURL($this->_relation),
                    'class' => "wiki attribute",
@@ -623,8 +620,8 @@
 class Cached_SearchHighlight extends Cached_DynamicContent
 {
     function Cached_SearchHighlight ($word, $engine) {
-    $this->_word = $word;
-    $this->engine = $engine;
+        $this->_word = $word;
+        $this->engine = $engine;
     }
 
     function expand($basepage, &$markup) {
@@ -637,7 +634,7 @@
 class Cached_ExternalLink extends Cached_Link {
 
     function Cached_ExternalLink($url, $label=false) {
-    $this->_url = $url;
+        $this->_url = $url;
         if ($label && $label != $url)
             $this->_label = $label;
     }
@@ -647,15 +644,15 @@
     }
 
     function _getName($basepage) {
-    $label = isset($this->_label) ? $this->_label : false;
-    return ($label and is_string($label)) ? $label : $this->_url;
+        $label = isset($this->_label) ? $this->_label : false;
+        return ($label and is_string($label)) ? $label : $this->_url;
     }
 
     function expand($basepage, &$markup) {
         global $request;
 
-    $label = isset($this->_label) ? $this->_label : false;
-    $link = LinkURL($this->_url, $label);
+        $label = isset($this->_label) ? $this->_label : false;
+        $link = LinkURL($this->_url, $label);
 
         if (GOOGLE_LINKS_NOFOLLOW) {
             // Ignores nofollow when the user who saved the page was authenticated.
@@ -677,24 +674,24 @@
 class Cached_InterwikiLink extends Cached_ExternalLink {
 
     function Cached_InterwikiLink($link, $label=false) {
-    $this->_link = $link;
+        $this->_link = $link;
         if ($label)
             $this->_label = $label;
     }
 
     function getPagename($basepage) {
         list ($moniker, $page) = explode (":", $this->_link, 2);
-    $page = new WikiPageName($page, $basepage);
-    if ($page->isValid()) return $page->name;
-    else return false;
+        $page = new WikiPageName($page, $basepage);
+        if ($page->isValid()) return $page->name;
+        else return false;
     }
 
     function getWikiPageLinks($basepage) {
         if ($basepage == '') return false;
-    /* ":DontStoreLink" */
-    if (substr($this->_link,0,1) == ':') return false;
-    /* store only links to valid pagenames */
-    $dbi = $GLOBALS['request']->getDbh();
+        /* ":DontStoreLink" */
+        if (substr($this->_link,0,1) == ':') return false;
+        /* store only links to valid pagenames */
+        $dbi = $GLOBALS['request']->getDbh();
         if ($link = $this->getPagename($basepage) and $dbi->isWikiPage($link)) {
             return array(array('linkto' => $link));
         } else {
@@ -703,8 +700,8 @@
     }
 
     function _getName($basepage) {
-    $label = isset($this->_label) ? $this->_label : false;
-    return ($label and is_string($label)) ? $label : $this->_link;
+        $label = isset($this->_label) ? $this->_label : false;
+        return ($label and is_string($label)) ? $label : $this->_link;
     }
 
     /* there may be internal interwiki links also */
@@ -713,21 +710,21 @@
     }
 
     function _getURL($basepage) {
-    $link = $this->expand($basepage, $this);
-    return $link->getAttr('href');
+        $link = $this->expand($basepage, $this);
+        return $link->getAttr('href');
     }
 
     function expand($basepage, &$markup) {
-    global $WikiTheme;
-    $intermap = getInterwikiMap();
-    $label = isset($this->_label) ? $this->_label : false;
-    //FIXME: check Upload: inlined images
-    if ($WikiTheme->DUMP_MODE and !empty($WikiTheme->VALID_LINKS)) {
-        if (!in_array($this->_link, $WikiTheme->VALID_LINKS))
-        return HTML($label ? $label : $this->_link);
+        global $WikiTheme;
+        $intermap = getInterwikiMap();
+        $label = isset($this->_label) ? $this->_label : false;
+        //FIXME: check Upload: inlined images
+        if ($WikiTheme->DUMP_MODE and !empty($WikiTheme->VALID_LINKS)) {
+            if (!in_array($this->_link, $WikiTheme->VALID_LINKS))
+            return HTML($label ? $label : $this->_link);
+        }
+        return $intermap->link($this->_link, $label);
     }
-    return $intermap->link($this->_link, $label);
-    }
 
     function asString() {
         if (isset($this->_label))
@@ -742,9 +739,9 @@
 class Cached_UserLink extends Cached_WikiLink {
     function expand($basepage, &$markup) {
         $label = isset($this->_label) ? $this->_label : false;
-    $anchor = isset($this->_anchor) ? (string)$this->_anchor : '';
+        $anchor = isset($this->_anchor) ? (string)$this->_anchor : '';
         $page = new WikiPageName($this->_page, $basepage, $anchor);
-    $link = WikiLink($page, 'auto', $label);
+        $link = WikiLink($page, 'auto', $label);
         // $link = HTML::a(array('href' => $PageName));
         $link->setContent(PossiblyGlueIconToText('wikiuser', $this->_page));
         $link->setAttr('class', 'wikiuser');
@@ -760,8 +757,8 @@
 class Cached_PluginInvocation extends Cached_DynamicContent {
 
     function Cached_PluginInvocation ($pi) {
-    $this->_pi = $pi;
-    $loader = $this->_getLoader();
+        $this->_pi = $pi;
+        $loader = $this->_getLoader();
         if (is_array($plugin_cmdline = $loader->parsePI($pi)) and $plugin_cmdline[1]) {
             $this->pi_name = $plugin_cmdline[0]; // plugin, plugin-form, plugin-list
             $this->name = $plugin_cmdline[1]->getName();
@@ -773,7 +770,7 @@
     }
 
     function isInlineElement() {
-    return false;
+        return false;
     }
 
     function expand($basepage, &$markup) {
@@ -795,9 +792,9 @@
     function & _getLoader() {
         static $loader = false;
 
-    if (!$loader) {
+        if (!$loader) {
             include_once('lib/WikiPlugin.php');
-        $loader = new WikiPluginLoader;
+            $loader = new WikiPluginLoader;
         }
         return $loader;
     }

Modified: trunk/src/plugins/wiki/www/lib/DbSession/PDO.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/DbSession/PDO.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/DbSession/PDO.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,6 +1,6 @@
 <?php // $Id: PDO.php 7956 2011-03-03 17:08:31Z vargenau $
 
-/**
+/** 
  * Db sessions for PDO, based on pear DB Sessions.
  *
  * @author: Reini Urban
@@ -36,7 +36,7 @@
         }
         return $dbh->_dbh;
     }
-
+    
     function query($sql) {
         return $this->_backend->query($sql);
     }
@@ -56,7 +56,7 @@
      * Actually this function is a fake for session_set_save_handle.
      * @param  string $save_path a path to stored files
      * @param  string $session_name a name of the concrete file
-     * @return boolean true just a variable to notify PHP that everything
+     * @return boolean true just a variable to notify PHP that everything 
      * is good.
      * @access private
      */
@@ -70,7 +70,7 @@
      *
      * This function is called just after <i>write</i> call.
      *
-     * @return boolean true just a variable to notify PHP that everything
+     * @return boolean true just a variable to notify PHP that everything 
      * is good.
      * @access private
      */
@@ -106,11 +106,11 @@
         }
         return $res;
     }
-
+  
     /**
      * Saves the session data into DB.
      *
-     * Just  a  comment:       The  "write"  handler  is  not
+     * Just  a  comment:       The  "write"  handler  is  not 
      * executed until after the output stream is closed. Thus,
      * output from debugging statements in the "write" handler
      * will  never be seen in the browser. If debugging output
@@ -124,8 +124,8 @@
      * @access private
      */
     function write ($id, $sess_data) {
-        if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;
-
+        if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;    	
+        
         $dbh = $this->_connect();
         $table = $this->_table;
         $time = time();
@@ -183,7 +183,7 @@
      * Removes a session from the table.
      *
      * @param  string $id
-     * @return boolean true
+     * @return boolean true 
      * @access private
      */
     function destroy ($id) {
@@ -193,7 +193,7 @@
         $sth->bindParam(1, $id, PDO_PARAM_STR, 32);
         $sth->execute();
         $this->_disconnect();
-        return true;
+        return true;     
     }
 
     /**
@@ -214,7 +214,7 @@
         return true;
     }
 
-    // WhoIsOnline support.
+    // WhoIsOnline support. 
     // TODO: ip-accesstime dynamic blocking API
     function currentSessions() {
         $sessions = array();

Modified: trunk/src/plugins/wiki/www/lib/DbSession/SQL.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/DbSession/SQL.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/DbSession/SQL.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -42,7 +42,7 @@
         }
         return $dbh;
     }
-
+    
     function query($sql) {
         return $this->_dbh->query($sql);
     }
@@ -62,7 +62,7 @@
      * Actually this function is a fake for session_set_save_handle.
      * @param  string $save_path a path to stored files
      * @param  string $session_name a name of the concrete file
-     * @return boolean true just a variable to notify PHP that everything
+     * @return boolean true just a variable to notify PHP that everything 
      * is good.
      * @access private
      */
@@ -76,7 +76,7 @@
      *
      * This function is called just after <i>write</i> call.
      *
-     * @return boolean true just a variable to notify PHP that everything
+     * @return boolean true just a variable to notify PHP that everything 
      * is good.
      * @access private
      */
@@ -97,7 +97,7 @@
         $dbh = $this->_connect();
         $table = $this->_table;
         $qid = $dbh->quote($id);
-
+    
         $res = $dbh->getOne("SELECT sess_data FROM $table WHERE sess_id=$qid");
 
         $this->_disconnect();
@@ -114,11 +114,11 @@
         }
         return $res;
     }
-
+  
     /**
      * Saves the session data into DB.
      *
-     * Just  a  comment:       The  "write"  handler  is  not
+     * Just  a  comment:       The  "write"  handler  is  not 
      * executed until after the output stream is closed. Thus,
      * output from debugging statements in the "write" handler
      * will  never be seen in the browser. If debugging output
@@ -132,8 +132,8 @@
      * @access private
      */
     function write ($id, $sess_data) {
-        if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;
-
+        if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;    	
+        
         $dbh = $this->_connect();
         //$dbh->unlock(false,1);
         $table = $this->_table;
@@ -178,7 +178,7 @@
      * Removes a session from the table.
      *
      * @param  string $id
-     * @return boolean true
+     * @return boolean true 
      * @access private
      */
     function destroy ($id) {
@@ -189,7 +189,7 @@
         $dbh->query("DELETE FROM $table WHERE sess_id=$qid");
 
         $this->_disconnect();
-        return true;
+        return true;     
     }
 
     /**

Modified: trunk/src/plugins/wiki/www/lib/DbSession/dba.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/DbSession/dba.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/DbSession/dba.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -5,7 +5,7 @@
  *     Index: session_id
  *     Values: date : IP : data
  *  Already open sessions, e.g. interim xmlrpc requests are
- *  are treated specially. see write().
+ *  are treated specially. see write(). 
  *  To avoid deadlocks in the session.db3 access,
  *  the db is opened and closed for each access.
  * @author: Reini Urban.
@@ -78,7 +78,7 @@
         }
         return $packed;
     }
-
+  
     function write ($id, $sess_data) {
         if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;
 
@@ -114,7 +114,7 @@
         return true;
     }
 
-    // WhoIsOnline support.
+    // WhoIsOnline support. 
     // TODO: ip-accesstime dynamic blocking API
     function currentSessions() {
         $sessions = array();

Modified: trunk/src/plugins/wiki/www/lib/EditToolbar.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/EditToolbar.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/EditToolbar.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php
-// $Id: EditToolbar.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: EditToolbar.php 8159 2011-10-03 12:41:45Z vargenau $
 /* Copyright 2004-2010 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
  *
@@ -71,12 +71,11 @@
             $js = JavaScript('',array('src' => $WikiTheme->_findData("toolbar.js")));
             if (empty($WikiTheme->_headers_printed)) {
                 $WikiTheme->addMoreHeaders($js);
-            }
-        else { // from an actionpage: WikiBlog, AddComment, WikiForum
+            } else { // from an actionpage: WikiBlog, AddComment, WikiForum
                 printXML($js);
                 printXML(JavaScript('define_f()'));
+            }
         }
-        }
 
         require_once("lib/WikiPluginCached.php");
         $cache = WikiPluginCached::newCache();
@@ -314,8 +313,8 @@
             $more_buttons = HTML::img(array('class'=> "toolbar",
                         'id' => 'tb-categories',
                                             'src'  => $WikiTheme->getImageURL("ed_category.png"),
-                                            'title'=>_("AddCategory"),
-                                            'alt'=>"AddCategory", // to detect this at js
+                                            'title'=>_("Insert Categories"),
+                                            'alt'=>"Insert Categories", // to detect this at js
                                             'onclick'=>"showPulldown('".
                                             _("Insert Categories")
                                             ."',[".join(",",$categories)."],'"
@@ -364,8 +363,8 @@
             $more_buttons = HTML::img(array('class'=>"toolbar",
                         'id' => 'tb-plugins',
                                             'src'  => $WikiTheme->getImageURL("ed_plugins.png"),
-                                            'title'=>_("AddPlugin"),
-                                            'alt'=>_("AddPlugin"),
+                                            'title'=>_("Insert Plugin"),
+                                            'alt'=>_("Insert Plugin"),
                                             'onclick'=>"showPulldown('".
                                             _("Insert Plugin")
                                             ."',[".$plugin_js."],'"
@@ -394,8 +393,8 @@
             return HTML("\n", HTML::img(array('class'=>"toolbar",
                           'id' => 'tb-pages',
                                               'src'  => $WikiTheme->getImageURL("ed_pages.png"),
-                                              'title'=>_("AddPageLink"),
-                                              'alt'=>_("AddPageLink"),
+                                              'title'=>_("Insert PageLink"),
+                                              'alt'=>_("Insert PageLink"),
                                               'onclick'=>"showPulldown('".
                                               _("Insert PageLink")
                                               ."',[".join(",",$pages)."],'"
@@ -432,8 +431,8 @@
             $more_buttons = HTML::img(array('class'=>"toolbar",
                         'id' => 'tb-images',
                                             'src'  => $WikiTheme->getImageURL("ed_image.png"),
-                                            'title'=>_("Add Image or Video"),
-                                            'alt'=>_("Add Image or Video"),
+                                            'title'=>_("Insert Image or Video"),
+                                            'alt'=>_("Insert Image or Video"),
                                             'onclick'=>"showPulldown('".
                                             _("Insert Image or Video")
                                             ."',[".$image_js."],'"
@@ -467,8 +466,8 @@
                             (array('class'=>"toolbar",
                    'id' => 'tb-templates',
                                    'src'  => $WikiTheme->getImageURL("ed_template.png"),
-                                   'title'=>_("AddTemplate"),
-                                   'alt'=>_("AddTemplate"),
+                                   'title'=>_("Insert Template"),
+                                   'alt'=>_("Insert Template"),
                                    'onclick'=>"showPulldown('".
                                    _("Insert Template")
                                    ."',[".$pages_js."],'"

Modified: trunk/src/plugins/wiki/www/lib/InlineParser.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/InlineParser.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/InlineParser.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php
-// $Id: InlineParser.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: InlineParser.php 8194 2011-11-29 10:07:03Z vargenau $
 /* Copyright (C) 2002 Geoffrey T. Dairiki <dairiki at dairiki.org>
  * Copyright (C) 2004-2010 Reini Urban
  * Copyright (C) 2008-2010 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -387,8 +387,20 @@
         if (preg_match("/%2F(%20)+\./i", $rawlink)) {
             $rawlink = preg_replace("/%2F(%20)+\./i","%2F.",$rawlink);
         }
-    } else
+    } else {
+        // Check page name lenght
+        if (strlen($rawlink) > MAX_PAGENAME_LENGTH) {
+            return HTML::span(array('class' => 'error'),
+                                    _('Page name too long'));
+        }
+        // Check illegal characters in page names: <>[]{}|"
+        if (preg_match("/[<\[\{\|\"\}\]>]/", $rawlink, $matches) > 0) {
+            return HTML::span(array('class' => 'error'),
+                         sprintf(_("Illegal character '%s' in page name."),
+                                 $matches[0]));
+        }
         $link  = UnWikiEscape($rawlink);
+    }
 
     /* Relatives links by Joel Schaubert.
      * Recognize [../bla] or [/bla] as relative links, without needing http://
@@ -1084,7 +1096,9 @@
 
         // It's not a Mediawiki template, it's a Wikicreole image
         if (is_image($imagename)) {
-            if ($imagename[0] == '/') {
+            if ((strpos($imagename, "http://") === 0) || (strpos($imagename, "https://") === 0)) {
+                return LinkImage($imagename, $alt);
+            } else if ($imagename[0] == '/') {
                 return LinkImage(DATA_PATH . '/' . $imagename, $alt);
             } else {
                 return LinkImage(getUploadDataPath() . $imagename, $alt);

Modified: trunk/src/plugins/wiki/www/lib/MailNotify.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/MailNotify.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/MailNotify.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php
-// $Id: MailNotify.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: MailNotify.php 8171 2011-11-02 14:32:49Z vargenau $
 /* Copyright (C) 2006-2007,2009 Reini Urban
  * Copyright (C) 2009 Marc-Etienne Vargenau, Alcatel-Lucent
  *
@@ -212,7 +212,11 @@
         if (!$ok && isset($ErrorManager->_postponed_errors[count($ErrorManager->_postponed_errors)-1])) {
             // get last error message
             $last_err = $ErrorManager->_postponed_errors[count($ErrorManager->_postponed_errors)-1];
-            fwrite($f, "\nX-MailFailure: " . $last_err);
+            fwrite($f, "\nX-MailFailure: " .
+                       "errno: " . $last_err->errno . ", " .
+                       "errstr: " . $last_err->errstr . ", " .
+                       "errfile: " . $last_err->errfile . ", " .
+                       "errline: " . $last_err->errline);
         }
         fwrite($f, "\nDate: " . CTime());
         fwrite($f, "\nSubject: $encoded_subject");
@@ -376,7 +380,7 @@
         while(!empty($data[$id])) { // id collision
             $id = rand_ascii_readable(16);
         }
-        $subject = _("E-Mail address confirmation");
+        $subject = _("E-mail address confirmation");
         $ip = $request->get('REMOTE_HOST');
         $expire_date = time() + 7*86400;
         $content = fmt("Someone, probably you from IP address %s, has registered an

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/ADODB.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/ADODB.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/ADODB.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -37,7 +37,7 @@
 	if (!$backend->_dbh->_connectionID) return false;
         $this->WikiDB($backend, $dbparams);
     }
-
+  
     /**
      * Determine whether page exists (in non-default form).
      * @see WikiDB::isWikiPage

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/PDO.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/PDO.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/PDO.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -35,7 +35,7 @@
         $backend = new $backend_class($dbparams);
         $this->WikiDB($backend, $dbparams);
     }
-
+  
     /**
      * Determine whether page exists (in non-default form).
      * @see WikiDB::isWikiPage

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/SQL.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/SQL.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/SQL.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -26,7 +26,7 @@
         if (DB::isError($backend->_dbh)) return;
         $this->WikiDB($backend, $dbparams);
     }
-
+  
     function view_dsn ($dsn = false) {
         if (!$dsn)
             $dsninfo = DB::parseDSN($GLOBALS['DBParams']['dsn']);
@@ -40,7 +40,7 @@
                        );
     }
 
-
+  
     /**
      * Determine whether page exists (in non-default form).
      * @see WikiDB::isWikiPage for the slow generic version

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-csvlib.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-csvlib.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-csvlib.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -2,18 +2,18 @@
 global $ADODB_INCLUDED_CSV;
 $ADODB_INCLUDED_CSV = 1;
 
-/*
+/* 
   V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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. 
   Set tabs to 4 for best viewing.
-
+  
   Latest version is available at http://php.weblogs.com/
-
-  Library for CSV serialization. This is used by the csv/proxy driver and is the
-  CacheExecute() serialization format.
-
+  
+  Library for CSV serialization. This is used by the csv/proxy driver and is the 
+  CacheExecute() serialization format. 
+  
   ==== NOTE ====
   Format documented at http://php.weblogs.com/ADODB_CSV
   ==============
@@ -29,55 +29,55 @@
 	function _rs2serialize(&$rs,$conn=false,$sql='')
 	{
 		$max = ($rs) ? $rs->FieldCount() : 0;
-
+		
 		if ($sql) $sql = urlencode($sql);
 		// metadata setup
-
+		
 		if ($max <= 0 || $rs->dataProvider == 'empty') { // is insert/update/delete
 			if (is_object($conn)) {
 				$sql .= ','.$conn->Affected_Rows();
 				$sql .= ','.$conn->Insert_ID();
 			} else
 				$sql .= ',,';
-
+			
 			$text = "====-1,0,$sql\n";
 			return $text;
 		}
 		$tt = ($rs->timeCreated) ? $rs->timeCreated : time();
-
+		
 		## changed format from ====0 to ====1
 		$line = "====1,$tt,$sql\n";
-
+		
 		if ($rs->databaseType == 'array') {
 			$rows =& $rs->_array;
 		} else {
 			$rows = array();
-			while (!$rs->EOF) {
+			while (!$rs->EOF) {	
 				$rows[] = $rs->fields;
 				$rs->MoveNext();
-			}
+			} 
 		}
-
+		
 		for($i=0; $i < $max; $i++) {
 			$o =& $rs->FetchField($i);
 			$flds[] = $o;
 		}
-
-		$rs = new ADORecordSet_array();
+		
+		$rs =& new ADORecordSet_array();
 		$rs->InitArrayFields($rows,$flds);
 		return $line.serialize($rs);
 	}
 
-
+	
 /**
-* Open CSV file and convert it into Data.
+* Open CSV file and convert it into Data. 
 *
 * @param url  		file/ftp/http url
 * @param err		returns the error message
 * @param timeout	dispose if recordset has been alive for $timeout secs
 *
 * @return		recordset, or false if error occured. If no
-*			error occurred in sql INSERT/UPDATE/DELETE,
+*			error occurred in sql INSERT/UPDATE/DELETE, 
 *			empty recordset is returned
 */
 	function &csv2rs($url,&$err,$timeout=0)
@@ -91,7 +91,7 @@
 		flock($fp, LOCK_SH);
 		$arr = array();
 		$ttl = 0;
-
+		
 		if ($meta = fgetcsv($fp, 32000, ",")) {
 			// check if error message
 			if (strncmp($meta[0],'****',4) === 0) {
@@ -101,10 +101,10 @@
 			}
 			// check for meta data
 			// $meta[0] is -1 means return an empty recordset
-			// $meta[1] contains a time
-
+			// $meta[1] contains a time 
+	
 			if (strncmp($meta[0], '====',4) === 0) {
-
+			
 				if ($meta[0] == "====-1") {
 					if (sizeof($meta) < 5) {
 						$err = "Corrupt first line for format -1";
@@ -112,21 +112,21 @@
 						return false;
 					}
 					fclose($fp);
-
+					
 					if ($timeout > 0) {
 						$err = " Illegal Timeout $timeout ";
 						return false;
 					}
 					$rs->fields = array();
 					$rs->timeCreated = $meta[1];
-					$rs = new ADORecordSet($val=true);
+					$rs =& new ADORecordSet($val=true);
 					$rs->EOF = true;
 					$rs->_numOfFields=0;
 					$rs->sql = urldecode($meta[2]);
 					$rs->affectedrows = (integer)$meta[3];
-					$rs->insertid = $meta[4];
+					$rs->insertid = $meta[4];	
 					return $rs;
-				}
+				} 
 			# Under high volume loads, we want only 1 thread/process to _write_file
 			# so that we don't have 50 processes queueing to write the same data.
 			# We use probabilistic timeout, ahead of time.
@@ -136,7 +136,7 @@
 			# -1 sec after timeout give processes 1/4 chance of timing out
 			# +0 sec after timeout, give processes 100% chance of timing out
 				if (sizeof($meta) > 1) {
-					if($timeout >0){
+					if($timeout >0){ 
 						$tdiff = (integer)( $meta[1]+$timeout - time());
 						if ($tdiff <= 2) {
 							switch($tdiff) {
@@ -148,7 +148,7 @@
 									return false;
 								}
 								break;
-							case 2:
+							case 2: 
 								if ((rand() & 15) == 0) {
 									fclose($fp);
 									$err = "Timeout 2";
@@ -162,12 +162,12 @@
 									return false;
 								}
 								break;
-							default:
+							default: 
 								fclose($fp);
 								$err = "Timeout 0";
 								return false;
 							} // switch
-
+							
 						} // if check flush cache
 					}// (timeout>0)
 					$ttl = $meta[1];
@@ -177,7 +177,7 @@
 				if ($meta[0] === '====1') {
 					// slurp in the data
 					$MAXSIZE = 128000;
-
+					
 					$text = fread($fp,$MAXSIZE);
 					if (strlen($text) === $MAXSIZE) {
 						while ($txt = fread($fp,$MAXSIZE)) {
@@ -189,7 +189,7 @@
 					if (is_object($rs)) $rs->timeCreated = $ttl;
 					return $rs;
 				}
-
+				
 				$meta = false;
 				$meta = fgetcsv($fp, 32000, ",");
 				if (!$meta) {
@@ -208,7 +208,7 @@
 					$flds = false;
 					break;
 				}
-				$fld = new ADOFieldObject();
+				$fld =& new ADOFieldObject();
 				$fld->name = urldecode($o2[0]);
 				$fld->type = $o2[1];
 				$fld->max_length = $o2[2];
@@ -219,15 +219,15 @@
 			$err = "Recordset had unexpected EOF 2";
 			return false;
 		}
-
+		
 		// slurp in the data
 		$MAXSIZE = 128000;
-
+		
 		$text = '';
 		while ($txt = fread($fp,$MAXSIZE)) {
 			$text .= $txt;
 		}
-
+			
 		fclose($fp);
 		@$arr = unserialize($text);
 		//var_dump($arr);
@@ -236,9 +236,9 @@
 			if (get_magic_quotes_runtime()) $err .= ". Magic Quotes Runtime should be disabled!";
 			return false;
 		}
-		$rs = new ADORecordSet_array();
+		$rs =& new ADORecordSet_array();
 		$rs->timeCreated = $ttl;
 		$rs->InitArrayFields($arr,$flds);
 		return $rs;
 	}
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-error.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-error.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-error.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,12 +1,12 @@
 <?php
-/**
+/** 
  * @version V4.22 15 Apr 2004 (c) 2000-2004 John Lim (jlim at 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.
+ * 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.
- *
+ * 
  * The following code is adapted from the PEAR DB error handling code.
  * Portions (c)1997-2002 The PHP Group.
  */
@@ -58,27 +58,27 @@
 {
 	//var_dump($errno);
 	if (is_numeric($errno) && $errno == 0) return 0;
-	switch($provider) {
+	switch($provider) { 
 	case 'mysql': $map = adodb_error_mysql(); break;
-
+	
 	case 'oracle':
 	case 'oci8': $map = adodb_error_oci8(); break;
-
+	
 	case 'ibase': $map = adodb_error_ibase(); break;
-
+	
 	case 'odbc': $map = adodb_error_odbc(); break;
-
+	
 	case 'mssql':
 	case 'sybase': $map = adodb_error_mssql(); break;
-
+	
 	case 'informix': $map = adodb_error_ifx(); break;
-
+	
 	case 'postgres': return adodb_error_pg($errno); break;
-
+	
 	case 'sqlite': return $map = adodb_error_sqlite(); break;
 	default:
 		return DB_ERROR;
-	}
+	}	
 	//print_r($map);
 	//var_dump($errno);
 	if (isset($map[$errno])) return $map[$errno];
@@ -107,7 +107,7 @@
     // Fall back to DB_ERROR if there was no mapping.
     return DB_ERROR;
 }
-
+	
 function adodb_error_odbc()
 {
 static $MAP = array(
@@ -165,7 +165,7 @@
             -923 => DB_ERROR_CONNECT_FAILED,
             -924 => DB_ERROR_CONNECT_FAILED
         );
-
+		
 		return $MAP;
 }
 
@@ -183,7 +183,7 @@
             '-1210'   => DB_ERROR_INVALID_DATE,
             '-1212'   => DB_ERROR_INVALID_DATE
        );
-
+	   
 	   return $MAP;
 }
 
@@ -202,7 +202,7 @@
             2291 => DB_ERROR_CONSTRAINT,
             2449 => DB_ERROR_CONSTRAINT
         );
-
+	   
 	return $MAP;
 }
 
@@ -212,7 +212,7 @@
 		  208 => DB_ERROR_NOSUCHTABLE,
           2601 => DB_ERROR_ALREADY_EXISTS
        );
-
+	   
 	return $MAP;
 }
 
@@ -221,7 +221,7 @@
 static $MAP = array(
 		  1 => DB_ERROR_SYNTAX
        );
-
+	   
 	return $MAP;
 }
 
@@ -247,7 +247,7 @@
            1048 => DB_ERROR_CONSTRAINT,
 		    2002 => DB_ERROR_CONNECT_FAILED
        );
-
+	   
 	return $MAP;
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-errorhandler.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-errorhandler.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-errorhandler.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -12,7 +12,7 @@
 */
 
 // added Claudio Bustos  clbustos#entelchile.net
-if (!defined('ADODB_ERROR_HANDLER_TYPE')) define('ADODB_ERROR_HANDLER_TYPE',E_USER_ERROR);
+if (!defined('ADODB_ERROR_HANDLER_TYPE')) define('ADODB_ERROR_HANDLER_TYPE',E_USER_ERROR); 
 
 define('ADODB_ERROR_HANDLER','ADODB_Error_Handler');
 
@@ -73,6 +73,6 @@
 
 
 	//print "<p>$s</p>";
-	trigger_error($s,ADODB_ERROR_HANDLER_TYPE);
+	trigger_error($s,ADODB_ERROR_HANDLER_TYPE); 
 }
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-errorpear.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-errorpear.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-errorpear.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,14 +1,14 @@
 <?php
-/**
+/** 
  * @version V4.22 15 Apr 2004 (c) 2000-2004 John Lim (jlim at 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.
+ * 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
- *
+ * 
 */
 include_once('PEAR.php');
 
@@ -34,7 +34,7 @@
 *
 * @param $dbms		the RDBMS you are connecting to
 * @param $fn		the name of the calling function (in uppercase)
-* @param $errno		the native error number from the database
+* @param $errno		the native error number from the database 
 * @param $errmsg	the native error msg from the database
 * @param $p1		$fn specific parameter - see below
 * @param $P2		$fn specific parameter - see below
@@ -42,35 +42,35 @@
 function ADODB_Error_PEAR($dbms, $fn, $errno, $errmsg, $p1=false, $p2=false)
 {
 global $ADODB_Last_PEAR_Error;
-
+	
 	if (error_reporting() == 0) return; // obey @ protocol
 	switch($fn) {
 	case 'EXECUTE':
 		$sql = $p1;
 		$inputparams = $p2;
-
+		
 		$s = "$dbms error: [$errno: $errmsg] in $fn(\"$sql\")";
 		break;
-
+		
 	case 'PCONNECT':
 	case 'CONNECT':
 		$host = $p1;
 		$database = $p2;
-
+		
 		$s = "$dbms error: [$errno: $errmsg] in $fn('$host', ?, ?, '$database')";
 		break;
-
+		
 	default:
 		$s = "$dbms error: [$errno: $errmsg] in $fn($p1, $p2)";
 		break;
 	}
-
+	
 	$class = ADODB_PEAR_ERROR_CLASS;
 	$ADODB_Last_PEAR_Error = new $class($s, $errno,
 		$GLOBALS['_PEAR_default_error_mode'],
-		$GLOBALS['_PEAR_default_error_options'],
+		$GLOBALS['_PEAR_default_error_options'], 
 		$errmsg);
-
+		
 	//print "<p>!$s</p>";
 }
 
@@ -84,5 +84,5 @@
 
 	return $ADODB_Last_PEAR_Error;
 }
-
-?>
+		
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-exceptions.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-exceptions.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-exceptions.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -12,8 +12,8 @@
  *
  * Exception-handling code using PHP5 exceptions (try-catch-throw).
  */
-
-if (!defined('ADODB_ERROR_HANDLER_TYPE')) define('ADODB_ERROR_HANDLER_TYPE',E_USER_ERROR);
+	
+if (!defined('ADODB_ERROR_HANDLER_TYPE')) define('ADODB_ERROR_HANDLER_TYPE',E_USER_ERROR); 
 define('ADODB_ERROR_HANDLER','adodb_throw');
 
 class ADODB_Exception extends Exception {
@@ -23,7 +23,7 @@
 var $params = '';
 var $host = '';
 var $database = '';
-
+	
 	function __construct($dbms, $fn, $errno, $errmsg, $p1, $p2, $thisConnection)
 	{
 		switch($fn) {
@@ -32,7 +32,7 @@
 			$this->params = $p2;
 			$s = "$dbms error: [$errno: $errmsg] in $fn(\"$p1\")\n";
 			break;
-
+	
 		case 'PCONNECT':
 		case 'CONNECT':
 			$user = $thisConnection->user;
@@ -42,13 +42,13 @@
 			$s = "$dbms error: [$errno: $errmsg] in $fn($p1, $p2)\n";
 			break;
 		}
-
+	
 		$this->dbms = $dbms;
 		$this->host = $thisConnection->host;
 		$this->database = $thisConnection->database;
 		$this->fn = $fn;
 		$this->msg = $errmsg;
-
+				
 		if (!is_numeric($errno)) $errno = -1;
 		parent::__construct($s,$errno);
 	}
@@ -75,4 +75,4 @@
 }
 
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-iterator.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-iterator.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-iterator.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -2,61 +2,61 @@
 
 /*
   V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
-
+  
   PHP5 Iterator Class:
-
+  
   		$rs = $db->Execute("select * from adoxyz");
 		foreach($rs as $k => $v) {
 			echo $k; print_r($v); echo "<br>";
 		}
-
-
+		
+		
 	Iterator code based on http://cvs.php.net/cvs.php/php-src/ext/spl/examples/cachingiterator.inc?login=2
  */
-
+ 
  class ADODB_Iterator implements Iterator {
 
     private $rs;
 
-    function __construct($rs)
+    function __construct($rs) 
 	{
         $this->rs = $rs;
     }
-    function rewind()
+    function rewind() 
 	{
         $this->rs->MoveFirst();
     }
 
-	function valid()
+	function valid() 
 	{
         return !$this->rs->EOF;
     }
-
-    function key()
+	
+    function key() 
 	{
         return $this->rs->_currentRow;
     }
-
-    function current()
+	
+    function current() 
 	{
         return $this->rs->fields;
     }
-
-    function next()
+	
+    function next() 
 	{
         $this->rs->MoveNext();
     }
-
+	
 	function __call($func, $params)
 	{
 		return call_user_func_array(array($this->rs, $func), $params);
 	}
-
+	
 	function __toString()
 	{
 		return 'ADODB Iterator';
@@ -70,6 +70,6 @@
     function getIterator() {
         return new ADODB_Iterator($this);
     }
-}
+} 
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-lib.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-lib.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-lib.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -3,18 +3,18 @@
 global $ADODB_INCLUDED_LIB;
 $ADODB_INCLUDED_LIB = 1;
 
-/*
+/* 
  @version V4.22 15 Apr 2004 (c) 2000-2004 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.
+  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. 
   Set tabs to 4 for best viewing.
+  
+  Less commonly used functions are placed here to reduce size of adodb.inc.php. 
+*/ 
 
-  Less commonly used functions are placed here to reduce size of adodb.inc.php.
-*/
 
-
-// Force key to upper.
+// Force key to upper. 
 // See also http://www.php.net/manual/en/function.array-change-key-case.php
 function _array_change_key_case($an_array)
 {
@@ -33,7 +33,7 @@
 		if (count($fieldArray) == 0) return 0;
 		$first = true;
 		$uSet = '';
-
+		
 		if (!is_array($keyCol)) {
 			$keyCol = array($keyCol);
 		}
@@ -43,35 +43,35 @@
 				$fieldArray[$k] = $v;
 			}
 			if (in_array($k,$keyCol)) continue; // skip UPDATE if is key
-
+			
 			if ($first) {
-				$first = false;
+				$first = false;			
 				$uSet = "$k=$v";
 			} else
 				$uSet .= ",$k=$v";
 		}
-
+		 
 		$where = false;
 		foreach ($keyCol as $v) {
 			if ($where) $where .= " and $v=$fieldArray[$v]";
 			else $where = "$v=$fieldArray[$v]";
 		}
-
+		
 		if ($uSet && $where) {
 			$update = "UPDATE $table SET $uSet WHERE $where";
-
+			
 			$rs = $zthis->Execute($update);
 			if ($rs) {
 				if ($zthis->poorAffectedRows) {
 				/*
-				 The Select count(*) wipes out any errors that the update would have returned.
+				 The Select count(*) wipes out any errors that the update would have returned. 
 				http://phplens.com/lens/lensforum/msgs.php?id=5696
 				*/
 					if ($zthis->ErrorNo()<>0) return 0;
-
+					
 				# affected_rows == 0 if update field values identical to old values
-				# for mysql - which is silly.
-
+				# for mysql - which is silly. 
+			
 					$cnt = $zthis->GetOne("select count(*) from $table where $where");
 					if ($cnt > 0) return 1; // record already exists
 				} else
@@ -82,17 +82,17 @@
 		$first = true;
 		foreach($fieldArray as $k => $v) {
 			if ($has_autoinc && in_array($k,$keyCol)) continue; // skip autoinc col
-
+			
 			if ($first) {
-				$first = false;
+				$first = false;			
 				$iCols = "$k";
 				$iVals = "$v";
 			} else {
 				$iCols .= ",$k";
 				$iVals .= ",$v";
-			}
+			}				
 		}
-		$insert = "INSERT INTO $table ($iCols) VALUES ($iVals)";
+		$insert = "INSERT INTO $table ($iCols) VALUES ($iVals)"; 
 		$rs = $zthis->Execute($insert);
 		return ($rs) ? 2 : 0;
 }
@@ -111,7 +111,7 @@
 	else $attr ='';
 
 	$s = "<select name=\"$name\"$attr $selectAttr>";
-	if ($blank1stItem)
+	if ($blank1stItem) 
 		if (is_string($blank1stItem))  {
 			$barr = explode(':',$blank1stItem);
 			if (sizeof($barr) == 1) $barr[] = '';
@@ -120,7 +120,7 @@
 
 	if ($zthis->FieldCount() > 1) $hasvalue=true;
 	else $compareFields0 = true;
-
+	
 	$value = '';
 	while(!$zthis->EOF) {
 		$zval = rtrim(reset($zthis->fields));
@@ -131,91 +131,91 @@
 				$zval2 = rtrim(next($zthis->fields));
 		}
 		$selected = ($compareFields0) ? $zval : $zval2;
-
+		
 		if ($blank1stItem && $zval=="") {
 			$zthis->MoveNext();
 			continue;
 		}
-		if ($hasvalue)
+		if ($hasvalue) 
 			$value = ' value="'.htmlspecialchars($zval2).'"';
-
+		
 		if (is_array($defstr))  {
-
-			if (in_array($selected,$defstr))
+			
+			if (in_array($selected,$defstr)) 
 				$s .= "<option selected$value>".htmlspecialchars($zval).'</option>';
-			else
+			else 
 				$s .= "\n<option".$value.'>'.htmlspecialchars($zval).'</option>';
 		}
 		else {
-			if (strcasecmp($selected,$defstr)==0)
+			if (strcasecmp($selected,$defstr)==0) 
 				$s .= "<option selected$value>".htmlspecialchars($zval).'</option>';
 			else
 				$s .= "\n<option".$value.'>'.htmlspecialchars($zval).'</option>';
 		}
 		$zthis->MoveNext();
 	} // while
-
+	
 	return $s ."\n</select>\n";
 }
 
 /*
 	Count the number of records this sql statement will return by using
 	query rewriting techniques...
-
+	
 	Does not work with UNIONs.
 */
-function _adodb_getcount(&$zthis, $sql,$inputarr=false,$secs2cache=0)
+function _adodb_getcount(&$zthis, $sql,$inputarr=false,$secs2cache=0) 
 {
 	$qryRecs = 0;
-
+	
 	 if (preg_match("/^\s*SELECT\s+DISTINCT/is", $sql) || preg_match('/\s+GROUP\s+BY\s+/is',$sql)) {
 		// ok, has SELECT DISTINCT or GROUP BY so see if we can use a table alias
 		// but this is only supported by oracle and postgresql...
 		if ($zthis->dataProvider == 'oci8') {
-
+			
 			$rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','',$sql);
-			$rewritesql = "SELECT COUNT(*) FROM ($rewritesql)";
-
+			$rewritesql = "SELECT COUNT(*) FROM ($rewritesql)"; 
+			
 		} else if ( $zthis->databaseType == 'postgres' || $zthis->databaseType == 'postgres7')  {
-
+			
 			$info = $zthis->ServerInfo();
 			if (substr($info['version'],0,3) >= 7.1) { // good till version 999
 				$rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','',$sql);
 				$rewritesql = "SELECT COUNT(*) FROM ($rewritesql) _ADODB_ALIAS_";
 			}
 		}
-	} else {
+	} else { 
 		// now replace SELECT ... FROM with SELECT COUNT(*) FROM
-
+		
 		$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
+		
+		// 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);
+		$rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','',$rewritesql); 
 	}
-
+	
 	if (isset($rewritesql) && $rewritesql != $sql) {
 		if ($secs2cache) {
 			// we only use half the time of secs2cache because the count can quickly
 			// become inaccurate if new records are added
 			$qryRecs = $zthis->CacheGetOne($secs2cache/2,$rewritesql,$inputarr);
-
+			
 		} else {
 			$qryRecs = $zthis->GetOne($rewritesql,$inputarr);
 	  	}
 		if ($qryRecs !== false) return $qryRecs;
 	}
-
+	
 	//--------------------------------------------
 	// query rewrite failed - so try slower way...
-
+	
 	// strip off unneeded ORDER BY
-	$rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','',$sql);
+	$rewritesql = preg_replace('/(\sORDER\s+BY\s.*)/is','',$sql); 
 	$rstest = &$zthis->Execute($rewritesql,$inputarr);
 	if ($rstest) {
 	  		$qryRecs = $rstest->RecordCount();
-		if ($qryRecs == -1) {
+		if ($qryRecs == -1) { 
 		global $ADODB_EXTENSION;
 		// some databases will return -1 on MoveLast() - change to MoveNext()
 			if ($ADODB_EXTENSION) {
@@ -232,58 +232,58 @@
 		$rstest->Close();
 		if ($qryRecs == -1) return 0;
 	}
-
+	
 	return $qryRecs;
 }
 
 /*
  	Code originally from "Cornel G" <conyg at fx.ro>
 
-	This code will not work with SQL that has UNION in it
-
+	This code will not work with SQL that has UNION in it	
+	
 	Also if you are using CachePageExecute(), there is a strong possibility that
 	data will get out of synch. use CachePageExecute() only with tables that
 	rarely change.
 */
-function &_adodb_pageexecute_all_rows(&$zthis, $sql, $nrows, $page,
-						$inputarr=false, $secs2cache=0)
+function &_adodb_pageexecute_all_rows(&$zthis, $sql, $nrows, $page, 
+						$inputarr=false, $secs2cache=0) 
 {
 	$atfirstpage = false;
 	$atlastpage = false;
 	$lastpageno=1;
 
-	// If an invalid nrows is supplied,
+	// If an invalid nrows is supplied, 
 	// we assume a default value of 10 rows per page
 	if (!isset($nrows) || $nrows <= 0) $nrows = 10;
 
 	$qryRecs = false; //count records for no offset
-
+	
 	$qryRecs = _adodb_getcount($zthis,$sql,$inputarr,$secs2cache);
 	$lastpageno = (int) ceil($qryRecs / $nrows);
 	$zthis->_maxRecordCount = $qryRecs;
-
+	
 	// If page number <= 1, then we are at the first page
-	if (!isset($page) || $page <= 1) {
+	if (!isset($page) || $page <= 1) {	
 		$page = 1;
 		$atfirstpage = true;
 	}
 
-	// ***** Here we check whether $page is the last page or
-	// whether we are trying to retrieve
+	// ***** Here we check whether $page is the last page or 
+	// whether we are trying to retrieve 
 	// a page number greater than the last page number.
 	if ($page >= $lastpageno) {
 		$page = $lastpageno;
 		$atlastpage = true;
 	}
-
+	
 	// We get the data we want
 	$offset = $nrows * ($page-1);
-	if ($secs2cache > 0)
+	if ($secs2cache > 0) 
 		$rsreturn = &$zthis->CacheSelectLimit($secs2cache, $sql, $nrows, $offset, $inputarr);
-	else
+	else 
 		$rsreturn = &$zthis->SelectLimit($sql, $nrows, $offset, $inputarr, $secs2cache);
 
-
+	
 	// Before returning the RecordSet, we set the pagination properties we need
 	if ($rsreturn) {
 		$rsreturn->_maxRecordCount = $qryRecs;
@@ -297,19 +297,19 @@
 }
 
 // Iván Oliva version
-function &_adodb_pageexecute_no_last_page(&$zthis, $sql, $nrows, $page, $inputarr=false, $secs2cache=0)
+function &_adodb_pageexecute_no_last_page(&$zthis, $sql, $nrows, $page, $inputarr=false, $secs2cache=0) 
 {
 
 	$atfirstpage = false;
 	$atlastpage = false;
-
+	
 	if (!isset($page) || $page <= 1) {	// If page number <= 1, then we are at the first page
 		$page = 1;
 		$atfirstpage = true;
 	}
 	if ($nrows <= 0) $nrows = 10;	// If an invalid nrows is supplied, we assume a default value of 10 rows per page
-
-	// ***** Here we check whether $page is the last page or whether we are trying to retrieve a page number greater than
+	
+	// ***** Here we check whether $page is the last page or whether we are trying to retrieve a page number greater than 
 	// the last page number.
 	$pagecounter = $page + 1;
 	$pagecounteroffset = ($pagecounter * $nrows) - $nrows;
@@ -331,12 +331,12 @@
 		if ($page == 1) $atfirstpage = true;	// We have to do this again in case the last page is the same as the first
 			//... page, that is, the recordset has only 1 page.
 	}
-
+	
 	// We get the data we want
 	$offset = $nrows * ($page-1);
 	if ($secs2cache > 0) $rsreturn = &$zthis->CacheSelectLimit($secs2cache, $sql, $nrows, $offset, $inputarr);
 	else $rsreturn = &$zthis->SelectLimit($sql, $nrows, $offset, $inputarr, $secs2cache);
-
+	
 	// Before returning the RecordSet, we set the pagination properties we need
 	if ($rsreturn) {
 		$rsreturn->rowsPerPage = $nrows;
@@ -353,13 +353,13 @@
 			printf(ADODB_BAD_RS,'GetUpdateSQL');
 			return false;
 		}
-
+	
 		$fieldUpdatedCount = 0;
 		$arrFields = _array_change_key_case($arrFields);
 
 		$hasnumeric = isset($rs->fields[0]);
 		$setFields = '';
-
+		
 		// Loop through all of the fields in the recordset
 		for ($i=0, $max=$rs->FieldCount(); $i < $max; $i++) {
 			// Get the field from the recordset
@@ -374,14 +374,14 @@
 				// is different from the value passed in then
 				// go ahead and append the field name and new value to
 				// the update query.
-
+				
 				if ($hasnumeric) $val = $rs->fields[$i];
 				else if (isset($rs->fields[$upperfname])) $val = $rs->fields[$upperfname];
 				else if (isset($rs->fields[$field->name])) $val =  $rs->fields[$field->name];
 				else if (isset($rs->fields[strtolower($upperfname)])) $val =  $rs->fields[strtolower($upperfname)];
 				else $val = '';
-
-
+				
+			
 				if ($forceUpdate || strcmp($val, $arrFields[$upperfname])) {
 					// Set the counter for the number of fields that will be updated.
 					$fieldUpdatedCount++;
@@ -389,9 +389,9 @@
 					// Based on the datatype of the field
 					// Format the value properly for the database
 				$type = $rs->MetaType($field->type);
-
+					
 					// is_null requires php 4.0.4
-				if ((defined('ADODB_FORCE_NULLS') && is_null($arrFields[$upperfname])) ||
+				if ((defined('ADODB_FORCE_NULLS') && is_null($arrFields[$upperfname])) || 
 					$arrFields[$upperfname] === 'null') {
 					$setFields .= $field->name . " = null, ";
 				} else {
@@ -399,7 +399,7 @@
 						$type = 'C';
 					}
 					//we do this so each driver can customize the sql for
-					//DB specific column types.
+					//DB specific column types. 
 					//Oracle needs BLOB types to be handled with a returning clause
 					//postgres has special needs as well
 					$setFields .= _adodb_column_sql($zthis, 'U', $type, $upperfname,
@@ -413,23 +413,23 @@
 		if ($fieldUpdatedCount > 0 || $forceUpdate) {
 					// Get the table name from the existing query.
 			preg_match("/FROM\s+".ADODB_TABLE_REGEX."/is", $rs->sql, $tableName);
-
+	
 			// Get the full where clause excluding the word "WHERE" from
 			// the existing query.
 			preg_match('/\sWHERE\s(.*)/is', $rs->sql, $whereClause);
-
+			
 			$discard = false;
 			// not a good hack, improvements?
 			if ($whereClause)
 				preg_match('/\s(LIMIT\s.*)/is', $whereClause[1], $discard);
 			else
 				$whereClause = array(false,false);
-
+				
 			if ($discard)
 				$whereClause[1] = substr($whereClause[1], 0, strlen($whereClause[1]) - strlen($discard[1]));
-
+			
 		$sql = 'UPDATE '.$tableName[1].' SET '.substr($setFields, 0, -2);
-		if (strlen($whereClause[1]) > 0)
+		if (strlen($whereClause[1]) > 0) 
 			$sql .= ' WHERE '.$whereClause[1];
 
 		return $sql;
@@ -456,8 +456,8 @@
  * There is a special case of this function for the oci8 driver.
  * The proper way to handle an insert w/ a blob in oracle requires
  * a returning clause with bind variables and a descriptor blob.
- *
- *
+ * 
+ * 
  */
 function _adodb_getinsertsql(&$zthis,&$rs,$arrFields,$magicq=false)
 {
@@ -467,32 +467,32 @@
 	$recordSet = null;
 	$arrFields = _array_change_key_case($arrFields);
 	$fieldInsertedCount = 0;
-
+	
 	if (is_string($rs)) {
 		//ok we have a table name
 		//try and get the column info ourself.
-		$tableName = $rs;
-
+		$tableName = $rs;			
+	
 		//we need an object for the recordSet
 		//because we have to call MetaType.
 		//php can't do a $rsclass::MetaType()
 		$rsclass = $zthis->rsPrefix.$zthis->databaseType;
-		$recordSet = new $rsclass(-1,$zthis->fetchMode);
+		$recordSet =& new $rsclass(-1,$zthis->fetchMode);
 		$recordSet->connection = &$zthis;
-
+	
 		$columns = $zthis->MetaColumns( $tableName );
 	} else if (is_subclass_of($rs, 'adorecordset')) {
-		for ($i=0, $max=$rs->FieldCount(); $i < $max; $i++)
+		for ($i=0, $max=$rs->FieldCount(); $i < $max; $i++) 
 			$columns[] = $rs->FetchField($i);
 		$recordSet =& $rs;
-
+	
 	} else {
 		printf(ADODB_BAD_RS,'GetInsertSQL');
 		return false;
 	}
 
 	// Loop through all of the fields in the recordset
-	foreach( $columns as $field ) {
+	foreach( $columns as $field ) { 
 		$upperfname = strtoupper($field->name);
 		if (adodb_key_exists($upperfname,$arrFields)) {
 
@@ -501,32 +501,32 @@
 
 			// Get the name of the fields to insert
 			$fields .= $field->name . ", ";
-
+		
 			$type = $recordSet->MetaType($field->type);
-
-			if ((defined('ADODB_FORCE_NULLS') && is_null($arrFields[$upperfname])) ||
+		
+			if ((defined('ADODB_FORCE_NULLS') && is_null($arrFields[$upperfname])) || 
 				$arrFields[$upperfname] === 'null') {
 				$values  .= "null, ";
 			} else {
 				//we do this so each driver can customize the sql for
-				//DB specific column types.
+				//DB specific column types. 
 				//Oracle needs BLOB types to be handled with a returning clause
 				//postgres has special needs as well
 				$values .= _adodb_column_sql($zthis, 'I', $type, $upperfname,
 											   $arrFields, $magicq);
-			}
+			}				
 		}
 	}
 
 
 	// If there were any inserted fields then build the rest of the insert query.
 	if ($fieldInsertedCount <= 0)  return false;
-
+	
 	// Get the table name from the existing query.
 	if (!$tableName) {
 		preg_match("/FROM\s+".ADODB_TABLE_REGEX."/is", $rs->sql, $tableName);
 			$tableName = $tableName[1];
-	}
+	}		
 
 	// Strip off the comma and space on the end of both the fields
 	// and their values.
@@ -543,20 +543,20 @@
  * the update/sql which is generated by GetInsertSQL and GetUpdateSQL.
  * It handles the string construction of 1 column -> sql string based on
  * the column type.  We want to do 'safe' handling of BLOBs
- *
+ * 
  * @param string the type of sql we are trying to create
- *                'I' or 'U'.
- * @param string column data type from the db::MetaType() method
+ *                'I' or 'U'. 
+ * @param string column data type from the db::MetaType() method  
  * @param string the column name
  * @param array the column value
- *
+ * 
  * @return string
- *
+ * 
  */
-function _adodb_column_sql_oci8(&$zthis,$action, $type, $fname, $arrFields, $magicq)
+function _adodb_column_sql_oci8(&$zthis,$action, $type, $fname, $arrFields, $magicq) 
 {
     $sql = '';
-
+    
     // Based on the datatype of the field
     // Format the value properly for the database
     switch($type) {
@@ -564,7 +564,7 @@
         //in order to handle Blobs correctly, we need
         //to do some magic for Oracle
 
-        //we need to create a new descriptor to handle
+        //we need to create a new descriptor to handle 
         //this properly
         if (!empty($zthis->hasReturningInto)) {
             if ($action == 'I') {
@@ -591,7 +591,7 @@
         //to avoid conflicts w/ dupes.
        if (!empty($zthis->hasReturningInto)) {
             if ($action == 'I') {
-                $sql = ':xx'.$fname.'xx, ';
+                $sql = ':xx'.$fname.'xx, ';                
             } else {
                 $sql = $fname.'=:xx'.$fname.'xx, ';
             }
@@ -603,18 +603,18 @@
             //this is to maintain compatibility
             //with older adodb versions.
             $sql = _adodb_column_sql($zthis, $action, $type, $fname, $arrFields, $magicq,false);
-        }
+        }            
         break;
-
+        
     default:
         $sql = _adodb_column_sql($zthis, $action, $type, $fname, $arrFields, $magicq,false);
         break;
     }
-
+    
     return $sql;
-}
-
-function _adodb_column_sql(&$zthis, $action, $type, $fname, $arrFields, $magicq, $recurse=true)
+}    
+	
+function _adodb_column_sql(&$zthis, $action, $type, $fname, $arrFields, $magicq, $recurse=true) 
 {
 
 	if ($recurse) {
@@ -624,10 +624,10 @@
 			break;
 		case 'oci8':
 			return _adodb_column_sql_oci8($zthis, $action, $type, $fname, $arrFields, $magicq);
-
+			
 		}
 	}
-
+	
 	$sql = '';
 
 	switch($type) {
@@ -672,4 +672,4 @@
 
 	return $sql;
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-pear.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-pear.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-pear.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,12 +1,12 @@
 <?php
-/**
+/** 
  * @version V4.22 15 Apr 2004 (c) 2000-2004 John Lim (jlim at 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.
+ * 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.
- *
+ * 
  * PEAR DB Emulation Layer for ADODB.
  *
  * The following code is modelled on PEAR DB code by Stig Bakken <ssb at fast.no>								   |
@@ -15,7 +15,7 @@
 
  /*
  We support:
-
+ 
  DB_Common
  ---------
  	query - returns PEAR_Error on error
@@ -27,7 +27,7 @@
 	quote
 	nextID
 	disconnect
-
+	
  DB_Result
  ---------
  	numRows - returns -1 if not supported
@@ -36,7 +36,7 @@
 	fetchRows - does not support passing of fetchmode
 	free
  */
-
+ 
 define('ADODB_PEAR',dirname(__FILE__));
 include_once "PEAR.php";
 include_once ADODB_PEAR."/adodb-errorpear.inc.php";
@@ -102,7 +102,7 @@
 	{
 		include_once(ADODB_DIR."/drivers/adodb-$type.inc.php");
 		$obj = &NewADOConnection($type);
-		if (!is_object($obj)) $obj = new PEAR_Error('Unknown Database Driver: '.$dsninfo['phptype'],-1);
+		if (!is_object($obj)) $obj =& new PEAR_Error('Unknown Database Driver: '.$dsninfo['phptype'],-1);
 		return $obj;
 	}
 
@@ -148,7 +148,7 @@
 
 		@$obj =& NewADOConnection($type);
 		if (!is_object($obj)) {
-			$obj = new PEAR_Error('Unknown Database Driver: '.$dsninfo['phptype'],-1);
+			$obj =& new PEAR_Error('Unknown Database Driver: '.$dsninfo['phptype'],-1);
 			return $obj;
 		}
 		if (is_array($options)) {
@@ -171,10 +171,10 @@
 
 		if (isset($dsninfo['socket'])) $dsninfo['hostspec'] .= ':'.$dsninfo['socket'];
 		else if (isset($dsninfo['port'])) $dsninfo['hostspec'] .= ':'.$dsninfo['port'];
-
+		
 		if($persist) $ok = $obj->PConnect($dsninfo['hostspec'], $dsninfo['username'],$dsninfo['password'],$dsninfo['database']);
 		else  $ok = $obj->Connect($dsninfo['hostspec'], $dsninfo['username'],$dsninfo['password'],$dsninfo['database']);
-
+		
 		if (!$ok) $obj = ADODB_PEAR_Error();
 		return $obj;
 	}
@@ -356,4 +356,4 @@
 	}
 }
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-php4.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-php4.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-php4.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -2,10 +2,10 @@
 
 /*
   V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
 */
 
@@ -13,4 +13,4 @@
 class ADODB_BASE_RS {
 }
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-time.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-time.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb-time.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -4,31 +4,31 @@
 Download: http://php.weblogs.com/adodb_date_time_library
 
 PHP native date functions use integer timestamps for computations.
-Because of this, dates are restricted to the years 1901-2038 on Unix
-and 1970-2038 on Windows due to integer overflow for dates beyond
-those years. This library overcomes these limitations by replacing the
-native function's signed integers (normally 32-bits) with PHP floating
+Because of this, dates are restricted to the years 1901-2038 on Unix 
+and 1970-2038 on Windows due to integer overflow for dates beyond 
+those years. This library overcomes these limitations by replacing the 
+native function's signed integers (normally 32-bits) with PHP floating 
 point numbers (normally 64-bits).
 
 Dates from 100 A.D. to 3000 A.D. and later
 have been tested. The minimum is 100 A.D. as <100 will invoke the
-2 => 4 digit year conversion. The maximum is billions of years in the
-future, but this is a theoretical limit as the computation of that year
+2 => 4 digit year conversion. The maximum is billions of years in the 
+future, but this is a theoretical limit as the computation of that year 
 would take too long with the current implementation of adodb_mktime().
 
 This library replaces native functions as follows:
 
-<pre>
+<pre>	
 	getdate()  with  adodb_getdate()
-	date()     with  adodb_date()
+	date()     with  adodb_date() 
 	gmdate()   with  adodb_gmdate()
 	mktime()   with  adodb_mktime()
 	gmmktime() with  adodb_gmmktime()
 </pre>
-
+	
 The parameters are identical, except that adodb_date() accepts a subset
-of date()'s field formats. Mktime() will convert from local time to GMT,
-and date() will convert from GMT to local time, but daylight savings is
+of date()'s field formats. Mktime() will convert from local time to GMT, 
+and date() will convert from GMT to local time, but daylight savings is 
 not handled currently.
 
 This library is independant of the rest of ADOdb, and can be used
@@ -37,18 +37,18 @@
 PERFORMANCE
 
 For high speed, this library uses the native date functions where
-possible, and only switches to PHP code when the dates fall outside
+possible, and only switches to PHP code when the dates fall outside 
 the 32-bit signed integer range.
 
 GREGORIAN CORRECTION
 
-Pope Gregory shortened October of A.D. 1582 by ten days. Thursday,
-October 4, 1582 (Julian) was followed immediately by Friday, October 15,
-1582 (Gregorian).
+Pope Gregory shortened October of A.D. 1582 by ten days. Thursday, 
+October 4, 1582 (Julian) was followed immediately by Friday, October 15, 
+1582 (Gregorian). 
 
 Since 0.06, we handle this correctly, so:
 
-adodb_mktime(0,0,0,10,15,1582) - adodb_mktime(0,0,0,10,4,1582)
+adodb_mktime(0,0,0,10,15,1582) - adodb_mktime(0,0,0,10,4,1582) 
 	== 24 * 3600 (1 day)
 
 =============================================================================
@@ -87,45 +87,45 @@
 The format fields that adodb_date supports:
 
 <pre>
-a - "am" or "pm"
-A - "AM" or "PM"
-d - day of the month, 2 digits with leading zeros; i.e. "01" to "31"
-D - day of the week, textual, 3 letters; e.g. "Fri"
-F - month, textual, long; e.g. "January"
-g - hour, 12-hour format without leading zeros; i.e. "1" to "12"
-G - hour, 24-hour format without leading zeros; i.e. "0" to "23"
-h - hour, 12-hour format; i.e. "01" to "12"
-H - hour, 24-hour format; i.e. "00" to "23"
-i - minutes; i.e. "00" to "59"
-j - day of the month without leading zeros; i.e. "1" to "31"
-l (lowercase 'L') - day of the week, textual, long; e.g. "Friday"
-L - boolean for whether it is a leap year; i.e. "0" or "1"
-m - month; i.e. "01" to "12"
-M - month, textual, 3 letters; e.g. "Jan"
-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"
-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"
+a - "am" or "pm" 
+A - "AM" or "PM" 
+d - day of the month, 2 digits with leading zeros; i.e. "01" to "31" 
+D - day of the week, textual, 3 letters; e.g. "Fri" 
+F - month, textual, long; e.g. "January" 
+g - hour, 12-hour format without leading zeros; i.e. "1" to "12" 
+G - hour, 24-hour format without leading zeros; i.e. "0" to "23" 
+h - hour, 12-hour format; i.e. "01" to "12" 
+H - hour, 24-hour format; i.e. "00" to "23" 
+i - minutes; i.e. "00" to "59" 
+j - day of the month without leading zeros; i.e. "1" to "31" 
+l (lowercase 'L') - day of the week, textual, long; e.g. "Friday"  
+L - boolean for whether it is a leap year; i.e. "0" or "1" 
+m - month; i.e. "01" to "12" 
+M - month, textual, 3 letters; e.g. "Jan" 
+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" 
+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" 
 t - number of days in the given month; i.e. "28" to "31"
-T - Timezone setting of this machine; e.g. "EST" or "MDT"
-U - seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
-w - day of the week, numeric, i.e. "0" (Sunday) to "6" (Saturday)
-Y - year, 4 digits; e.g. "1999"
-y - year, 2 digits; e.g. "99"
-z - day of the year; i.e. "0" to "365"
-Z - timezone offset in seconds (i.e. "-43200" to "43200").
-   			The offset for timezones west of UTC is always negative,
-			and for those east of UTC is always positive.
+T - Timezone setting of this machine; e.g. "EST" or "MDT" 
+U - seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)  
+w - day of the week, numeric, i.e. "0" (Sunday) to "6" (Saturday) 
+Y - year, 4 digits; e.g. "1999" 
+y - year, 2 digits; e.g. "99" 
+z - day of the year; i.e. "0" to "365" 
+Z - timezone offset in seconds (i.e. "-43200" to "43200"). 
+   			The offset for timezones west of UTC is always negative, 
+			and for those east of UTC is always positive. 
 </pre>
 
 Unsupported:
 <pre>
-B - Swatch Internet time
+B - Swatch Internet time 
 I (capital i) - "1" if Daylight Savings Time, "0" otherwise.
-W - ISO-8601 week number of year, weeks starting on Monday
+W - ISO-8601 week number of year, weeks starting on Monday 
 
 </pre>
 
@@ -160,13 +160,13 @@
 Useful url for generating test timestamps:
 	http://www.4webhelp.net/us/timestamp.php
 
-Possible future optimizations include
+Possible future optimizations include 
 
-a. Using an algorithm similar to Plauger's in "The Standard C Library"
-(page 428, xttotm.c _Ttotm() function). Plauger's algorithm will not
+a. Using an algorithm similar to Plauger's in "The Standard C Library" 
+(page 428, xttotm.c _Ttotm() function). Plauger's algorithm will not 
 work outside 32-bit signed range, so i decided not to implement it.
 
-b. Iterate over a block of years (say 12) when searching for the
+b. Iterate over a block of years (say 12) when searching for the 
 correct year.
 
 c. Implement daylight savings, which looks awfully complicated, see
@@ -178,11 +178,11 @@
 Fixed month calculation error in adodb_date. 2102-June-01 appeared as 2102-May-32.
 
 - 26 Oct 2003 0.11
-Because of daylight savings problems (some systems apply daylight savings to
+Because of daylight savings problems (some systems apply daylight savings to 
 January!!!), changed adodb_get_gmt_diff() to ignore daylight savings.
 
 - 9 Aug 2003 0.10
-Fixed bug with dates after 2038.
+Fixed bug with dates after 2038. 
 See http://phplens.com/lens/lensforum/msgs.php?id=6980
 
 - 1 July 2003 0.09
@@ -212,14 +212,14 @@
 
 - 28 Jan 2003 0.04
 
-Gregorian correction handled. In PHP5, we might throw an error if
+Gregorian correction handled. In PHP5, we might throw an error if 
 mktime uses invalid dates around 5-14 Oct 1582. Released with ADOdb 3.10.
 Added limbo 5-14 Oct 1582 check, when we set to 15 Oct 1582.
 
 - 27 Jan 2003 0.03
 
 Fixed some more month problems due to gmt issues. Added constant ADODB_DATE_VERSION.
-Fixed calculation of days since start of year for <1970.
+Fixed calculation of days since start of year for <1970. 
 
 - 27 Jan 2003 0.02
 
@@ -241,13 +241,13 @@
 
 /*
 	We check for Windows as only +ve ints are accepted as dates on Windows.
-
+	
 	Apparently this problem happens also with Linux, RH 7.3 and later!
-
+	
 	glibc-2.2.5-34 and greater has been changed to return -1 for dates <
 	1970.  This used to work.  The problem exists with RedHat 7.3 and 8.0
 	echo (mktime(0, 0, 0, 1, 1, 1960));  // prints -1
-
+	
 	References:
 	 http://bugs.php.net/bug.php?id=20048&edit=2
 	 http://lists.debian.org/debian-glibc/2002/debian-glibc-200205/msg00010.html
@@ -270,43 +270,43 @@
 */
 function adodb_date_test()
 {
-
+	
 	error_reporting(E_ALL);
 	print "<h4>Testing adodb_date and adodb_mktime. version=".ADODB_DATE_VERSION. "</h4>";
 	set_time_limit(0);
 	$fail = false;
-
+	
 	// This flag disables calling of PHP native functions, so we can properly test the code
 	if (!defined('ADODB_TEST_DATES')) define('ADODB_TEST_DATES',1);
-
+	
 	$t = adodb_mktime(0,0,0,6,1,2102);
 	if (!(adodb_date('Y-m-d',$t) == '2102-06-01')) print 'Error in '.adodb_date('Y-m-d',$t).'<br>';
-
+	
 	$t = adodb_mktime(0,0,0,2,1,2102);
 	if (!(adodb_date('Y-m-d',$t) == '2102-02-01')) print 'Error in '.adodb_date('Y-m-d',$t).'<br>';
-
-
+	
+	
 	print "<p>Testing gregorian <=> julian conversion<p>";
 	$t = adodb_mktime(0,0,0,10,11,1492);
 	//http://www.holidayorigins.com/html/columbus_day.html - Friday check
 	if (!(adodb_date('D Y-m-d',$t) == 'Fri 1492-10-11')) print 'Error in Columbus landing<br>';
-
+	
 	$t = adodb_mktime(0,0,0,2,29,1500);
 	if (!(adodb_date('Y-m-d',$t) == '1500-02-29')) print 'Error in julian leap years<br>';
-
+	
 	$t = adodb_mktime(0,0,0,2,29,1700);
 	if (!(adodb_date('Y-m-d',$t) == '1700-03-01')) print 'Error in gregorian leap years<br>';
-
+	
 	print  adodb_mktime(0,0,0,10,4,1582).' ';
 	print adodb_mktime(0,0,0,10,15,1582);
 	$diff = (adodb_mktime(0,0,0,10,15,1582) - adodb_mktime(0,0,0,10,4,1582));
 	if ($diff != 3600*24) print " <b>Error in gregorian correction = ".($diff/3600/24)." days </b><br>";
-
+		
 	print " 15 Oct 1582, Fri=".(adodb_dow(1582,10,15) == 5 ? 'Fri' : '<b>Error</b>')."<br>";
 	print " 4 Oct 1582, Thu=".(adodb_dow(1582,10,4) == 4 ? 'Thu' : '<b>Error</b>')."<br>";
-
+	
 	print "<p>Testing overflow<p>";
-
+	
 	$t = adodb_mktime(0,0,0,3,33,1965);
 	if (!(adodb_date('Y-m-d',$t) == '1965-04-02')) print 'Error in day overflow 1 <br>';
 	$t = adodb_mktime(0,0,0,4,33,1971);
@@ -319,7 +319,7 @@
 	if (!(adodb_date('Y-m-d',$t) == '1966-02-01')) print 'Error in day overflow 5 '.adodb_date('Y-m-d',$t).' <br>';
 	$t = adodb_mktime(0,0,0,13,3,1965);
 	if (!(adodb_date('Y-m-d',$t) == '1966-01-03')) print 'Error in mth overflow 1 <br>';
-
+	
 	print "Testing 2-digit => 4-digit year conversion<p>";
 	if (adodb_year_digit_check(00) != 2000) print "Err 2-digit 2000<br>";
 	if (adodb_year_digit_check(10) != 2010) print "Err 2-digit 2010<br>";
@@ -328,7 +328,7 @@
 	if (adodb_year_digit_check(40) != 1940) print "Err 2-digit 1940<br>";
 	if (adodb_year_digit_check(50) != 1950) print "Err 2-digit 1950<br>";
 	if (adodb_year_digit_check(90) != 1990) print "Err 2-digit 1990<br>";
-
+	
 	// 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';
@@ -353,12 +353,12 @@
 					break;
 				}
 			}
-			print "<b>Error date(): $ts<br><pre>
+			print "<b>Error date(): $ts<br><pre> 
   \"$s1\" (date len=".strlen($s1).")
   \"$s2\" (adodb_date len=".strlen($s2).")</b></pre><br>";
 			$fail = true;
 		}
-
+		
 		$a1 = getdate($ts);
 		$a2 = adodb_getdate($ts);
 		$rez = array_diff($a1,$a2);
@@ -371,7 +371,7 @@
 			$fail = true;
 		}
 	}
-
+	
 	// Test generation of dates outside 1901-2038
 	print "<p>Testing random dates between 100 and 4000</p>";
 	adodb_date_test_date(100,1);
@@ -379,7 +379,7 @@
 		$y1 = 100+rand(0,1970-100);
 		$m = rand(1,12);
 		adodb_date_test_date($y1,$m);
-
+		
 		$y1 = 3000-rand(0,3000-1970);
 		adodb_date_test_date($y1,$m);
 	}
@@ -390,11 +390,11 @@
 	$offset = 36000+rand(10000,60000);
 	$max = 365*$yrs*86400;
 	$lastyear = 0;
-
+	
 	// we generate a timestamp, convert it to a date, and convert it back to a timestamp
 	// and check if the roundtrip broke the original timestamp value.
 	print "Testing $start to ".($start+$yrs).", or $max seconds, offset=$offset: ";
-
+	
 	for ($max += $i; $i < $max; $i += $offset) {
 		$ret = adodb_date('m,d,Y,H,i,s',$i);
 		$arr = explode(',',$ret);
@@ -410,71 +410,71 @@
 			break;
 		}
 	}
-
+	
 	if (!$fail) print "<p>Passed !</p>";
 	else print "<p><b>Failed</b> :-(</p>";
 }
 
 /**
-	Returns day of week, 0 = Sunday,... 6=Saturday.
+	Returns day of week, 0 = Sunday,... 6=Saturday. 
 	Algorithm from PEAR::Date_Calc
 */
 function adodb_dow($year, $month, $day)
 {
 /*
-Pope Gregory removed 10 days - October 5 to October 14 - from the year 1582 and
-proclaimed that from that time onwards 3 days would be dropped from the calendar
+Pope Gregory removed 10 days - October 5 to October 14 - from the year 1582 and 
+proclaimed that from that time onwards 3 days would be dropped from the calendar 
 every 400 years.
 
-Thursday, October 4, 1582 (Julian) was followed immediately by Friday, October 15, 1582 (Gregorian).
+Thursday, October 4, 1582 (Julian) was followed immediately by Friday, October 15, 1582 (Gregorian). 
 */
 	if ($year <= 1582) {
-		if ($year < 1582 ||
+		if ($year < 1582 || 
 			($year == 1582 && ($month < 10 || ($month == 10 && $day < 15)))) $greg_correction = 3;
 		 else
 			$greg_correction = 0;
 	} else
 		$greg_correction = 0;
-
+	
 	if($month > 2)
 	    $month -= 2;
 	else {
 	    $month += 10;
 	    $year--;
 	}
-
+	
 	$day =  ( floor((13 * $month - 1) / 5) +
 	        $day + ($year % 100) +
 	        floor(($year % 100) / 4) +
 	        floor(($year / 100) / 4) - 2 *
 	        floor($year / 100) + 77);
-
+	
 	return (($day - 7 * floor($day / 7))) + $greg_correction;
 }
 
 
 /**
- Checks for leap year, returns true if it is. No 2-digit year check. Also
+ Checks for leap year, returns true if it is. No 2-digit year check. Also 
  handles julian calendar correctly.
 */
-function _adodb_is_leap_year($year)
+function _adodb_is_leap_year($year) 
 {
 	if ($year % 4 != 0) return false;
-
+	
 	if ($year % 400 == 0) {
 		return true;
 	// if gregorian calendar (>1582), century not-divisible by 400 is not leap
 	} else if ($year > 1582 && $year % 100 == 0 ) {
 		return false;
-	}
-
+	} 
+	
 	return true;
 }
 
 /**
  checks for leap year, returns true if it is. Has 2-digit year check
 */
-function adodb_is_leap_year($year)
+function adodb_is_leap_year($year) 
 {
 	return  _adodb_is_leap_year(adodb_year_digit_check($year));
 }
@@ -483,13 +483,13 @@
 	Fix 2-digit years. Works for any century.
  	Assumes that if 2-digit is more than 30 years in future, then previous century.
 */
-function adodb_year_digit_check($y)
+function adodb_year_digit_check($y) 
 {
 	if ($y < 100) {
-
+	
 		$yr = (integer) date("Y");
 		$century = (integer) ($yr /100);
-
+		
 		if ($yr%100 > 50) {
 			$c1 = $century + 1;
 			$c0 = $century;
@@ -509,11 +509,11 @@
 /**
  get local time zone offset from GMT
 */
-function adodb_get_gmt_diff()
+function adodb_get_gmt_diff() 
 {
 static $TZ;
 	if (isset($TZ)) return $TZ;
-
+	
 	$TZ = mktime(0,0,0,1,2,1970,0) - gmmktime(0,0,0,1,2,1970,0);
 	return $TZ;
 }
@@ -541,23 +541,23 @@
 function _adodb_getdate($origd=false,$fast=false,$is_gmt=false)
 {
 	$d =  $origd - ($is_gmt ? 0 : adodb_get_gmt_diff());
-
+	
 	$_day_power = 86400;
 	$_hour_power = 3600;
 	$_min_power = 60;
-
-	if ($d < -12219321600) $d -= 86400*10; // if 15 Oct 1582 or earlier, gregorian correction
-
+	
+	if ($d < -12219321600) $d -= 86400*10; // if 15 Oct 1582 or earlier, gregorian correction 
+	
 	$_month_table_normal = array("",31,28,31,30,31,30,31,31,30,31,30,31);
 	$_month_table_leaf = array("",31,29,31,30,31,30,31,31,30,31,30,31);
-
+	
 	if ($d < 0) {
 		$origd = $d;
-		// The valid range of a 32bit signed timestamp is typically from
+		// The valid range of a 32bit signed timestamp is typically from 
 		// Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT
 		for ($a = 1970 ; --$a >= 0;) {
 			$lastd = $d;
-
+			
 			if ($leaf = _adodb_is_leap_year($a)) {
 				$d += $_day_power * 366;
 			} else
@@ -567,9 +567,9 @@
 				break;
 			}
 		}
-
+		
 		$secsInYear = 86400 * ($leaf ? 366 : 365) + $lastd;
-
+		
 		$d = $lastd;
 		$mtab = ($leaf) ? $_month_table_leaf : $_month_table_normal;
 		for ($a = 13 ; --$a > 0;) {
@@ -581,18 +581,18 @@
 				break;
 			}
 		}
-
+		
 		$d = $lastd;
 		$day = $ndays + ceil(($d+1) / ($_day_power));
 
 		$d += ($ndays - $day+1)* $_day_power;
 		$hour = floor($d/$_hour_power);
-
+	
 	} else {
-
+	
 		for ($a = 1970 ;; $a++) {
 			$lastd = $d;
-
+			
 			if ($leaf = _adodb_is_leap_year($a)) {
 				$d -= $_day_power * 366;
 			} else
@@ -619,7 +619,7 @@
 		$d = $d - ($day-1) * $_day_power;
 		$hour = floor($d /$_hour_power);
 	}
-
+	
 	$d -= $hour * $_hour_power;
 	$min = floor($d/$_min_power);
 	$secs = $d - $min * $_min_power;
@@ -636,8 +636,8 @@
 		'ndays' => $ndays
 		);
 	}
-
-
+	
+	
 	$dow = adodb_dow($year,$month,$day);
 
 	return array(
@@ -663,17 +663,17 @@
 function adodb_date2($fmt, $d=false, $is_gmt=false)
 {
 	if ($d !== false) {
-		if (!preg_match(
-			"|^([0-9]{4})[-/\.]?([0-9]{1,2})[-/\.]?([0-9]{1,2})[ -]?(([0-9]{1,2}):?([0-9]{1,2}):?([0-9\.]{1,4}))?|",
+		if (!preg_match( 
+			"|^([0-9]{4})[-/\.]?([0-9]{1,2})[-/\.]?([0-9]{1,2})[ -]?(([0-9]{1,2}):?([0-9]{1,2}):?([0-9\.]{1,4}))?|", 
 			($d), $rr)) return adodb_date($fmt,false,$is_gmt);
 
 		if ($rr[1] <= 100 && $rr[2]<= 1) return adodb_date($fmt,false,$is_gmt);
-
+	
 		// h-m-s-MM-DD-YY
 		if (!isset($rr[5])) $d = adodb_mktime(0,0,0,$rr[2],$rr[3],$rr[1]);
 		else $d = @adodb_mktime($rr[5],$rr[6],$rr[7],$rr[2],$rr[3],$rr[1]);
 	}
-
+	
 	return adodb_date($fmt,$d,$is_gmt);
 }
 
@@ -690,7 +690,7 @@
 		}
 	}
 	$_day_power = 86400;
-
+	
 	$arr = _adodb_getdate($d,true,$is_gmt);
 	$year = $arr['year'];
 	$month = $arr['mon'];
@@ -698,10 +698,10 @@
 	$hour = $arr['hours'];
 	$min = $arr['minutes'];
 	$secs = $arr['seconds'];
-
+	
 	$max = strlen($fmt);
 	$dates = '';
-
+	
 	/*
 		at this point, we have the following integer vars to manipulate:
 		$year, $month, $day, $hour, $min, $secs
@@ -712,19 +712,19 @@
 		// YEAR
 		case 'L': $dates .= $arr['leap'] ? '1' : '0'; break;
 		case 'r': // Thu, 21 Dec 2000 16:01:07 +0200
-
-			$dates .= gmdate('D',$_day_power*(3+adodb_dow($year,$month,$day))).', '
+		
+			$dates .= gmdate('D',$_day_power*(3+adodb_dow($year,$month,$day))).', '		
 				. ($day<10?' '.$day:$day) . ' '.date('M',mktime(0,0,0,$month,2,1971)).' '.$year.' ';
-
-			if ($hour < 10) $dates .= '0'.$hour; else $dates .= $hour;
-
+			
+			if ($hour < 10) $dates .= '0'.$hour; else $dates .= $hour; 
+			
 			if ($min < 10) $dates .= ':0'.$min; else $dates .= ':'.$min;
-
+			
 			if ($secs < 10) $dates .= ':0'.$secs; else $dates .= ':'.$secs;
-
+			
 			$gmt = adodb_get_gmt_diff();
 			$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;
 		// MONTH
@@ -741,45 +741,45 @@
 		case 'D': $dates .= gmdate('D',$_day_power*(3+adodb_dow($year,$month,$day))); break;
 		case 'j': $dates .= $day; break;
 		case 'd': if ($day<10) $dates .= '0'.$day; else $dates .= $day; break;
-		case 'S':
+		case 'S': 
 			$d10 = $day % 10;
 			if ($d10 == 1) $dates .= 'st';
 			else if ($d10 == 2) $dates .= 'nd';
 			else if ($d10 == 3) $dates .= 'rd';
 			else $dates .= 'th';
 			break;
-
+			
 		// HOUR
 		case 'Z':
 			$dates .= ($is_gmt) ? 0 : -adodb_get_gmt_diff(); break;
-		case 'O':
+		case 'O': 
 			$gmt = ($is_gmt) ? 0 : adodb_get_gmt_diff();
 			$dates .= sprintf('%s%04d',($gmt<0)?'+':'-',abs($gmt)/36); break;
-
-		case 'H':
-			if ($hour < 10) $dates .= '0'.$hour;
-			else $dates .= $hour;
+			
+		case 'H': 
+			if ($hour < 10) $dates .= '0'.$hour; 
+			else $dates .= $hour; 
 			break;
-		case 'h':
-			if ($hour > 12) $hh = $hour - 12;
+		case 'h': 
+			if ($hour > 12) $hh = $hour - 12; 
 			else {
-				if ($hour == 0) $hh = '12';
+				if ($hour == 0) $hh = '12'; 
 				else $hh = $hour;
 			}
-
+			
 			if ($hh < 10) $dates .= '0'.$hh;
 			else $dates .= $hh;
 			break;
-
-		case 'G':
+			
+		case 'G': 
 			$dates .= $hour;
 			break;
-
+			
 		case 'g':
-			if ($hour > 12) $hh = $hour - 12;
+			if ($hour > 12) $hh = $hour - 12; 
 			else {
-				if ($hour == 0) $hh = '12';
-				else $hh = $hour;
+				if ($hour == 0) $hh = '12'; 
+				else $hh = $hour; 
 			}
 			$dates .= $hh;
 			break;
@@ -801,7 +801,7 @@
 		default:
 			$dates .= $fmt[$i]; break;
 		// ESCAPE
-		case "\\":
+		case "\\": 
 			$i++;
 			if ($i < $max) $dates .= $fmt[$i];
 			break;
@@ -811,7 +811,7 @@
 }
 
 /**
-	Returns a timestamp given a GMT/UTC time.
+	Returns a timestamp given a GMT/UTC time. 
 	Note that $is_dst is not implemented and is ignored.
 */
 function adodb_gmmktime($hr,$min,$sec,$mon,$day,$year,$is_dst=false)
@@ -823,41 +823,41 @@
 	Return a timestamp given a local time. Originally by jackbbs.
 	Note that $is_dst is not implemented and is ignored.
 */
-function adodb_mktime($hr,$min,$sec,$mon,$day,$year,$is_dst=false,$is_gmt=false)
+function adodb_mktime($hr,$min,$sec,$mon,$day,$year,$is_dst=false,$is_gmt=false) 
 {
 	if (!defined('ADODB_TEST_DATES')) {
-		// for windows, we don't check 1970 because with timezone differences,
+		// for windows, we don't check 1970 because with timezone differences, 
 		// 1 Jan 1970 could generate negative timestamp, which is illegal
-		if (!defined('ADODB_NO_NEGATIVE_TS') || ($year >= 1971))
+		if (!defined('ADODB_NO_NEGATIVE_TS') || ($year >= 1971)) 
 			if (1901 < $year && $year < 2038)
 				return @mktime($hr,$min,$sec,$mon,$day,$year);
 	}
-
+	
 	$gmt_different = ($is_gmt) ? 0 : adodb_get_gmt_diff();
-
+	
 	$hr = intval($hr);
 	$min = intval($min);
 	$sec = intval($sec);
 	$mon = intval($mon);
 	$day = intval($day);
 	$year = intval($year);
-
-
+	
+	
 	$year = adodb_year_digit_check($year);
-
+	
 	if ($mon > 12) {
 		$y = floor($mon / 12);
 		$year += $y;
 		$mon -= $y*12;
 	}
-
+	
 	$_day_power = 86400;
 	$_hour_power = 3600;
 	$_min_power = 60;
-
+	
 	$_month_table_normal = array("",31,28,31,30,31,30,31,31,30,31,30,31);
 	$_month_table_leaf = array("",31,29,31,30,31,30,31,31,30,31,30,31);
-
+	
 	$_total_date = 0;
 	if ($year >= 1970) {
 		for ($a = 1970 ; $a <= $year; $a++) {
@@ -869,7 +869,7 @@
 				$loop_table = $_month_table_normal;
 				$_add_date = 365;
 			}
-			if ($a < $year) {
+			if ($a < $year) { 
 				$_total_date += $_add_date;
 			} else {
 				for($b=1;$b<$mon;$b++) {
@@ -879,7 +879,7 @@
 		}
 		$_total_date +=$day-1;
 		$ret = $_total_date * $_day_power + $hr * $_hour_power + $min * $_min_power + $sec + $gmt_different;
-
+	
 	} else {
 		for ($a = 1969 ; $a >= $year; $a--) {
 			$leaf = _adodb_is_leap_year($a);
@@ -898,15 +898,15 @@
 			}
 		}
 		$_total_date += $loop_table[$mon] - $day;
-
+		
 		$_day_time = $hr * $_hour_power + $min * $_min_power + $sec;
 		$_day_time = $_day_power - $_day_time;
 		$ret = -( $_total_date * $_day_power + $_day_time - $gmt_different);
 		if ($ret < -12220185600) $ret += 10*86400; // if earlier than 5 Oct 1582 - gregorian correction
 		else if ($ret < -12219321600) $ret = -12219321600; // if in limbo, reset to 15 Oct 1582.
-	}
+	} 
 	//print " dmy=$day/$mon/$year $hr:$min:$sec => " .$ret;
 	return $ret;
 }
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/adodb.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -12,7 +12,7 @@
  */
 
 /**
-    \mainpage
+    \mainpage 
 
      @version V4.22 15 Apr 2004 (c) 2000-2004 John Lim (jlim\@natsoft.com.my). All rights reserved.
 
@@ -139,7 +139,7 @@
                 die("Illegal path http:// or ftp://");
         }
 
-
+    
         // Initialize random number generator for randomizing cache flushes
         srand(((double)microtime())*1000000);
 
@@ -208,7 +208,7 @@
     // PUBLIC VARS
     //
     var $dataProvider = 'native';
-    var $databaseType = '';        /// RDBMS currently in use, eg. odbc, mysql, mssql
+    var $databaseType = '';        /// RDBMS currently in use, eg. odbc, mysql, mssql            
     var $database = '';            /// Name of database to be used.
     var $host = '';             /// The hostname of the database server
     var $user = '';             /// The username which is used to connect to the database server.
@@ -280,7 +280,7 @@
     var $_connectionID    = false;    /// The returned link identifier whenever a successful database connection is made.
     var $_errorMsg = false;        /// A variable which was used to keep the returned last error message.  The value will
                                 /// then returned by the errorMsg() function
-    var $_errorCode = false;    /// Last error code, not guaranteed to be used - only by oci8
+    var $_errorCode = false;    /// Last error code, not guaranteed to be used - only by oci8            
     var $_queryID = false;        /// This variable keeps the last created result link identifier
 
     var $_isPersistentConnection = false;    /// A boolean variable to state whether its a persistent connection or normal connection.    */
@@ -294,7 +294,7 @@
     /**
      * Constructor
      */
-    function ADOConnection()
+    function ADOConnection()    
     {
         die('Virtual Class -- cannot instantiate');
     }
@@ -429,7 +429,7 @@
         if ($argUsername != "") $this->user = $argUsername;
         if ($argPassword != "") $this->password = $argPassword;
         if ($argDatabaseName != "") $this->database = $argDatabaseName;
-
+    
         $this->_isPersistentConnection = true;
 
         if ($fn = $this->raiseErrorFn) {
@@ -751,10 +751,10 @@
             $element0 = reset($inputarr);
             # is_object check is because oci8 descriptors can be passed in
             $array_2d = is_array($element0) && !is_object(reset($element0));
-
+    
             if (!is_array($sql) && !$this->_bindInputArray) {
                 $sqlarr = explode('?',$sql);
-
+            
                 if (!$array_2d) $inputarr = array($inputarr);
                 foreach($inputarr as $arr) {
                     $sql = ''; $i = 0;
@@ -771,7 +771,7 @@
                         $i += 1;
                     }
                     $sql .= $sqlarr[$i];
-
+            
                     if ($i+1 != sizeof($sqlarr))
                         ADOConnection::outp( "Input Array does not match ?: ".htmlspecialchars($sql));
 
@@ -810,10 +810,10 @@
                 $ss = "[ $ss ]";
             }
             $sqlTxt = str_replace(',',', ',is_array($sql) ?$sql[0] : $sql);
-
+    
             // check if running from browser or command-line
             $inBrowser = isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']);
-
+    
             if ($inBrowser) {
                 if ($this->debug === -1)
                     ADOConnection::outp( "<br>\n($this->databaseType): ".htmlspecialchars($sqlTxt)."   <code>$ss</code>\n<br>\n",false);
@@ -839,7 +839,7 @@
             //****************************
             // non-debug version of query
             //****************************
-
+    
             $this->_queryID =@$this->_query($sql,$inputarr);
         }
 
@@ -854,20 +854,20 @@
             if ($fn) {
                 $fn($this->databaseType,'EXECUTE',$this->ErrorNo(),$this->ErrorMsg(),$sql,$inputarr,$this);
             }
-
+        
             return false;
         }
 
 
         if ($this->_queryID === true) {
         // return simplified empty recordset for inserts/updates/deletes with lower overhead
-            $rs = new ADORecordSet_empty();
+            $rs =& new ADORecordSet_empty();
             return $rs;
         }
 
         // return real recordset from select statement
         $rsclass = $this->rsPrefix.$this->databaseType;
-        $rs = new $rsclass($this->_queryID,$this->fetchMode);
+        $rs =& new $rsclass($this->_queryID,$this->fetchMode);
         $rs->connection = &$this; // Pablo suggestion
         $rs->Init();
         if (is_array($sql)) $rs->sql = $sql[0];
@@ -971,7 +971,7 @@
             $val = $this->_affectedrows();
             return ($val < 0) ? false : $val;
         }
-
+        
         if ($this->debug) ADOConnection::outp( '<p>Affected_Rows error</p>',false);
         return false;
     }
@@ -1071,9 +1071,9 @@
             $ismssql = (strpos($this->databaseType,'mssql') !== false);
             if ($ismssql) $isaccess = false;
             else $isaccess = (strpos($this->databaseType,'access') !== false);
-
+    
             if ($offset <= 0) {
-
+        
                     // access includes ties in result
                     if ($isaccess) {
                         $sql = preg_replace(
@@ -1110,7 +1110,7 @@
 
         $savec = $ADODB_COUNTRECS;
         $ADODB_COUNTRECS = false;
-
+    
         if ($offset>0){
             if ($secs2cache>0) $rs = &$this->CacheExecute($secs2cache,$sql,$inputarr);
             else $rs = &$this->Execute($sql,$inputarr);
@@ -1174,7 +1174,7 @@
 
         $arrayClass = $this->arrayClass;
 
-        $rs2 = new $arrayClass();
+        $rs2 =& new $arrayClass();
         $rs2->connection = &$this;
         $rs2->sql = $rs->sql;
         $rs2->dataProvider = $this->dataProvider;
@@ -1295,7 +1295,7 @@
         Calculate the offset of a date for a particular database and generate
             appropriate SQL. Useful for calculating future/past dates and storing
             in a database.
-
+    
         If dayFraction=1.5 means 1.5 days from now, 1.0/24 for 1 hour.
     */
     function OffsetDate($dayFraction,$date=false)
@@ -1522,7 +1522,7 @@
         if (empty($ADODB_INCLUDED_CSV)) include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
 
         if (is_array($sql)) $sql = $sql[0];
-
+    
         $md5file = $this->_gencachename($sql.serialize($inputarr),true);
         $err = '';
 
@@ -1559,13 +1559,13 @@
                     //$rs = &csv2rs($md5file,$err);
                     $rs->connection = &$this; // Pablo suggestion
                 }
-
+        
             } else
                 @unlink($md5file);
         } else {
             $this->_errorMsg = '';
             $this->_errorCode = 0;
-
+    
             if ($this->fnCacheExecute) {
                 $fn = $this->fnCacheExecute;
                 $fn($this, $secs2cache, $sql, $inputarr);
@@ -1574,12 +1574,12 @@
             $rs->connection = &$this; // Pablo suggestion
             if ($this->debug){
             global $HTTP_SERVER_VARS;
-
+            
                 $inBrowser = isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']);
                 $ttl = $rs->timeCreated + $secs2cache - time();
                 $s = is_array($sql) ? $sql[0] : $sql;
                 if ($inBrowser) $s = '<i>'.htmlspecialchars($s).'</i>';
-
+        
                 ADOConnection::outp( " $md5file reloaded, ttl=$ttl [ $s ]");
             }
         }
@@ -1736,7 +1736,7 @@
                 $this->fmtDate="d-m-Y";
                 $this->fmtTimeStamp = "d-m-Y H:i:s";
                 break;
-
+        
             case 'Ge':
                 $this->fmtDate="d.m.Y";
                 $this->fmtTimeStamp = "d.m.Y H:i:s";
@@ -1769,13 +1769,13 @@
         case 'X':
             return 'VARCHAR';
         case 'B':
-
+    
         case 'D':
         case 'T':
         case 'L':
 
         case 'R':
-
+    
         case 'I':
         case 'N':
             return false;
@@ -1837,16 +1837,16 @@
             if ($this->metaDatabasesSQL) {
                 $save = $ADODB_FETCH_MODE;
                 $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-
+        
                 if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-
+        
                 $arr = $this->GetCol($this->metaDatabasesSQL);
                 if (isset($savem)) $this->SetFetchMode($savem);
                 $ADODB_FETCH_MODE = $save;
-
+    
                 return $arr;
             }
-
+    
             return false;
         }
 
@@ -1870,21 +1870,21 @@
             // complicated state saving by the need for backward compat
             $save = $ADODB_FETCH_MODE;
             $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-
+    
             if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-
+    
             $rs = $this->Execute($this->metaTablesSQL);
             if (isset($savem)) $this->SetFetchMode($savem);
             $ADODB_FETCH_MODE = $save;
-
+    
             if ($rs === false) return false;
             $arr =& $rs->GetArray();
             $arr2 = array();
-
+    
             if ($hast = ($ttype && isset($arr[0][1]))) {
                 $showt = strncmp($ttype,'T',1);
             }
-
+    
             for ($i=0; $i < sizeof($arr); $i++) {
                 if ($hast) {
                     if ($showt == 0) {
@@ -1939,7 +1939,7 @@
 
             $retarr = array();
             while (!$rs->EOF) { //print_r($rs->fields);
-                $fld = new ADOFieldObject();
+                $fld =& new ADOFieldObject();
                 $fld->name = $upper ? strtoupper($rs->fields[0]) : $rs->fields[0];
                 $fld->type = $rs->fields[1];
                 if (isset($rs->fields[3]) && $rs->fields[3]) {
@@ -1948,7 +1948,7 @@
                     if ($fld->scale>0) $fld->max_length += 1;
                 } else
                     $fld->max_length = $rs->fields[2];
-
+            
                 if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;
                 else $retarr[$fld->name] = $fld;
                 $rs->MoveNext();
@@ -1988,7 +1988,7 @@
         }
         return $arr;
     }
-
+    
     /**
      * Different SQL databases used different methods to combine strings together.
      * This function provides a wrapper.
@@ -1998,7 +1998,7 @@
      * Usage: $db->Concat($str1,$str2);
      *
      * @return concatenated string
-     */
+     */ 
     function Concat()
     {
         $arr = func_get_args();
@@ -2077,7 +2077,7 @@
         if (!preg_match(
             "|^([0-9]{4})[-/\.]?([0-9]{1,2})[-/\.]?([0-9]{1,2})[ ,-]*(([0-9]{1,2}):?([0-9]{1,2}):?([0-9\.]{1,4}))?|",
             ($v), $rr)) return false;
-
+    
         if ($rr[1] <= TIMESTAMP_FIRST_YEAR && $rr[2]<= 1) return 0;
 
         // h-m-s-MM-DD-YY
@@ -2355,7 +2355,7 @@
             $this->_numOfFields = 0;
         }
         if ($this->_numOfRows != 0 && $this->_numOfFields && $this->_currentRow == -1) {
-
+    
             $this->_currentRow = 0;
             if ($this->EOF = ($this->_fetch() === false)) {
                 $this->_numOfRows = 0; // _numOfRows could be -1
@@ -2594,7 +2594,7 @@
 
         if (!preg_match( "|^([0-9]{4})[-/\.]?([0-9]{1,2})[-/\.]?([0-9]{1,2})|",
             ($v), $rr)) return false;
-
+    
         if ($rr[1] <= TIMESTAMP_FIRST_YEAR) return 0;
         // h-m-s-MM-DD-YY
         return @adodb_mktime(0,0,0,$rr[2],$rr[3],$rr[1]);
@@ -2685,8 +2685,8 @@
     function MoveFirst()
     {
         if ($this->_currentRow == 0) return true;
-        return $this->Move(0);
-    }
+        return $this->Move(0);    
+    }    
 
 
     /**
@@ -2744,7 +2744,7 @@
         if ($rowNumber == $this->_currentRow) return true;
         if ($rowNumber >= $this->_numOfRows)
                if ($this->_numOfRows != -1) $rowNumber = $this->_numOfRows-2;
-
+          
         if ($this->canSeek) {
 
             if ($this->_seek($rowNumber)) {
@@ -2764,10 +2764,10 @@
                     adodb_movenext($this);
                 }
             } else {
-
+    
                 while (! $this->EOF && $this->_currentRow < $rowNumber) {
                     $this->_currentRow++;
-
+            
                     if (!$this->_fetch()) $this->EOF = true;
                 }
             }
@@ -2909,7 +2909,7 @@
      * @return the number of columns in the recordset. Some databases will set this to 0
      * if no records are returned, others will return the number of columns in the query.
      */
-    function FieldCount() {return $this->_numOfFields;}
+    function FieldCount() {return $this->_numOfFields;} 
 
 
     /**
@@ -2959,7 +2959,7 @@
     function &FetchObject($isupper=true)
     {
         if (empty($this->_obj)) {
-            $this->_obj = new ADOFetchObj();
+            $this->_obj =& new ADOFetchObj();
             $this->_names = array();
             for ($i=0; $i <$this->_numOfFields; $i++) {
                 $f = $this->FetchField($i);
@@ -2972,7 +2972,7 @@
             $name = $this->_names[$i];
             if ($isupper) $n = strtoupper($name);
             else $n = $name;
-
+    
             $o->$n = $this->Fields($name);
         }
         return $o;
@@ -3149,14 +3149,14 @@
                 return 'X';
             }
             return 'C';
-
+    
         case 'I':
             if (!empty($fieldobj->primary_key)) return 'R';
             return 'I';
 
         case false:
             return 'N';
-
+    
         case 'B':
              if (isset($fieldobj->binary))
                  return ($fieldobj->binary) ? 'B' : 'X';
@@ -3165,7 +3165,7 @@
         case 'D':
             if (!empty($this->datetime)) return 'T';
             return 'D';
-
+    
         default:
             if ($t == 'LONG' && $this->dataProvider == 'oci8') return 'B';
             return $tmap;
@@ -3334,10 +3334,10 @@
             $o->name = $this->_colnames[$fieldOffset];
             $o->type =  $this->_types[$fieldOffset];
             $o->max_length = -1; // length not known
-
+    
             return $o;
         }
-
+    
         function _seek($row)
         {
             if (sizeof($this->_array) && 0 <= $row && $row < $this->_numOfRows) {
@@ -3353,9 +3353,9 @@
         {
             if (!$this->EOF) {
                 $this->_currentRow++;
-
+        
                 $pos = $this->_currentRow;
-
+        
                 if ($this->_numOfRows <= $pos) {
                     if (!$this->compat) $this->fields = false;
                 } else {
@@ -3365,14 +3365,14 @@
                 }
                 $this->EOF = true;
             }
-
+    
             return false;
         }
 
         function _fetch()
         {
             $pos = $this->_currentRow;
-
+    
             if ($this->_numOfRows <= $pos) {
                 if (!$this->compat) $this->fields = false;
                 return false;
@@ -3391,7 +3391,7 @@
 
     //==============================================================================================
     // HELPER FUNCTIONS
-    //==============================================================================================
+    //==============================================================================================    
 
     /**
      * Synonym for ADOLoadCode. Private function. Do not use.
@@ -3475,7 +3475,7 @@
                          $db,false,$ignore);
             } else
                  ADOConnection::outp( "<p>ADONewConnection: Unable to load database driver '$db'</p>",false);
-
+        
             return false;
         }
 
@@ -3485,7 +3485,7 @@
             return false;
         }
 
-        $obj = new $cls();
+        $obj =& new $cls();
         if ($errorfn) $obj->raiseErrorFn = $errorfn;
 
         return $obj;
@@ -3525,7 +3525,7 @@
         @include_once(ADODB_DIR."/perf/perf-$drivername.inc.php");
         $class = "Perf_$drivername";
         if (!class_exists($class)) return false;
-        $perf = new $class($conn);
+        $perf =& new $class($conn);
 
         return $perf;
     }
@@ -3544,7 +3544,7 @@
         }
         include_once($path);
         $class = "ADODB2_$drivername";
-        $dict = new $class();
+        $dict =& new $class();
         $dict->dataProvider = $conn->dataProvider;
         $dict->connection = &$conn;
         $dict->upperName = strtoupper($drivername);
@@ -3578,7 +3578,7 @@
             // getmypid() actually returns 0 on Win98 - never mind!
             $tmpname = $filename.uniqid($mtime).getmypid();
             if (!($fd = fopen($tmpname,'a'))) return false;
-            $ok = ftruncate($fd,0);
+            $ok = ftruncate($fd,0);    
             if (!fwrite($fd,$contents)) $ok = false;
             fclose($fd);
             chmod($tmpname,0644);
@@ -3644,7 +3644,7 @@
         foreach ($traceArr as $arr) {
             $levels -= 1;
             if ($levels < 0) break;
-
+    
             $args = array();
             for ($i=0; $i < $tabs; $i++) $s .=  ($html) ? '   ' : "\t";
             $tabs -= 1;
@@ -3664,10 +3664,10 @@
                 }
             }
             $s .= $arr['function'].'('.implode(', ',$args).')';
-
-
+    
+    
             $s .= @sprintf($fmt, $arr['line'],$arr['file'],basename($arr['file']));
-
+        
             $s .= "\n";
         }
         if ($html) $s .= '</pre>';

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-access.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-access.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-access.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,13 +1,13 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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. 
   Set tabs to 4 for best viewing.
-
+  
   Latest version is available at http://php.weblogs.com/
-
+  
   Microsoft Access data driver. Requires ODBC. Works only on MS Windows.
 */
 if (!defined('_ADODB_ODBC_LAYER')) {
@@ -16,7 +16,7 @@
  if (!defined('_ADODB_ACCESS')) {
  	define('_ADODB_ACCESS',1);
 
-class  ADODB_access extends ADODB_odbc {
+class  ADODB_access extends ADODB_odbc {	
 	var $databaseType = 'access';
 	var $hasTop = 'top';		// support mssql SELECT TOP 10 * FROM TABLE
 	var $fmtDate = "#Y-m-d#";
@@ -25,23 +25,23 @@
 	var $sysDate = "FORMAT(NOW,'yyyy-mm-dd')";
 	var $sysTimeStamp = 'NOW';
 	var $hasTransactions = false;
-
+	
 	function ADODB_access()
 	{
 	global $ADODB_EXTENSION;
-
+	
 		$ADODB_EXTENSION = false;
 		$this->ADODB_odbc();
 	}
-
+	
 	function Time()
 	{
 		return time();
 	}
-
+	
 	function BeginTrans() { return false;}
-
-	function IfNull( $field, $ifNull )
+	
+	function IfNull( $field, $ifNull ) 
 	{
 		return " IIF(IsNull($field), $ifNull, $field) "; // if Access
 	}
@@ -49,16 +49,16 @@
 	function &MetaTables()
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$savem = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$qid = odbc_tables($this->_connectionID);
 		$rs = new ADORecordSet_odbc($qid);
 		$ADODB_FETCH_MODE = $savem;
 		if (!$rs) return false;
-
+		
 		$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;
-
+		
 		$arr = &$rs->GetArray();
 		//print_pre($arr);
 		$arr2 = array();
@@ -70,15 +70,15 @@
 	}*/
 }
 
-
-class  ADORecordSet_access extends ADORecordSet_odbc {
-
-	var $databaseType = "access";
-
+ 
+class  ADORecordSet_access extends ADORecordSet_odbc {	
+	
+	var $databaseType = "access";		
+	
 	function ADORecordSet_access($id,$mode=false)
 	{
 		return $this->ADORecordSet_odbc($id,$mode);
 	}
 }// class
-}
-?>
+} 
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,26 +1,26 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
+  
 	Microsoft ADO data driver. Requires ADO. Works only on MS Windows.
 */
   define("_ADODB_ADO_LAYER", 1 );
 /*--------------------------------------------------------------------------------------
 --------------------------------------------------------------------------------------*/
-
+  
 class ADODB_ado extends ADOConnection {
-	var $databaseType = "ado";
+	var $databaseType = "ado";	
 	var $_bindInputArray = false;
 	var $fmtDate = "'Y-m-d'";
 	var $fmtTimeStamp = "'Y-m-d, h:i:sA'";
 	var $replaceQuote = "''"; // string to use to replace quotes
-	var $dataProvider = "ado";
+	var $dataProvider = "ado";	
 	var $hasAffectedRows = true;
 	var $adoParameterType = 201; // 201 = long varchar, 203=long wide varchar, 205 = long varbinary
 	var $_affectedRows = false;
@@ -29,11 +29,11 @@
 	var $_cursor_location = 3; // 2=adUseServer, 3 = adUseClient;
 	var $_lock_type = -1;
 	var $_execute_option = -1;
-	var $poorAffectedRows = true;
+	var $poorAffectedRows = true; 
 	var $charPage;
-
-	function ADODB_ado()
-	{
+		
+	function ADODB_ado() 
+	{ 	
 		$this->_affectedRows = new VARIANT;
 	}
 
@@ -42,14 +42,14 @@
 		if (!empty($this->_connectionID)) $desc = $this->_connectionID->provider;
 		return array('description' => $desc, 'version' => '');
 	}
-
+	
 	function _affectedrows()
 	{
 		if (PHP_VERSION >= 5) return $this->_affectedRows;
-
+		
 		return $this->_affectedRows->value;
 	}
-
+	
 	// you can also pass a connection string like this:
 	//
 	// $DB->Connect('USER ID=sa;PASSWORD=pwd;SERVER=mangrove;DATABASE=ai',false,false,'SQLOLEDB');
@@ -57,49 +57,49 @@
 	{
 		$u = 'UID';
 		$p = 'PWD';
-
+	
 		if (!empty($this->charPage))
 			$dbc = new COM('ADODB.Connection',null,$this->charPage);
 		else
 			$dbc = new COM('ADODB.Connection');
-
+			
 		if (! $dbc) return false;
 
 		/* special support if provider is mssql or access */
 		if ($argProvider=='mssql') {
 			$u = 'User Id';  //User parameter name for OLEDB
-			$p = 'Password';
+			$p = 'Password'; 
 			$argProvider = "SQLOLEDB"; // SQL Server Provider
-
+			
 			// not yet
 			//if ($argDatabasename) $argHostname .= ";Initial Catalog=$argDatabasename";
-
+			
 			//use trusted conection for SQL if username not specified
 			if (!$argUsername) $argHostname .= ";Trusted_Connection=Yes";
 		} else if ($argProvider=='access')
 			$argProvider = "Microsoft.Jet.OLEDB.4.0"; // Microsoft Jet Provider
-
-		if ($argProvider) $dbc->Provider = $argProvider;
-
+		
+		if ($argProvider) $dbc->Provider = $argProvider;	
+		
 		if ($argUsername) $argHostname .= ";$u=$argUsername";
 		if ($argPassword)$argHostname .= ";$p=$argPassword";
-
+		
 		if ($this->debug) ADOConnection::outp( "Host=".$argHostname."<BR>\n version=$dbc->version");
 		// @ added below for php 4.0.1 and earlier
 		@$dbc->Open((string) $argHostname);
-
+		
 		$this->_connectionID = $dbc;
-
+		
 		$dbc->CursorLocation = $this->_cursor_location;
 		return  $dbc->State > 0;
 	}
-
+	
 	// returns true or false
 	function _pconnect($argHostname, $argUsername, $argPassword, $argProvider='MSDASQL')
 	{
 		return $this->_connect($argHostname,$argUsername,$argPassword,$argProvider);
-	}
-
+	}	
+	
 /*
 	adSchemaCatalogs	= 1,
 	adSchemaCharacterSets	= 2,
@@ -141,12 +141,12 @@
 	adSchemaMembers	= 38
 
 */
-
+	
 	function &MetaTables()
 	{
 		$arr= array();
 		$dbc = $this->_connectionID;
-
+		
 		$adors=@$dbc->OpenSchema(20);//tables
 		if ($adors){
 			$f = $adors->Fields(2);//table/view name
@@ -160,25 +160,25 @@
 			}
 			$adors->Close();
 		}
-
+		
 		return $arr;
 	}
-
+	
 	function &MetaColumns($table)
 	{
 		$table = strtoupper($table);
 		$arr= array();
 		$dbc = $this->_connectionID;
-
+		
 		$adors=@$dbc->OpenSchema(4);//tables
-
+	
 		if ($adors){
 			$t = $adors->Fields(2);//table/view name
 			while (!$adors->EOF){
-
-
+				
+				
 				if (strtoupper($t->Value) == $table) {
-
+				
 					$fld = new ADOFieldObject();
 					$c = $adors->Fields(3);
 					$fld->name = $c->Value;
@@ -186,27 +186,27 @@
 					$fld->max_length = -1;
 					$arr[strtoupper($fld->name)]=$fld;
 				}
-
+		
 				$adors->MoveNext();
 			}
 			$adors->Close();
 		}
-
+		
 		return $arr;
 	}
+	
 
 
-
-
+	
 	/* returns queryID or false */
-	function &_query($sql,$inputarr=false)
+	function &_query($sql,$inputarr=false) 
 	{
-
+		
 		$dbc = $this->_connectionID;
-
-	//	return rs
+		
+	//	return rs	
 		if ($inputarr) {
-
+			
 			if (!empty($this->charPage))
 				$oCmd = new COM('ADODB.Command',null,$this->charPage);
 			else
@@ -228,26 +228,26 @@
 			if ($dbc->Errors->Count > 0) return false;
 			return $rs;
 		}
-
+		
 		$rs = @$dbc->Execute($sql,$this->_affectedRows, $this->_execute_option);
 		/*
 			$rs =  new COM('ADODB.Recordset');
 			if ($rs) {
-				$rs->Open ($sql, $dbc, $this->_cursor_type,$this->_lock_type, $this->_execute_option);
+				$rs->Open ($sql, $dbc, $this->_cursor_type,$this->_lock_type, $this->_execute_option);							
 			}
 		*/
 		if ($dbc->Errors->Count > 0) return false;
 		if (! $rs) return false;
-
+		
 		if ($rs->State == 0) return true; // 0 = adStateClosed means no records returned
 		return $rs;
 	}
 
-
-	function BeginTrans()
-	{
+	
+	function BeginTrans() 
+	{ 
 		if ($this->transOff) return true;
-
+		
 		if (isset($this->_thisTransactions))
 			if (!$this->_thisTransactions) return false;
 		else {
@@ -259,11 +259,11 @@
 		$this->transCnt += 1;
 		return true;
 	}
-	function CommitTrans($ok=true)
-	{
+	function CommitTrans($ok=true) 
+	{ 
 		if (!$ok) return $this->RollbackTrans();
 		if ($this->transOff) return true;
-
+		
 		@$this->_connectionID->CommitTrans();
 		if ($this->transCnt) @$this->transCnt -= 1;
 		return true;
@@ -274,18 +274,18 @@
 		if ($this->transCnt) @$this->transCnt -= 1;
 		return true;
 	}
+	
+	/*	Returns: the last error message from previous database operation	*/	
 
-	/*	Returns: the last error message from previous database operation	*/
-
-	function ErrorMsg()
+	function ErrorMsg() 
 	{
 		$errc = $this->_connectionID->Errors;
 		if ($errc->Count == 0) return '';
 		$err = $errc->Item($errc->Count-1);
 		return $err->Description;
 	}
-
-	function ErrorNo()
+	
+	function ErrorNo() 
 	{
 		$errc = $this->_connectionID->Errors;
 		if ($errc->Count == 0) return 0;
@@ -300,27 +300,27 @@
 		$this->_connectionID = false;
 		return true;
 	}
-
-
+	
+	
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
 
-class ADORecordSet_ado extends ADORecordSet {
-
+class ADORecordSet_ado extends ADORecordSet {	
+	
 	var $bind = false;
-	var $databaseType = "ado";
-	var $dataProvider = "ado";
+	var $databaseType = "ado";	
+	var $dataProvider = "ado";	
 	var $_tarr = false; // caches the types
 	var $_flds; // and field objects
 	var $canSeek = true;
   	var $hideErrors = true;
-
+		  
 	function ADORecordSet_ado($id,$mode=false)
 	{
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
@@ -332,7 +332,7 @@
 	// returns the field object
 	function FetchField($fieldOffset = -1) {
 		$off=$fieldOffset+1; // offsets begin at 1
-
+		
 		$o= new ADOFieldObject();
 		$rs = $this->_queryID;
 		$f = $rs->Fields($fieldOffset);
@@ -341,12 +341,12 @@
 		$o->type = $this->MetaType($t);
 		$o->max_length = $f->DefinedSize;
 		$o->ado_type = $t;
+		
 
-
 		//print "off=$off name=$o->name type=$o->type len=$o->max_length<br>";
 		return $o;
 	}
-
+	
 	/* Use associative array to get fields array */
 	function Fields($colname)
 	{
@@ -358,25 +358,25 @@
 				$this->bind[strtoupper($o->name)] = $i;
 			}
 		}
-
+		
 		 return $this->fields[$this->bind[strtoupper($colname)]];
 	}
 
-
+		
 	function _initrs()
 	{
 		$rs = $this->_queryID;
 		$this->_numOfRows = $rs->RecordCount;
-
+		
 		$f = $rs->Fields;
 		$this->_numOfFields = $f->Count;
 	}
-
-
+	
+	
 	 // should only be used to move forward as we normally use forward-only cursors
 	function _seek($row)
 	{
-	   $rs = $this->_queryID;
+	   $rs = $this->_queryID; 
 		// absoluteposition doesn't work -- my maths is wrong ?
 		//	$rs->AbsolutePosition->$row-2;
 		//	return true;
@@ -384,10 +384,10 @@
 		@$rs->Move((integer)$row - $this->_currentRow-1); //adBookmarkFirst
 		return true;
 	}
-
+	
 /*
 	OLEDB types
-
+	
 	 enum DBTYPEENUM
 	{	DBTYPE_EMPTY	= 0,
 	DBTYPE_NULL	= 1,
@@ -423,9 +423,9 @@
 	DBTYPE_DBDATE	= 133,
 	DBTYPE_DBTIME	= 134,
 	DBTYPE_DBTIMESTAMP	= 135
-
+	
 	ADO Types
-
+	
    	adEmpty	= 0,
 	adTinyInt	= 16,
 	adSmallInt	= 2,
@@ -445,7 +445,7 @@
 	adUserDefined	= 132,
 	adVariant	= 12,
 	adIDispatch	= 9,
-	adIUnknown	= 13,
+	adIUnknown	= 13,	
 	adGUID	= 72,
 	adDate	= 7,
 	adDBDate	= 133,
@@ -474,9 +474,9 @@
 			$t = $fieldobj->type;
 			$len = $fieldobj->max_length;
 		}
-
+		
 		if (!is_numeric($t)) return $t;
-
+		
 		switch ($t) {
 		case 0:
 		case 12: // variant
@@ -489,7 +489,7 @@
 		case 204: // varBin
 		case 72: // guid
 			if ($len <= $this->blobSize) return 'C';
-
+		
 		case 201:
 		case 203:
 			return 'X';
@@ -499,12 +499,12 @@
 			 return 'B';
 		case 7:
 		case 133: return 'D';
-
+		
 		case 134:
 		case 135: return 'T';
-
+		
 		case 11: return 'L';
-
+		
 		case 16://	adTinyInt	= 16,
 		case 2://adSmallInt	= 2,
 		case 3://adInteger	= 3,
@@ -517,17 +517,17 @@
 		default: return 'N';
 		}
 	}
-
+	
 	// time stamp not supported yet
 	function _fetch()
-	{
+	{	
 		$rs = $this->_queryID;
 		if (!$rs or $rs->EOF) {
 			$this->fields = false;
 			return false;
 		}
 		$this->fields = array();
-
+	
 		if (!$this->_tarr) {
 			$tarr = array();
 			$flds = array();
@@ -537,12 +537,12 @@
 				$tarr[] = $f->Type;
 			}
 			// bind types and flds only once
-			$this->_tarr = $tarr;
+			$this->_tarr = $tarr; 
 			$this->_flds = $flds;
 		}
 		$t = reset($this->_tarr);
 		$f = reset($this->_flds);
-
+		
 		if ($this->hideErrors)  $olde = error_reporting(E_ERROR|E_CORE_ERROR);// sometimes $f->value be null
 		for ($i=0,$max = $this->_numOfFields; $i < $max; $i++) {
 
@@ -550,8 +550,8 @@
 			case 135: // timestamp
 				if (!strlen((string)$f->value)) $this->fields[] = false;
 				else $this->fields[] = adodb_date('Y-m-d H:i:s',(float)$f->value);
-				break;
-			case 133:// A date value (yyyymmdd)
+				break;			
+			case 133:// A date value (yyyymmdd) 
 				if ($val = $f->value) {
 					$this->fields[] = substr($val,0,4).'-'.substr($val,4,2).'-'.substr($val,6,2);
 				} else
@@ -569,7 +569,7 @@
 				$this->fields[] = (float) $f->value;
 				break;
 			default:
-				$this->fields[] = $f->value;
+				$this->fields[] = $f->value; 
 				break;
 			}
 			//print " $f->value $t, ";
@@ -578,27 +578,27 @@
 		} // for
 		if ($this->hideErrors) error_reporting($olde);
 		@$rs->MoveNext(); // @ needed for some versions of PHP!
-
+		
 		if ($this->fetchMode & ADODB_FETCH_ASSOC) {
 			$this->fields = &$this->GetRowAssoc(ADODB_ASSOC_CASE);
 		}
 		return true;
 	}
-
+	
 		function NextRecordSet()
 		{
 			$rs = $this->_queryID;
 			$this->_queryID = $rs->NextRecordSet();
 			//$this->_queryID = $this->_QueryId->NextRecordSet();
 			if ($this->_queryID == null) return false;
-
+			
 			$this->_currentRow = -1;
 			$this->_currentPage = -1;
 			$this->bind = false;
 			$this->fields = false;
 			$this->_flds = false;
 			$this->_tarr = false;
-
+			
 			$this->_inited = false;
 			$this->Init();
 			return true;
@@ -607,9 +607,9 @@
 	function _close() {
 		$this->_flds = false;
 		@$this->_queryID->Close();// by Pete Dishman (peterd at telephonetics.co.uk)
-		$this->_queryID = false;
+		$this->_queryID = false;	
 	}
 
 }
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado_access.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado_access.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado_access.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,13 +1,13 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+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. 
 Set tabs to 4 for best viewing.
-
+  
   Latest version is available at http://php.weblogs.com/
-
+  
 	Microsoft Access ADO data driver. Requires ADO and ODBC. Works only on MS Windows.
 */
 
@@ -15,7 +15,7 @@
 	include(ADODB_DIR."/drivers/adodb-ado.inc.php");
 }
 
-class  ADODB_ado_access extends ADODB_ado {
+class  ADODB_ado_access extends ADODB_ado {	
 	var $databaseType = 'ado_access';
 	var $hasTop = 'top';		// support mssql SELECT TOP 10 * FROM TABLE
 	var $fmtDate = "#Y-m-d#";
@@ -23,24 +23,24 @@
 	var $sysDate = "FORMAT(NOW,'yyyy-mm-dd')";
 	var $sysTimeStamp = 'NOW';
 	var $hasTransactions = false;
-
+	
 	function ADODB_ado_access()
 	{
 		$this->ADODB_ado();
 	}
-
+	
 	function BeginTrans() { return false;}
 
 }
 
-
-class  ADORecordSet_ado_access extends ADORecordSet_ado {
-
-	var $databaseType = "ado_access";
-
+ 
+class  ADORecordSet_ado_access extends ADORecordSet_ado {	
+	
+	var $databaseType = "ado_access";		
+	
 	function ADORecordSet_ado_access($id,$mode=false)
 	{
 		return $this->ADORecordSet_ado($id,$mode);
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado_mssql.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado_mssql.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ado_mssql.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,17 +1,17 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
-  Microsoft SQL Server ADO data driver. Requires ADO and MSSQL client.
+  
+  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.
+  
+  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.
 */
 
@@ -19,7 +19,7 @@
 	include(ADODB_DIR."/drivers/adodb-ado.inc.php");
 }
 
-class  ADODB_ado_mssql extends ADODB_ado {
+class  ADODB_ado_mssql extends ADODB_ado {	
 	var $databaseType = 'ado_mssql';
 	var $hasTop = 'top';
 	var $sysDate = 'GetDate()';
@@ -30,33 +30,33 @@
 	var $substr = "substring";
 	var $length = 'len';
 	var $upperCase = 'upper';
-
+	
 	//var $_inTransaction = 1; // always open recordsets, so no transaction problems.
-
+	
 	function ADODB_ado_mssql()
 	{
 		$this->ADODB_ado();
 	}
-
+	
 	function _insertid()
 	{
 		return $this->GetOne('select @@identity');
 	}
-
+	
 	function _affectedrows()
 	{
 		return $this->GetOne('select @@rowcount');
 	}
-
+	
 }
-
-class  ADORecordSet_ado_mssql extends ADORecordSet_ado {
-
+ 
+class  ADORecordSet_ado_mssql extends ADORecordSet_ado {	
+	
 	var $databaseType = 'ado_mssql';
-
+	
 	function ADORecordSet_ado_mssql($id,$mode=false)
 	{
 		return $this->ADORecordSet_ado($id,$mode);
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-borland_ibase.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-borland_ibase.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-borland_ibase.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,13 +1,13 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
+  
   Support Borland Interbase 6.5 and later
 
 */
@@ -15,18 +15,18 @@
 include_once(ADODB_DIR."/drivers/adodb-ibase.inc.php");
 
 class ADODB_borland_ibase extends ADODB_ibase {
-	var $databaseType = "borland_ibase";
-
+	var $databaseType = "borland_ibase";	
+	
 	function ADODB_borland_ibase()
 	{
 		$this->ADODB_ibase();
 	}
-
+	
 	function ServerInfo()
 	{
 		$arr['dialect'] = $this->dialect;
 		switch($arr['dialect']) {
-		case '':
+		case '': 
 		case '1': $s = 'Interbase 6.5, Dialect 1'; break;
 		case '2': $s = 'Interbase 6.5, Dialect 2'; break;
 		default:
@@ -36,44 +36,44 @@
 		$arr['description'] = $s;
 		return $arr;
 	}
-
+	
 	// Note that Interbase 6.5 uses ROWS instead - don't you love forking wars!
-	// 		SELECT col1, col2 FROM table ROWS 5 -- get 5 rows
+	// 		SELECT col1, col2 FROM table ROWS 5 -- get 5 rows 
 	//		SELECT col1, col2 FROM TABLE ORDER BY col1 ROWS 3 TO 7 -- first 5 skip 2
 	// Firebird uses
 	//		SELECT FIRST 5 SKIP 2 col1, col2 FROM TABLE
 	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
 	{
 		if ($nrows > 0) {
-			if ($offset <= 0) $str = " ROWS $nrows ";
+			if ($offset <= 0) $str = " ROWS $nrows "; 
 			else {
 				$a = $offset+1;
 				$b = $offset+$nrows;
 				$str = " ROWS $a TO $b";
 			}
 		} else {
-			// ok, skip
+			// ok, skip 
 			$a = $offset + 1;
 			$str = " ROWS $a TO 999999999"; // 999 million
 		}
 		$sql .= $str;
-
-		return ($secs2cache) ?
+		
+		return ($secs2cache) ? 
 				$this->CacheExecute($secs2cache,$sql,$inputarr)
 			:
 				$this->Execute($sql,$inputarr);
 	}
-
+	
 };
+ 
 
-
-class  ADORecordSet_borland_ibase extends ADORecordSet_ibase {
-
-	var $databaseType = "borland_ibase";
-
+class  ADORecordSet_borland_ibase extends ADORecordSet_ibase {	
+	
+	var $databaseType = "borland_ibase";		
+	
 	function ADORecordSet_borland_ibase($id,$mode=false)
 	{
 		$this->ADORecordSet_ibase($id,$mode);
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-csv.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-csv.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-csv.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,26 +1,26 @@
 <?php
 /*
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
-
+  
   Currently unsupported: MetaDatabases, MetaTables and MetaColumns, and also inputarr in Execute.
   Native types have been converted to MetaTypes.
   Transactions not supported yet.
-*/
+*/ 
 
 if (! defined("_ADODB_CSV_LAYER")) {
  define("_ADODB_CSV_LAYER", 1 );
 
 include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
-
+ 
 class ADODB_csv extends ADOConnection {
 	var $databaseType = 'csv';
 	var $databaseProvider = 'csv';
 	var $hasInsertID = true;
-	var $hasAffectedRows = true;
+	var $hasAffectedRows = true;	
 	var $fmtTimeStamp = "'Y-m-d H:i:s'";
 	var $_affectedrows=0;
 	var $_insertid=0;
@@ -28,35 +28,35 @@
 	var $replaceQuote = "''"; // string to use to replace quotes
 	var $hasTransactions = false;
 	var $_errorNo = false;
-
-	function ADODB_csv()
-	{
+	
+	function ADODB_csv() 
+	{		
 	}
-
+	
 	function _insertid()
 	{
 			return $this->_insertid;
 	}
-
+	
 	function _affectedrows()
 	{
 			return $this->_affectedrows;
 	}
-
+  
   	function &MetaDatabases()
 	{
 		return false;
 	}
 
-
+	
 	// returns true or false
 	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		if (strtolower(substr($argHostname,0,7)) !== 'http://') return false;
 		$this->_url = $argHostname;
-		return true;
+		return true;	
 	}
-
+	
 	// returns true or false
 	function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
@@ -64,24 +64,24 @@
 		$this->_url = $argHostname;
 		return true;
 	}
-
- 	function &MetaColumns($table)
+	
+ 	function &MetaColumns($table) 
 	{
 		return false;
 	}
-
-
+		
+		
 	// parameters use PostgreSQL convention, not MySQL
 	function &SelectLimit($sql,$nrows=-1,$offset=-1)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$url = $this->_url.'?sql='.urlencode($sql)."&nrows=$nrows&fetch=".
 			(($this->fetchMode !== false)?$this->fetchMode : $ADODB_FETCH_MODE).
 			"&offset=$offset";
 		$err = false;
 		$rs = csv2rs($url,$err,false);
-
+		
 		if ($this->debug) print "$url<br><i>$err</i><br>";
 
 		$at = strpos($err,'::::');
@@ -92,25 +92,25 @@
 			$this->_errorMsg = substr($err,$at+4,1024);
 			$this->_errorNo = -9999;
 		}
-		if ($this->_errorNo)
+		if ($this->_errorNo) 
 			if ($fn = $this->raiseErrorFn) {
 				$fn($this->databaseType,'EXECUTE',$this->ErrorNo(),$this->ErrorMsg(),$sql,'');
 			}
-
-		if (is_object($rs)) {
-
-			$rs->databaseType='csv';
+			
+		if (is_object($rs)) {	
+		
+			$rs->databaseType='csv';		
 			$rs->fetchMode = ($this->fetchMode !== false) ?  $this->fetchMode : $ADODB_FETCH_MODE;
 			$rs->connection = &$this;
 		}
 		return $rs;
 	}
-
+	
 	// returns queryID or false
 	function &_Execute($sql,$inputarr=false)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		if (!$this->_bindInputArray && $inputarr) {
 			$sqlarr = explode('?',$sql);
 			$sql = '';
@@ -125,37 +125,37 @@
 				else
 					$sql .= $v;
 				$i += 1;
-
+	
 			}
 			$sql .= $sqlarr[$i];
-			if ($i+1 != sizeof($sqlarr))
+			if ($i+1 != sizeof($sqlarr))	
 				print "Input Array does not match ?: ".htmlspecialchars($sql);
 			$inputarr = false;
 		}
-
+		
 		$url =  $this->_url.'?sql='.urlencode($sql)."&fetch=".
 			(($this->fetchMode !== false)?$this->fetchMode : $ADODB_FETCH_MODE);
 		$err = false;
-
-
+		
+		
 		$rs = csv2rs($url,$err,false);
 		if ($this->debug) print urldecode($url)."<br><i>$err</i><br>";
 		$at = strpos($err,'::::');
-		if ($at === false) {
+		if ($at === false) {		
 			$this->_errorMsg = $err;
 			$this->_errorNo = (integer)$err;
 		} else {
 			$this->_errorMsg = substr($err,$at+4,1024);
 			$this->_errorNo = -9999;
 		}
-
-		if ($this->_errorNo)
+		
+		if ($this->_errorNo) 
 			if ($fn = $this->raiseErrorFn) {
 				$fn($this->databaseType,'EXECUTE',$this->ErrorNo(),$this->ErrorMsg(),$sql,$inputarr);
 			}
 		if (is_object($rs)) {
 			$rs->fetchMode = ($this->fetchMode !== false) ?  $this->fetchMode : $ADODB_FETCH_MODE;
-
+			
 			$this->_affectedrows = $rs->affectedrows;
 			$this->_insertid = $rs->insertid;
 			$rs->databaseType='csv';
@@ -164,18 +164,18 @@
 		return $rs;
 	}
 
-	/*	Returns: the last error message from previous database operation	*/
-	function ErrorMsg()
+	/*	Returns: the last error message from previous database operation	*/	
+	function ErrorMsg() 
 	{
 			return $this->_errorMsg;
 	}
-
-	/*	Returns: the last error number from previous database operation	*/
-	function ErrorNo()
+	
+	/*	Returns: the last error number from previous database operation	*/	
+	function ErrorNo() 
 	{
 		return $this->_errorNo;
 	}
-
+	
 	// returns true or false
 	function _close()
 	{
@@ -188,7 +188,7 @@
 	{
 		$this->ADORecordset($id,$mode);
 	}
-
+	
 	function _close()
 	{
 		return true;
@@ -196,5 +196,5 @@
 }
 
 } // define
-
-?>
+	
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-db2.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-db2.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-db2.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,15 +1,15 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
+  
   DB2 data driver. Requires ODBC.
-
+ 
 From phpdb list:
 
 Hi Andrew,
@@ -40,18 +40,18 @@
 Christian Szardenings
 
 2 Oct 2001
-Mark Newnham has discovered that the SQL_CUR_USE_ODBC is not supported by
+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)
+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).
+HYC00 (Driver not capable). 
 
 A 32-bit option specifying how the Driver Manager uses the ODBC cursor
-library.
+library. 
 
 So I guess this means the message [above] was related to using a 3rd party
 odbc driver.
@@ -69,15 +69,15 @@
 USING CLI INTERFACE
 ===================
 
-I have had reports that the $host and $database params have to be reversed in
+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 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.
+> In case of DB2 I had to swap the first and last arguments in order to connect properly. 
 
 
 */
@@ -89,30 +89,30 @@
 define('ADODB_DB2',1);
 
 class ADODB_DB2 extends ADODB_odbc {
-	var $databaseType = "db2";
+	var $databaseType = "db2";	
 	var $concat_operator = '||';
 	var $sysDate = 'CURRENT_DATE';
 	var $sysTimeStamp = 'CURRENT TIMESTAMP';
-	// The complete string representation of a timestamp has the form
+	// 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 = false;
 	var $upperCase = 'upper';
-
-
+	
+	
 	function ADODB_DB2()
 	{
 		if (strncmp(PHP_OS,'WIN',3) === 0) $this->curmode = SQL_CUR_USE_ODBC;
 		$this->ADODB_odbc();
 	}
-
-	function IfNull( $field, $ifNull )
+	
+	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*/);
@@ -120,52 +120,52 @@
 		//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)
 	{
 		if ($this->_autocommit) $this->BeginTrans();
 		return $this->GetOne("select 1 as ignore from $tables where $where for update");
 	}
-
+	
 	function &MetaTables($ttype=false,$showSchema=false)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$savem = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$qid = odbc_tables($this->_connectionID);
-
+		
 		$rs = new ADORecordSet_odbc($qid);
-
+		
 		$ADODB_FETCH_MODE = $savem;
 		if (!$rs) 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 ($ttype) { 
 				if ($isview) {
 					if (strncmp($type,'V',1) === 0) $arr2[] = $arr[$i][2];
 				} else if (strncmp($type,'T',1) === 0) $arr2[] = $arr[$i][2];
@@ -173,14 +173,14 @@
 		}
 		return $arr2;
 	}
-
+	
 	// 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 .= '||';
@@ -202,7 +202,7 @@
 				break;
 			case 'H':
 			case 'h':
-				if ($col != $this->sysDate) $s .= "right(digits(hour($col)),2)";
+				if ($col != $this->sysDate) $s .= "right(digits(hour($col)),2)";	
 				else $s .= "''";
 				break;
 			case 'i':
@@ -226,9 +226,9 @@
 			}
 		}
 		return $s;
-	}
-
-
+	} 
+ 
+	
 	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputArr=false)
 	{
 		if ($offset <= 0) {
@@ -243,17 +243,17 @@
 			}
 			$rs =& ADOConnection::SelectLimit($sql,-1,$offset,$inputArr);
 		}
-
+		
 		return $rs;
 	}
-
+	
 };
+ 
 
-
-class  ADORecordSet_db2 extends ADORecordSet_odbc {
-
-	var $databaseType = "db2";
-
+class  ADORecordSet_db2 extends ADORecordSet_odbc {	
+	
+	var $databaseType = "db2";		
+	
 	function ADORecordSet_db2($id,$mode=false)
 	{
 		$this->ADORecordSet_odbc($id,$mode);
@@ -266,48 +266,48 @@
 			$t = $fieldobj->type;
 			$len = $fieldobj->max_length;
 		}
-
+		
 		switch (strtoupper($t)) {
 		case 'VARCHAR':
 		case 'CHAR':
 		case 'CHARACTER':
 			if ($len <= $this->blobSize) return 'C';
-
+		
 		case 'LONGCHAR':
 		case 'TEXT':
 		case 'CLOB':
 		case 'DBCLOB': // double-byte
 			return 'X';
-
+		
 		case 'BLOB':
 		case 'GRAPHIC':
 		case 'VARGRAPHIC':
 			return 'B';
-
+			
 		case 'DATE':
 			return 'D';
-
+		
 		case 'TIME':
 		case 'TIMESTAMP':
 			return 'T';
-
-		//case 'BOOLEAN':
+		
+		//case 'BOOLEAN': 
 		//case 'BIT':
 		//	return 'L';
-
+			
 		//case 'COUNTER':
 		//	return 'R';
-
+			
 		case 'INT':
 		case 'INTEGER':
 		case 'BIGINT':
 		case 'SMALLINT':
 			return 'I';
-
+			
 		default: return 'N';
 		}
 	}
 }
 
 } //define
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-fbsql.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-fbsql.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-fbsql.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,12 +1,12 @@
 <?php
 /*
  @version V4.22 15 Apr 2004 (c) 2000-2004 John Lim (jlim at 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.
- Contribution by Frank M. Kromann <frank at frontbase.com>.
+ 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. 
+ Contribution by Frank M. Kromann <frank at frontbase.com>. 
   Set tabs to 8.
-*/
+*/ 
 
 if (! defined("_ADODB_FBSQL_LAYER")) {
  define("_ADODB_FBSQL_LAYER", 1 );
@@ -14,26 +14,26 @@
 class ADODB_fbsql extends ADOConnection {
 	var $databaseType = 'fbsql';
 	var $hasInsertID = true;
-	var $hasAffectedRows = true;
-	var $metaTablesSQL = "SHOW TABLES";
+	var $hasAffectedRows = true;	
+	var $metaTablesSQL = "SHOW TABLES";	
 	var $metaColumnsSQL = "SHOW COLUMNS FROM %s";
 	var $fmtTimeStamp = "'Y-m-d H:i:s'";
 	var $hasLimit = false;
-
-	function ADODB_fbsql()
-	{
+	
+	function ADODB_fbsql() 
+	{			
 	}
-
+	
 	function _insertid()
 	{
 			return fbsql_insert_id($this->_connectionID);
 	}
-
+	
 	function _affectedrows()
 	{
 			return fbsql_affected_rows($this->_connectionID);
 	}
-
+  
   	function &MetaDatabases()
 	{
 		$qid = fbsql_list_dbs($this->_connectionID);
@@ -58,39 +58,39 @@
 		if (sizeof($arr) > 0) return "CONCAT($s)";
 		else return '';
 	}
-
+	
 	// returns true or false
 	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		$this->_connectionID = fbsql_connect($argHostname,$argUsername,$argPassword);
 		if ($this->_connectionID === false) return false;
 		if ($argDatabasename) return $this->SelectDB($argDatabasename);
-		return true;
+		return true;	
 	}
-
+	
 	// returns true or false
 	function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		$this->_connectionID = fbsql_pconnect($argHostname,$argUsername,$argPassword);
 		if ($this->_connectionID === false) return false;
 		if ($argDatabasename) return $this->SelectDB($argDatabasename);
-		return true;
+		return true;	
 	}
-
- 	function &MetaColumns($table)
+	
+ 	function &MetaColumns($table) 
 	{
 		if ($this->metaColumnsSQL) {
-
+			
 			$rs = $this->Execute(sprintf($this->metaColumnsSQL,$table));
-
+			
 			if ($rs === false) return false;
-
+			
 			$retarr = array();
 			while (!$rs->EOF){
 				$fld = new ADOFieldObject();
 				$fld->name = $rs->fields[0];
 				$fld->type = $rs->fields[1];
-
+					
 				// split type into type(length):
 				if (preg_match("/^(.+)\((\d+)\)$/", $fld->type, $query_array)) {
 					$fld->type = $query_array[1];
@@ -102,66 +102,66 @@
 				$fld->primary_key = ($rs->fields[3] == 'PRI');
 				$fld->auto_increment = (strpos($rs->fields[5], 'auto_increment') !== false);
 				$fld->binary = (strpos($fld->type,'blob') !== false);
-
-				$retarr[strtoupper($fld->name)] = $fld;
+				
+				$retarr[strtoupper($fld->name)] = $fld;	
 				$rs->MoveNext();
 			}
 			$rs->Close();
-			return $retarr;
+			return $retarr;	
 		}
 		return false;
 	}
-
+		
 	// returns true or false
-	function SelectDB($dbName)
+	function SelectDB($dbName) 
 	{
 		$this->databaseName = $dbName;
 		if ($this->_connectionID) {
-			return @fbsql_select_db($dbName,$this->_connectionID);
+			return @fbsql_select_db($dbName,$this->_connectionID);		
 		}
-		else return false;
+		else return false;	
 	}
-
-
+	
+	
 	// returns queryID or false
 	function _query($sql,$inputarr)
 	{
 		return fbsql_query("$sql;",$this->_connectionID);
 	}
 
-	/*	Returns: the last error message from previous database operation	*/
-	function ErrorMsg()
+	/*	Returns: the last error message from previous database operation	*/	
+	function ErrorMsg() 
 	{
 		$this->_errorMsg = @fbsql_error($this->_connectionID);
 			return $this->_errorMsg;
 	}
-
-	/*	Returns: the last error number from previous database operation	*/
-	function ErrorNo()
+	
+	/*	Returns: the last error number from previous database operation	*/	
+	function ErrorNo() 
 	{
 		return @fbsql_errno($this->_connectionID);
 	}
-
+	
 	// returns true or false
 	function _close()
 	{
 		return @fbsql_close($this->_connectionID);
 	}
-
+		
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
 
-class ADORecordSet_fbsql extends ADORecordSet{
-
+class ADORecordSet_fbsql extends ADORecordSet{	
+	
 	var $databaseType = "fbsql";
 	var $canSeek = true;
-
-	function ADORecordSet_fbsql($queryID,$mode=false)
+	
+	function ADORecordSet_fbsql($queryID,$mode=false) 
 	{
-		if (!$mode) {
+		if (!$mode) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
@@ -173,16 +173,16 @@
 		}
 		return $this->ADORecordSet($queryID);
 	}
-
+	
 	function _initrs()
 	{
 	GLOBAL $ADODB_COUNTRECS;
 		$this->_numOfRows = ($ADODB_COUNTRECS) ? @fbsql_num_rows($this->_queryID):-1;
 		$this->_numOfFields = @fbsql_num_fields($this->_queryID);
 	}
+	
 
 
-
 	function &FetchField($fieldOffset = -1) {
 		if ($fieldOffset != -1) {
 			$o =  @fbsql_fetch_field($this->_queryID, $fieldOffset);
@@ -194,25 +194,25 @@
 			$o = @fbsql_fetch_field($this->_queryID);// fbsql returns the max length less spaces -- so it is unrealiable
 			//$o->max_length = -1;
 		}
-
+		
 		return $o;
 	}
-
+		
 	function _seek($row)
 	{
 		return @fbsql_data_seek($this->_queryID,$row);
 	}
-
+	
 	function _fetch($ignore_fields=false)
 	{
 		$this->fields = @fbsql_fetch_array($this->_queryID,$this->fetchMode);
 		return ($this->fields == true);
 	}
-
+	
 	function _close() {
-		return @fbsql_free_result($this->_queryID);
+		return @fbsql_free_result($this->_queryID);		
 	}
-
+	
 	function MetaType($t,$len=-1,$fieldobj=false)
 	{
 		if (is_object($t)) {
@@ -223,40 +223,40 @@
 		$len = -1; // fbsql max_length is not accurate
 		switch (strtoupper($t)) {
 		case 'CHARACTER':
-		case 'CHARACTER VARYING':
-		case 'BLOB':
-		case 'CLOB':
-		case 'BIT':
-		case 'BIT VARYING':
+		case 'CHARACTER VARYING': 
+		case 'BLOB': 
+		case 'CLOB': 
+		case 'BIT': 
+		case 'BIT VARYING': 
 			if ($len <= $this->blobSize) return 'C';
-
+			
 		// so we have to check whether binary...
 		case 'IMAGE':
-		case 'LONGBLOB':
+		case 'LONGBLOB': 
 		case 'BLOB':
 		case 'MEDIUMBLOB':
 			return !empty($fieldobj->binary) ? 'B' : 'X';
-
+			
 		case 'DATE': return 'D';
-
+		
 		case 'TIME':
 		case 'TIME WITH TIME ZONE':
-		case 'TIMESTAMP':
+		case 'TIMESTAMP': 
 		case 'TIMESTAMP WITH TIME ZONE': return 'T';
-
+		
 		case 'PRIMARY_KEY':
 			return 'R';
 		case 'INTEGER':
-		case 'SMALLINT':
+		case 'SMALLINT': 
 		case 'BOOLEAN':
-
+			
 			if (!empty($fieldobj->primary_key)) return 'R';
 			else return 'I';
-
+		
 		default: return 'N';
 		}
 	}
 
 } //class
 } // defined
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-firebird.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-firebird.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-firebird.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,11 +1,11 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
 
 */
@@ -14,17 +14,17 @@
 include_once(ADODB_DIR."/drivers/adodb-ibase.inc.php");
 
 class ADODB_firebird extends ADODB_ibase {
-	var $databaseType = "firebird";
+	var $databaseType = "firebird";	
 	function ADODB_firebird()
-	{
+	{	
 		$this->ADODB_ibase();
 	}
-
+	
 	function ServerInfo()
 	{
 		$arr['dialect'] = $this->dialect;
 		switch($arr['dialect']) {
-		case '':
+		case '': 
 		case '1': $s = 'Firebird Dialect 1'; break;
 		case '2': $s = 'Firebird Dialect 2'; break;
 		default:
@@ -34,36 +34,36 @@
 		$arr['description'] = $s;
 		return $arr;
 	}
-
+	
 	// Note that Interbase 6.5 uses this ROWS instead - don't you love forking wars!
-	// 		SELECT col1, col2 FROM table ROWS 5 -- get 5 rows
+	// 		SELECT col1, col2 FROM table ROWS 5 -- get 5 rows 
 	//		SELECT col1, col2 FROM TABLE ORDER BY col1 ROWS 3 TO 7 -- first 5 skip 2
 	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false, $secs=0)
 	{
 		$str = 'SELECT ';
-		if ($nrows >= 0) $str .= "FIRST $nrows ";
+		if ($nrows >= 0) $str .= "FIRST $nrows "; 
 		$str .=($offset>=0) ? "SKIP $offset " : '';
-
-		$sql = preg_replace('/^[ \t]*select/i',$str,$sql);
+		
+		$sql = preg_replace('/^[ \t]*select/i',$str,$sql); 
 		if ($secs)
 			$rs =& $this->CacheExecute($secs,$sql,$inputarr);
 		else
 			$rs =& $this->Execute($sql,$inputarr);
-
+			
 		return $rs;
 	}
-
-
+	
+	
 };
+ 
 
-
-class  ADORecordSet_firebird extends ADORecordSet_ibase {
-
-	var $databaseType = "firebird";
-
+class  ADORecordSet_firebird extends ADORecordSet_ibase {	
+	
+	var $databaseType = "firebird";		
+	
 	function ADORecordSet_firebird($id,$mode=false)
 	{
 		$this->ADORecordSet_ibase($id,$mode);
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ibase.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ibase.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ibase.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,23 +1,23 @@
 <?php
 /*
-V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
 
   Latest version is available at http://php.weblogs.com/
-
+  
   Interbase data driver. Requires interbase client. Works on Windows and Unix.
 
   3 Jan 2002 -- suggestions by Hans-Peter Oeri <kampfcaspar75 at oeri.ch>
   	changed transaction handling and added experimental blob stuff
-
+  
   Docs to interbase at the website
    http://www.synectics.co.za/php3/tutorial/IB_PHP3_API.html
-
+   
   To use gen_id(), see
    http://www.volny.cz/iprenosil/interbase/ip_ib_code.htm#_code_creategen
-
+   
    $rs = $conn->Execute('select gen_id(adodb,1) from rdb$database');
    $id = $rs->fields[0];
    $conn->Execute("insert into table (id, col1,...) values ($id, $val1,...)");
@@ -48,33 +48,33 @@
 	var $hasAffectedRows = false;
 	var $poorAffectedRows = true;
 	var $blobEncodeType = 'C';
-
-	function ADODB_ibase()
+	
+	function ADODB_ibase() 
 	{
 		 if (defined('IBASE_DEFAULT')) $this->ibasetrans = IBASE_DEFAULT;
   	}
-
+	
 	function MetaPrimaryKeys($table,$owner_notused=false,$internalKey=false)
-	{
+	{	
 		if ($internalKey) return array('RDB$DB_KEY');
-
+		
 		$table = strtoupper($table);
-
+		
 		$sql = 'SELECT S.RDB$FIELD_NAME AFIELDNAME
-	FROM RDB$INDICES I JOIN RDB$INDEX_SEGMENTS S ON I.RDB$INDEX_NAME=S.RDB$INDEX_NAME
+	FROM RDB$INDICES I JOIN RDB$INDEX_SEGMENTS S ON I.RDB$INDEX_NAME=S.RDB$INDEX_NAME  
 	WHERE I.RDB$RELATION_NAME=\''.$table.'\' and I.RDB$INDEX_NAME like \'RDB$PRIMARY%\'
 	ORDER BY I.RDB$INDEX_NAME,S.RDB$FIELD_POSITION';
 
 		$a = $this->GetCol($sql,false,true);
 		if ($a && sizeof($a)>0) return $a;
-		return false;
+		return false;	  
 	}
-
+	
 	function ServerInfo()
 	{
 		$arr['dialect'] = $this->dialect;
 		switch($arr['dialect']) {
-		case '':
+		case '': 
 		case '1': $s = 'Interbase 5.5 or earlier'; break;
 		case '2': $s = 'Interbase 5.6'; break;
 		default:
@@ -86,16 +86,16 @@
 	}
 
 	function BeginTrans()
-	{
+	{	 
 		if ($this->transOff) return true;
 		$this->transCnt += 1;
 		$this->autoCommit = false;
 	 	$this->_transactionID = $this->_connectionID;//ibase_trans($this->ibasetrans, $this->_connectionID);
 		return $this->_transactionID;
 	}
-
-	function CommitTrans($ok=true)
-	{
+	
+	function CommitTrans($ok=true) 
+	{ 
 		if (!$ok) return $this->RollbackTrans();
 		if ($this->transOff) return true;
 		if ($this->transCnt) $this->transCnt -= 1;
@@ -108,25 +108,25 @@
 		$this->_transactionID = false;
 		return $ret;
 	}
-
+	
 	function RollbackTrans()
 	{
 		if ($this->transOff) return true;
 		if ($this->transCnt) $this->transCnt -= 1;
 		$ret = false;
 		$this->autoCommit = true;
-		if ($this->_transactionID)
+		if ($this->_transactionID) 
 				  $ret = ibase_rollback($this->_transactionID);
-		$this->_transactionID = false;
-
+		$this->_transactionID = false;   
+		
 		return $ret;
 	}
-
+	
 	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) {
@@ -149,7 +149,7 @@
 	        $ADODB_FETCH_MODE = $save;
             return FALSE;
         }
-
+        
         $indexes = array ();
 		while ($row = $rs->FetchRow()) {
 			$index = $row[0];
@@ -171,11 +171,11 @@
             $this->SetFetchMode($savem);
         }
         $ADODB_FETCH_MODE = $save;
-
+        
         return $indexes;
 	}
 
-
+	
 	// See http://community.borland.com/article/0,1410,25844,00.html
 	function RowLock($tables,$where,$col)
 	{
@@ -183,21 +183,21 @@
 		$this->Execute("UPDATE $table SET $col=$col WHERE $where "); // is this correct - jlim?
 		return 1;
 	}
-
-
+	
+	
 	function CreateSequence($seqname,$startID=1)
 	{
 		$ok = $this->Execute(("INSERT INTO RDB\$GENERATORS (RDB\$GENERATOR_NAME) VALUES (UPPER('$seqname'))" ));
 		if (!$ok) return false;
 		return $this->Execute("SET GENERATOR $seqname TO ".($startID-1).';');
 	}
-
+	
 	function DropSequence($seqname)
 	{
 		$seqname = strtoupper($seqname);
 		$this->Execute("delete from RDB\$GENERATORS where RDB\$GENERATOR_NAME='$seqname'");
 	}
-
+	
 	function GenID($seqname='adodbseq',$startID=1)
 	{
 		$getnext = ("SELECT Gen_ID($seqname,1) FROM RDB\$DATABASE");
@@ -209,13 +209,13 @@
 		}
 		if ($rs && !$rs->EOF) $this->genID = (integer) reset($rs->fields);
 		else $this->genID = 0; // false
-
+		
 		if ($rs) $rs->Close();
-
+		
 		return $this->genID;
 	}
 
-	function SelectDB($dbName)
+	function SelectDB($dbName) 
 	{
 		   return false;
 	}
@@ -225,20 +225,20 @@
 		$this->_errorMsg = ibase_errmsg();
 	}
 
-	function ErrorNo()
+	function ErrorNo() 
 	{
 		if (preg_match('/error code = ([\-0-9]*)/i', $this->_errorMsg,$arr)) return (integer) $arr[1];
 		else return 0;
 	}
 
-	function ErrorMsg()
+	function ErrorMsg() 
 	{
 			return $this->_errorMsg;
 	}
 
 	   // returns true or false
 	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
-	{
+	{  
 		if (!function_exists('ibase_pconnect')) return false;
 		if ($argDatabasename) $argHostname .= ':'.$argDatabasename;
 		$this->_connectionID = ibase_connect($argHostname,$argUsername,$argPassword,$this->charSet,$this->buffers,$this->dialect);
@@ -249,8 +249,8 @@
 			$this->_handleerror();
 			return false;
 		}
-
-		ibase_timefmt($this->ibase_timefmt);
+		
+		ibase_timefmt($this->ibase_timefmt);	
 		return true;
 	}
 	   // returns true or false
@@ -266,11 +266,11 @@
 			$this->_handleerror();
 			return false;
 		}
-
+		
 		ibase_timefmt($this->ibase_timefmt);
 		return true;
-	}
-
+	}	
+	
 	function Prepare($sql)
 	{
 		$stmt = ibase_prepare($this->_connectionID,$sql);
@@ -281,7 +281,7 @@
 	   // returns query ID if successful, otherwise false
 	   // there have been reports of problems with nested queries - the code is probably not re-entrant?
 	function _query($sql,$iarr=false)
-	{
+	{ 
 
 		if (!$this->autoCommit && $this->_transactionID) {
 			$conn = $this->_transactionID;
@@ -293,7 +293,7 @@
 		if (is_array($sql)) {
 			$fn = 'ibase_execute';
 			$sql = $sql[1];
-
+			
 			if (is_array($iarr)) {
 				if  (ADODB_PHPVER >= 0x4050) { // actually 4.0.4
 					if ( !isset($iarr[0]) ) $iarr[0] = ''; // PHP5 compat hack
@@ -312,11 +312,11 @@
 					case 8: $ret = $fn($sql,$iarr[0],$iarr[1],$iarr[2],$iarr[3],$iarr[4],$iarr[5],$iarr[6],$iarr[7]); break;
 					}
 				}
-			} else $ret = $fn($sql);
+			} else $ret = $fn($sql); 
 		} else {
 			$fn = 'ibase_query';
-
-			if (is_array($iarr)) {
+		
+			if (is_array($iarr)) {	
 				if (ADODB_PHPVER >= 0x4050) { // actually 4.0.4
 					if ( !isset($iarr[0]) ) $iarr[0] = ''; // PHP5 compat hack
 					$fnarr =& array_merge( array($conn,$sql) , $iarr);
@@ -334,7 +334,7 @@
 					case 8: $ret = $fn($conn,$sql,$iarr[0],$iarr[1],$iarr[2],$iarr[3],$iarr[4],$iarr[5],$iarr[6],$iarr[7]); break;
 					}
 				}
-			} else $ret = $fn($conn,$sql);
+			} else $ret = $fn($conn,$sql); 
 		}
 		if ($docommit && $ret === true) ibase_commit($this->_connectionID);
 
@@ -344,11 +344,11 @@
 
 	 // returns true or false
 	 function _close()
-	 {
+	 {	   
 		if (!$this->autoCommit) @ibase_rollback($this->_connectionID);
 		return @ibase_close($this->_connectionID);
 	 }
-
+	
 	//OPN STUFF start
 	function _ConvertFieldType(&$fld, $ftype, $flen, $fscale, $fsubtype, $fprecision, $isInterbase6)
 	{
@@ -356,14 +356,14 @@
 		$fld->max_length = $flen;
 		$fld->scale = null;
 		switch($ftype){
-			case 7:
+			case 7: 
 			case 8:
 				if ($isInterbase6) {
 				    switch($fsubtype){
-				    	case 0:
+				    	case 0: 
 				    		$fld->type = ($ftype == 7 ? 'smallint' : 'integer');
 				    		break;
-				    	case 1:
+				    	case 1: 
 				    		$fld->type = 'numeric';
 							$fld->max_length = $fprecision;
 							$fld->scale = $fscale;
@@ -384,15 +384,15 @@
 					}
 				}
 				break;
-			case 16:
+			case 16: 
 				if ($isInterbase6) {
 				    switch($fsubtype){
-				    	case 0:
+				    	case 0: 
 				    		$fld->type = 'decimal';
 							$fld->max_length = 18;
 							$fld->scale = 0;
 				    		break;
-				    	case 1:
+				    	case 1: 
 				    		$fld->type = 'numeric';
 							$fld->max_length = $fprecision;
 							$fld->scale = $fscale;
@@ -445,17 +445,17 @@
 	}
 	//OPN STUFF end
 		// returns array of ADOFieldObjects for current table
-	function &MetaColumns($table)
+	function &MetaColumns($table) 
 	{
 	global $ADODB_FETCH_MODE;
-
+		
 		if ($this->metaColumnsSQL) {
-
+		
 			$save = $ADODB_FETCH_MODE;
 			$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-
+		
 			$rs = $this->Execute(sprintf($this->metaColumnsSQL,strtoupper($table)));
-
+		
 			$ADODB_FETCH_MODE = $save;
 			if ($rs === false) return false;
 
@@ -470,16 +470,16 @@
 				$this->_ConvertFieldType($fld, $rs->fields[7], $rs->fields[3], $rs->fields[4], $rs->fields[5], $rs->fields[6], $isInterbase6);
 				if (isset($rs->fields[1]) && $rs->fields[1]) {
 					$fld->not_null = true;
-				}
+				}				
 				if (isset($rs->fields[2])) {
-
+					
 					$fld->has_default = true;
 					$d = substr($rs->fields[2],strlen('default '));
 					switch ($fld->type)
 					{
 					case 'smallint':
 					case 'integer': $fld->default_value = (int) $d; break;
-					case 'char':
+					case 'char': 
 					case 'blob':
 					case 'text':
 					case 'varchar': $fld->default_value = (string) substr($d,1,strlen($d)-2); break;
@@ -495,110 +495,110 @@
 					$fld->sub_type = null;
 				}
 				//OPN STUFF end
-				if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;
+				if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;	
 				else $retarr[strtoupper($fld->name)] = $fld;
-
+				
 				$rs->MoveNext();
 			}
 			$rs->Close();
-			return $retarr;
+			return $retarr;	
 		}
 		return false;
 	}
-
-	function BlobEncode( $blob )
+	
+	function BlobEncode( $blob ) 
 	{
 		$blobid = ibase_blob_create( $this->_connectionID);
 		ibase_blob_add( $blobid, $blob );
 		return ibase_blob_close( $blobid );
 	}
-
-	// since we auto-decode all blob's since 2.42,
+	
+	// since we auto-decode all blob's since 2.42, 
 	// BlobDecode should not do any transforms
 	function BlobDecode($blob)
 	{
-		return $blob;
+		return $blob; 
 	}
-
-
-
-
+	
+	
+	
+	
 	// old blobdecode function
 	// still used to auto-decode all blob's
-	function _BlobDecode( $blob )
+	function _BlobDecode( $blob ) 
 	{
 		$blobid = ibase_blob_open( $blob );
 		$realblob = ibase_blob_get( $blobid,$this->maxblobsize); // 2nd param is max size of blob -- Kevin Boillet <kevinboillet at yahoo.fr>
-		while($string = ibase_blob_get($blobid, 8192)){
-			$realblob .= $string;
+		while($string = ibase_blob_get($blobid, 8192)){ 
+			$realblob .= $string; 
 		}
 		ibase_blob_close( $blobid );
 
 		return( $realblob );
-	}
-
-	function UpdateBlobFile($table,$column,$path,$where,$blobtype='BLOB')
-	{
-		$fd = fopen($path,'rb');
-		if ($fd === false) return false;
-		$blob_id = ibase_blob_create($this->_connectionID);
-
-		/* fill with data */
-
-		while ($val = fread($fd,32768)){
-			ibase_blob_add($blob_id, $val);
-		}
-
-		/* close and get $blob_id_str for inserting into table */
-		$blob_id_str = ibase_blob_close($blob_id);
-
-		fclose($fd);
-		return $this->Execute("UPDATE $table SET $column=(?) WHERE $where",array($blob_id_str)) != false;
-	}
-
+	} 
+	
+	function UpdateBlobFile($table,$column,$path,$where,$blobtype='BLOB') 
+	{ 
+		$fd = fopen($path,'rb'); 
+		if ($fd === false) return false; 
+		$blob_id = ibase_blob_create($this->_connectionID); 
+		
+		/* fill with data */ 
+		
+		while ($val = fread($fd,32768)){ 
+			ibase_blob_add($blob_id, $val); 
+		} 
+		
+		/* close and get $blob_id_str for inserting into table */ 
+		$blob_id_str = ibase_blob_close($blob_id); 
+		
+		fclose($fd); 
+		return $this->Execute("UPDATE $table SET $column=(?) WHERE $where",array($blob_id_str)) != false; 
+	} 
+	
 	/*
 		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')
-	{
-	$blob_id = ibase_blob_create($this->_connectionID);
-
-	// ibase_blob_add($blob_id, $val);
-
-	// replacement that solves the problem by which only the first modulus 64K /
-	// of $val are stored at the blob field ////////////////////////////////////
+	function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB') 
+	{ 
+	$blob_id = ibase_blob_create($this->_connectionID); 
+	
+	// ibase_blob_add($blob_id, $val); 
+	
+	// replacement that solves the problem by which only the first modulus 64K / 
+	// of $val are stored at the blob field //////////////////////////////////// 
 	// Thx Abel Berenstein  aberenstein#afip.gov.ar
-	$len = strlen($val);
-	$chunk_size = 32768;
-	$tail_size = $len % $chunk_size;
-	$n_chunks = ($len - $tail_size) / $chunk_size;
-
-	for ($n = 0; $n < $n_chunks; $n++) {
-		$start = $n * $chunk_size;
-		$data = substr($val, $start, $chunk_size);
-		ibase_blob_add($blob_id, $data);
-	}
-
+	$len = strlen($val); 
+	$chunk_size = 32768; 
+	$tail_size = $len % $chunk_size; 
+	$n_chunks = ($len - $tail_size) / $chunk_size; 
+	
+	for ($n = 0; $n < $n_chunks; $n++) { 
+		$start = $n * $chunk_size; 
+		$data = substr($val, $start, $chunk_size); 
+		ibase_blob_add($blob_id, $data); 
+	} 
+	
 	if ($tail_size) {
-		$start = $n_chunks * $chunk_size;
-		$data = substr($val, $start, $tail_size);
-		ibase_blob_add($blob_id, $data);
+		$start = $n_chunks * $chunk_size; 
+		$data = substr($val, $start, $tail_size); 
+		ibase_blob_add($blob_id, $data); 
 	}
-	// end replacement /////////////////////////////////////////////////////////
-
-	$blob_id_str = ibase_blob_close($blob_id);
-
-	return $this->Execute("UPDATE $table SET $column=(?) WHERE $where",array($blob_id_str)) != false;
-
-	}
-
-
+	// end replacement ///////////////////////////////////////////////////////// 
+	
+	$blob_id_str = ibase_blob_close($blob_id); 
+	
+	return $this->Execute("UPDATE $table SET $column=(?) WHERE $where",array($blob_id_str)) != false; 
+	
+	} 
+	
+	
 	function OldUpdateBlob($table,$column,$val,$where,$blobtype='BLOB')
 	{
 		$blob_id = ibase_blob_create($this->_connectionID);
@@ -606,15 +606,15 @@
 		$blob_id_str = ibase_blob_close($blob_id);
 		return $this->Execute("UPDATE $table SET $column=(?) WHERE $where",array($blob_id_str)) != false;
 	}
-
+	
 	// Format date column in sql string given an input format that understands Y M D
 	// Only since Interbase 6.0 - uses EXTRACT
 	// problem - does not zero-fill the day and month yet
 	function SQLDate($fmt, $col=false)
-	{
+	{	
 		if (!$col) $col = $this->sysDate;
 		$s = '';
-
+		
 		$len = strlen($fmt);
 		for ($i=0; $i < $len; $i++) {
 			if ($s) $s .= '||';
@@ -639,15 +639,15 @@
 			case 'H':
 			case 'h':
 			  $s .= "(extract(hour from $col))";
-			  break;
+			  break;                        
 			case 'I':
 			case 'i':
 			  $s .= "(extract(minute from $col))";
-			  break;
+			  break;                
 			case 'S':
 			case 's':
 			  $s .= "CAST((extract(second from $col)) AS INTEGER)";
-			  break;
+			  break;        
 
 			default:
 				if ($ch == '\\') {
@@ -666,17 +666,17 @@
 		 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
 
-class ADORecordset_ibase extends ADORecordSet
+class ADORecordset_ibase extends ADORecordSet 
 {
 
 	var $databaseType = "ibase";
 	var $bind=false;
 	var $_cacheType;
-
+	
 	function ADORecordset_ibase($id,$mode=false)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 			$this->fetchMode = ($mode === false) ? $ADODB_FETCH_MODE : $mode;
 			return $this->ADORecordSet($id);
 	}
@@ -701,12 +701,12 @@
 	{
 			$this->_numOfRows = -1;
 			$this->_numOfFields = @ibase_num_fields($this->_queryID);
-
+			
 			// cache types for blob decode check
-			for ($i=0, $max = $this->_numOfFields; $i < $max; $i++) {
-				$f1 = $this->FetchField($i);
+			for ($i=0, $max = $this->_numOfFields; $i < $max; $i++) { 
+				$f1 = $this->FetchField($i); 
 				$this->_cacheType[] = $f1->type;
-			}
+			}				
 	}
 
 	function _seek($row)
@@ -714,39 +714,39 @@
 		return false;
 	}
 
-
-
-	function _fetch()
+	
+	
+	function _fetch() 
 	{
-		$f = @ibase_fetch_row($this->_queryID);
+		$f = @ibase_fetch_row($this->_queryID); 
 		if ($f === false) {
 			$this->fields = false;
 			return false;
 		}
 		// OPN stuff start - optimized
 		// fix missing nulls and decode blobs automatically
-
+	
 		global $ADODB_ANSI_PADDING_OFF;
 		//$ADODB_ANSI_PADDING_OFF=1;
 		$rtrim = !empty($ADODB_ANSI_PADDING_OFF);
-
-		for ($i=0, $max = $this->_numOfFields; $i < $max; $i++) {
+		
+		for ($i=0, $max = $this->_numOfFields; $i < $max; $i++) { 
 			if ($this->_cacheType[$i]=="BLOB") {
-				if (isset($f[$i])) {
-					$f[$i] = $this->connection->_BlobDecode($f[$i]);
-				} else {
-					$f[$i] = null;
-				}
-			} else {
-				if (!isset($f[$i])) {
-					$f[$i] = null;
+				if (isset($f[$i])) { 
+					$f[$i] = $this->connection->_BlobDecode($f[$i]); 
+				} else { 
+					$f[$i] = null; 
+				} 
+			} else { 
+				if (!isset($f[$i])) { 
+					$f[$i] = null; 
 				} else if ($rtrim && is_string($f[$i])) {
 					$f[$i] = rtrim($f[$i]);
 				}
-			}
-		}
-		// OPN stuff end
-
+			} 
+		} 
+		// OPN stuff end 
+		
 		$this->fields = $f;
 		if ($this->fetchMode == ADODB_FETCH_ASSOC) {
 			$this->fields = &$this->GetRowAssoc(ADODB_ASSOC_CASE);
@@ -767,13 +767,13 @@
 				$this->bind[strtoupper($o->name)] = $i;
 			}
 		}
-
+		
 		 return $this->fields[$this->bind[strtoupper($colname)]];
-
+		
 	}
+	
 
-
-	function _close()
+	function _close() 
 	{
 			return @ibase_free_result($this->_queryID);
 	}
@@ -788,7 +788,7 @@
 		switch (strtoupper($t)) {
 		case 'CHAR':
 			return 'C';
-
+			
 		case 'TEXT':
 		case 'VARCHAR':
 		case 'VARYING':
@@ -796,14 +796,14 @@
 			return 'X';
 		case 'BLOB':
 			return 'B';
-
+			   
 		case 'TIMESTAMP':
 		case 'DATE': return 'D';
-
+				
 				//case 'T': return 'T';
 
 				//case 'L': return 'L';
-		case 'INT':
+		case 'INT': 
 		case 'SHORT':
 		case 'INTEGER': return 'I';
 		default: return 'N';
@@ -811,4 +811,4 @@
 	}
 
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-informix.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-informix.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-informix.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -27,4 +27,4 @@
 		$this->ADORecordset_informix72($id,$mode);
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-informix72.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-informix72.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-informix72.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -27,9 +27,9 @@
 	var $upperCase = 'upper';
     var $substr = 'substr';
 	var $metaTablesSQL="select tabname from systables";
-	var $metaColumnsSQL =
-"select c.colname, c.coltype, c.collength, d.default
-	from syscolumns c, systables t,sysdefaults d
+	var $metaColumnsSQL = 
+"select c.colname, c.coltype, c.collength, d.default 
+	from syscolumns c, systables t,sysdefaults d 
 	where c.tabid=t.tabid and d.tabid=t.tabid and d.colno=c.colno and tabname='%s'";
 
 //	var $metaColumnsSQL = "select colname, coltype, collength from syscolumns c, systables t where c.tabid=t.tabid and tabname='%s'";
@@ -43,7 +43,7 @@
 	var $sysDate = 'TODAY';
 	var $sysTimeStamp = 'CURRENT';
 	var $cursorType = IFX_SCROLL; // IFX_SCROLL or IFX_HOLD or 0
-
+   
 	function ADODB_informix72()
 	{
 		// alternatively, use older method:
@@ -51,18 +51,18 @@
 
 		// force ISO date format
 		putenv('GL_DATE=%Y-%m-%d');
-
+		
 		if (function_exists('ifx_byteasvarchar')) {
-			ifx_byteasvarchar(1); // Mode "0" will return a blob id, and mode "1" will return a varchar with text content.
-        	ifx_textasvarchar(1); // Mode "0" will return a blob id, and mode "1" will return a varchar with text content.
+			ifx_byteasvarchar(1); // Mode "0" will return a blob id, and mode "1" will return a varchar with text content. 
+        	ifx_textasvarchar(1); // Mode "0" will return a blob id, and mode "1" will return a varchar with text content. 
         	ifx_blobinfile_mode(0); // Mode "0" means save Byte-Blobs in memory, and mode "1" means save Byte-Blobs in a file.
 		}
 	}
-
+	
 	function ServerInfo()
 	{
 	    if (isset($this->version)) return $this->version;
-
+	
 	    $arr['description'] = $this->GetOne("select DBINFO('version','full') from systables where tabid = 1");
 	    $arr['version'] = $this->GetOne("select DBINFO('version','major')||"."||DBINFO('version','minor') from systables where tabid = 1");
 	    $this->version = $arr;
@@ -94,8 +94,8 @@
 		return true;
 	}
 
-	function CommitTrans($ok=true)
-	{
+	function CommitTrans($ok=true) 
+	{ 
 		if (!$ok) return $this->RollbackTrans();
 		if ($this->transOff) return true;
 		if ($this->transCnt) $this->transCnt -= 1;
@@ -122,7 +122,7 @@
 	/*	Returns: the last error message from previous database operation
 		Note: This function is NOT available for Microsoft SQL Server.	*/
 
-	function ErrorMsg()
+	function ErrorMsg() 
 	{
 		if (!empty($this->_logsql)) return $this->_errorMsg;
 		$this->_errorMsg = ifx_errormsg();
@@ -132,15 +132,15 @@
 	function ErrorNo()
 	{
 		preg_match("/.*SQLCODE=([^\]]*)/",ifx_error(),$parse); //!EOS
-		if (is_array($parse) && isset($parse[1])) return (int)$parse[1];
+		if (is_array($parse) && isset($parse[1])) return (int)$parse[1]; 
 		return 0;
 	}
 
-
+   
     function &MetaColumns($table)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		if (!empty($this->metaColumnsSQL)) {
 			$save = $ADODB_FETCH_MODE;
 			$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
@@ -163,17 +163,17 @@
 					$fld->has_default = 0;
 				}
 
-                $retarr[strtolower($fld->name)] = $fld;
+                $retarr[strtolower($fld->name)] = $fld;	
 				$rs->MoveNext();
 			}
 
 			$rs->Close();
-			return $retarr;
+			return $retarr;	
 		}
 
 		return false;
 	}
-
+	
    function &xMetaColumns($table)
    {
 		return ADOConnection::MetaColumns($table,false);
@@ -190,15 +190,15 @@
    {
    		return function_exists('ifx_byteasvarchar') ? $blobid : @ifx_get_blob($blobid);
    }
-
+   
 	// returns true or false
    function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		if (!function_exists('ifx_connect')) return false;
-
+		
 		$dbs = $argDatabasename . "@" . $argHostname;
-		if ($argHostname) putenv("INFORMIXSERVER=$argHostname");
-		putenv("INFORMIXSERVER=".trim($argHostname));
+		if ($argHostname) putenv("INFORMIXSERVER=$argHostname"); 
+		putenv("INFORMIXSERVER=".trim($argHostname)); 
 		$this->_connectionID = ifx_connect($dbs,$argUsername,$argPassword);
 		if ($this->_connectionID === false) return false;
 		#if ($argDatabasename) return $this->SelectDB($argDatabasename);
@@ -209,9 +209,9 @@
    function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		if (!function_exists('ifx_connect')) return false;
-
+		
 		$dbs = $argDatabasename . "@" . $argHostname;
-		putenv("INFORMIXSERVER=".trim($argHostname));
+		putenv("INFORMIXSERVER=".trim($argHostname)); 
 		$this->_connectionID = ifx_pconnect($dbs,$argUsername,$argPassword);
 		if ($this->_connectionID === false) return false;
 		#if ($argDatabasename) return $this->SelectDB($argDatabasename);
@@ -230,7 +230,7 @@
 	function _query($sql,$inputarr)
 	{
 	global $ADODB_COUNTRECS;
-
+	
 	  // String parameters have to be converted using ifx_create_char
 	  if ($inputarr) {
 		 foreach($inputarr as $v) {
@@ -291,7 +291,7 @@
 
 	function ADORecordset_informix72($id,$mode=false)
 	{
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ldap.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ldap.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-ldap.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,66 +1,66 @@
 <?php
 /*
   V4.22 15 Apr 2004  (c) 2000-2004 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,
+   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.
-
-
+  
+  
   Joshua Eldridge (joshuae74#hotmail.com)
-*/
+*/ 
 
 
 class ADODB_ldap extends ADOConnection {
     var $databaseType = 'ldap';
 	var $dataProvider = 'ldap';
-
+	
 	# Connection information
     var $username = false;
     var $password = false;
-
+    
     # Used during searches
     var $filter;
     var $dn;
 
 
-	function ADODB_ldap()
-	{
+	function ADODB_ldap() 
+	{		
 
 	}
-
+  		
 	// returns true or false
-
+	
 	function _connect( $host, $username, $password, $ldapbase )
 	{
 
 	   if ( !function_exists( 'ldap_connect' ) ) return false;
-
+	   
 	   $conn_info = array( $host );
-
+	   
 	   if ( strstr( $host, ':' ) ) {
 	       $conn_info = explode(':', $host);
-	   }
+	   } 
 
-	   $this->_connectionID = ldap_connect( $conn_info[0], $conn_info[1] )
+	   $this->_connectionID = ldap_connect( $conn_info[0], $conn_info[1] ) 
 	       or die( 'Could not connect to ' . $this->_connectionID );
 	   if ($username && $password) {
-	       $bind = ldap_bind( $this->_connectionID, $username, $password )
+	       $bind = ldap_bind( $this->_connectionID, $username, $password ) 
 	           or die( 'Could not bind to ' . $this->_connectionID . ' with $username & $password');
 	   } else {
-	       $bind = ldap_bind( $this->_connectionID )
+	       $bind = ldap_bind( $this->_connectionID ) 
 	           or die( 'Could not bind anonymously to ' . $this->_connectionID );
 	   }
 	   return $this->_connectionID;
     }
-
-
+    
+	
 	/* returns _queryID or false */
 	function _query($sql,$inputarr)
 	{
 	   $rs = ldap_search( $this->_connectionID, $this->database, $sql );
-       return $rs;
-
+       return $rs; 
+		
 	}
 
     /* closes the LDAP connection */
@@ -69,20 +69,20 @@
 		@ldap_close( $this->_connectionID );
 		$this->_connectionID = false;
 	}
-
+    
     function ServerInfo()
     {
         if( is_array( $this->version ) ) return $this->version;
         $version = array();
         /*
-        Determines how aliases are handled during search.
+        Determines how aliases are handled during search. 
         LDAP_DEREF_NEVER (0x00)
         LDAP_DEREF_SEARCHING (0x01)
         LDAP_DEREF_FINDING (0x02)
         LDAP_DEREF_ALWAYS (0x03)
-        The LDAP_DEREF_SEARCHING value means aliases are dereferenced during the search but
-        not when locating the base object of the search. The LDAP_DEREF_FINDING value means
-        aliases are dereferenced when locating the base object but not during the search.
+        The LDAP_DEREF_SEARCHING value means aliases are dereferenced during the search but 
+        not when locating the base object of the search. The LDAP_DEREF_FINDING value means 
+        aliases are dereferenced when locating the base object but not during the search.  
         Default: LDAP_DEREF_NEVER
         */
         ldap_get_option( $this->_connectionID, LDAP_OPT_DEREF, $version['LDAP_OPT_DEREF'] ) ;
@@ -96,9 +96,9 @@
           case 3:
             $version['LDAP_OPT_DEREF'] = 'LDAP_DEREF_ALWAYS';
         }
-
-        /*
-        A limit on the number of entries to return from a search.
+        
+        /* 
+        A limit on the number of entries to return from a search. 
         LDAP_NO_LIMIT (0) means no limit.
         Default: LDAP_NO_LIMIT
         */
@@ -106,9 +106,9 @@
         if ( $version['LDAP_OPT_SIZELIMIT'] == 0 ) {
            $version['LDAP_OPT_SIZELIMIT'] = 'LDAP_NO_LIMIT';
         }
-
+        
         /*
-        A limit on the number of seconds to spend on a search.
+        A limit on the number of seconds to spend on a search. 
         LDAP_NO_LIMIT (0) means no limit.
         Default: LDAP_NO_LIMIT
         */
@@ -116,9 +116,9 @@
         if ( $version['LDAP_OPT_TIMELIMIT'] == 0 ) {
            $version['LDAP_OPT_TIMELIMIT'] = 'LDAP_NO_LIMIT';
         }
-
+        
         /*
-        Determines whether the LDAP library automatically follows referrals returned by LDAP servers or not.
+        Determines whether the LDAP library automatically follows referrals returned by LDAP servers or not. 
         LDAP_OPT_ON
         LDAP_OPT_OFF
         Default: ON
@@ -128,10 +128,10 @@
            $version['LDAP_OPT_REFERRALS'] = 'LDAP_OPT_OFF';
         } else {
            $version['LDAP_OPT_REFERRALS'] = 'LDAP_OPT_ON';
-
+        
         }
         /*
-        Determines whether LDAP I/O operations are automatically restarted if they abort prematurely.
+        Determines whether LDAP I/O operations are automatically restarted if they abort prematurely. 
         LDAP_OPT_ON
         LDAP_OPT_OFF
         Default: OFF
@@ -141,7 +141,7 @@
            $version['LDAP_OPT_RESTART'] = 'LDAP_OPT_OFF';
         } else {
            $version['LDAP_OPT_RESTART'] = 'LDAP_OPT_ON';
-
+        
         }
         /*
         This option indicates the version of the LDAP protocol used when communicating with the primary LDAP server.
@@ -154,56 +154,56 @@
            $version['LDAP_OPT_PROTOCOL_VERSION'] = 'LDAP_VERSION2';
         } else {
            $version['LDAP_OPT_PROTOCOL_VERSION'] = 'LDAP_VERSION3';
-
+        
         }
         /* The host name (or list of hosts) for the primary LDAP server. */
-        ldap_get_option( $this->_connectionID, LDAP_OPT_HOST_NAME, $version['LDAP_OPT_HOST_NAME'] );
-        ldap_get_option( $this->_connectionID, OPT_ERROR_NUMBER, $version['OPT_ERROR_NUMBER'] );
-        ldap_get_option( $this->_connectionID, OPT_ERROR_STRING, $version['OPT_ERROR_STRING'] );
-        ldap_get_option( $this->_connectionID, LDAP_OPT_MATCHED_DN, $version['LDAP_OPT_MATCHED_DN'] );
-
+        ldap_get_option( $this->_connectionID, LDAP_OPT_HOST_NAME, $version['LDAP_OPT_HOST_NAME'] ); 
+        ldap_get_option( $this->_connectionID, OPT_ERROR_NUMBER, $version['OPT_ERROR_NUMBER'] ); 
+        ldap_get_option( $this->_connectionID, OPT_ERROR_STRING, $version['OPT_ERROR_STRING'] ); 
+        ldap_get_option( $this->_connectionID, LDAP_OPT_MATCHED_DN, $version['LDAP_OPT_MATCHED_DN'] ); 
+        
         return $this->version = $version;
-
+    
     }
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
 
-class ADORecordSet_ldap extends ADORecordSet{
-
+class ADORecordSet_ldap extends ADORecordSet{	
+	
 	var $databaseType = "ldap";
 	var $canSeek = false;
 	var $_entryID; /* keeps track of the entry resource identifier */
-
-	function ADORecordSet_ldap($queryID,$mode=false)
+	
+	function ADORecordSet_ldap($queryID,$mode=false) 
 	{
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
 		switch ($mode)
 		{
-		case ADODB_FETCH_NUM:
-		  $this->fetchMode = LDAP_NUM;
+		case ADODB_FETCH_NUM: 
+		  $this->fetchMode = LDAP_NUM; 
 		break;
-		case ADODB_FETCH_ASSOC:
-		  $this->fetchMode = LDAP_ASSOC;
+		case ADODB_FETCH_ASSOC: 
+		  $this->fetchMode = LDAP_ASSOC; 
 		break;
 		default:
 		case ADODB_FETCH_DEFAULT:
-		case ADODB_FETCH_BOTH:
-		  $this->fetchMode = LDAP_BOTH;
+		case ADODB_FETCH_BOTH: 
+		  $this->fetchMode = LDAP_BOTH; 
 		break;
 		}
-
-		$this->ADORecordSet($queryID);
+	
+		$this->ADORecordSet($queryID);	
 	}
-
+	
 	function _initrs()
 	{
-	   /*
+	   /* 
 	   This could be teaked to respect the $COUNTRECS directive from ADODB
 	   It's currently being used in the _fetch() function and the
 	   GetAssoc() function
@@ -215,7 +215,7 @@
     /*
     Return whole recordset as a multi-dimensional associative array
 	*/
-	function &GetAssoc($force_array = false, $first2cols = false)
+	function &GetAssoc($force_array = false, $first2cols = false) 
 	{
 		$records = $this->_numOfRows;
         $results = array();
@@ -227,14 +227,14 @@
                         } else {
                             array_shift( $v );
                             $results[$i][$k] = $v;
-                        }
+                        } 
                     }
                 }
             }
-
-		return $results;
+        
+		return $results; 
 	}
-
+    
     function &GetRowAssoc()
 	{
         $results = array();
@@ -245,13 +245,13 @@
                 } else {
                     array_shift( $v );
                     $results[$k] = $v;
-                }
+                } 
             }
         }
-
-		return $results;
+ 
+		return $results; 
 	}
-
+		
     function GetRowNums()
     {
         $results = array();
@@ -263,47 +263,47 @@
                 } else {
                     array_shift( $v );
                     $results[$i] = $v;
-                }
+                } 
             $i++;
             }
         }
         return $results;
     }
-
+	
 	function _fetch()
-	{
+	{		
 		if ( $this->_currentRow >= $this->_numOfRows && $this->_numOfRows >= 0 )
         	return false;
-
+        	
         if ( $this->_currentRow == 0 ) {
 		  $this->_entryID = ldap_first_entry( $this->connection->_connectionID, $this->_queryID );
         } else {
           $this->_entryID = ldap_next_entry( $this->connection->_connectionID, $this->_entryID );
         }
-
+	    
 	    $this->fields = ldap_get_attributes( $this->connection->_connectionID, $this->_entryID );
-	    $this->_numOfFields = $this->fields['count'];
+	    $this->_numOfFields = $this->fields['count'];	
 	    switch ( $this->fetchMode ) {
-
+            
             case LDAP_ASSOC:
             $this->fields = $this->GetRowAssoc();
             break;
-
+            
             case LDAP_NUM:
             $this->fields = $this->GetRowNums();
             break;
-
+            
             case LDAP_BOTH:
             default:
             break;
         }
-        return ( is_array( $this->fields ) );
+        return ( is_array( $this->fields ) );        
 	}
-
+	
 	function _close() {
-		@ldap_free_result( $this->_queryID );
+		@ldap_free_result( $this->_queryID );	
 		$this->_queryID = false;
 	}
-
+	
 }
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssql.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssql.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssql.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,30 +1,30 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
-  Native mssql driver. Requires mssql client. Works on Windows.
-  To configure for Unix, see
+  
+  Native mssql driver. Requires mssql client. Works on Windows. 
+  To configure for Unix, see 
    	http://phpbuilder.com/columns/alberto20000919.php3
-
+	
 */
 
 //----------------------------------------------------------------
 // MSSQL returns dates with the format Oct 13 2002 or 13 Oct 2002
-// and this causes tons of problems because localized versions of
-// MSSQL will return the dates in dmy or  mdy order; and also the
-// month strings depends on what language has been configured. The
+// and this causes tons of problems because localized versions of 
+// MSSQL will return the dates in dmy or  mdy order; and also the 
+// month strings depends on what language has been configured. The 
 // following two variables allow you to control the localization
 // settings - Ugh.
 //
 // MORE LOCALIZATION INFO
 // ----------------------
-// To configure datetime, look for and modify sqlcommn.loc,
+// To configure datetime, look for and modify sqlcommn.loc, 
 //  	typically found in c:\mssql\install
 // Also read :
 //	 http://support.microsoft.com/default.aspx?scid=kb;EN-US;q220918
@@ -36,12 +36,12 @@
 // has datetime converstion to YYYY-MM-DD format, and also mssql_fetch_assoc
 if (ADODB_PHPVER >= 0x4300) {
 // docs say 4.2.0, but testing shows only since 4.3.0 does it work!
-	@ini_set('mssql.datetimeconvert',0);
+	@ini_set('mssql.datetimeconvert',0); 
 } else {
 global $ADODB_mssql_mths;		// array, months must be upper-case
 
 
-	$ADODB_mssql_date_order = 'mdy';
+	$ADODB_mssql_date_order = 'mdy'; 
 	$ADODB_mssql_mths = array(
 		'JAN'=>1,'FEB'=>2,'MAR'=>3,'APR'=>4,'MAY'=>5,'JUN'=>6,
 		'JUL'=>7,'AUG'=>8,'SEP'=>9,'OCT'=>10,'NOV'=>11,'DEC'=>12);
@@ -68,7 +68,7 @@
 }
 
 class ADODB_mssql extends ADOConnection {
-	var $databaseType = "mssql";
+	var $databaseType = "mssql";	
 	var $dataProvider = "mssql";
 	var $replaceQuote = "''"; // string to use to replace quotes
 	var $fmtDate = "'Y-m-d'";
@@ -83,7 +83,7 @@
 	var $metaColumnsSQL = # xtype==61 is datetime
 "select c.name,t.name,c.length,
 	(case when c.xusertype=61 then 0 else c.xprec end),
-	(case when c.xusertype=61 then 0 else c.xscale end)
+	(case when c.xusertype=61 then 0 else c.xscale end) 
 	from syscolumns c join systypes t on t.xusertype=c.xusertype join sysobjects o on o.id=c.id where o.name='%s'";
 	var $hasTop = 'top';		// support mssql SELECT TOP 10 * FROM TABLE
 	var $hasGenID = true;
@@ -100,52 +100,52 @@
 	var $identitySQL = 'select @@IDENTITY'; // 'select SCOPE_IDENTITY'; # for mssql 2000
 	var $uniqueOrderBy = true;
 	var $_bindInputArray = true;
-
-
-	function ADODB_mssql()
-	{
+	
+	
+	function ADODB_mssql() 
+	{		
 		$this->_has_mssql_init = (strnatcmp(PHP_VERSION,'4.1.0')>=0);
 	}
 
 	function ServerInfo()
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$stmt = $this->PrepareSP('sp_server_info');
 		$val = 2;
 		if ($this->fetchMode === false) {
 			$savem = $ADODB_FETCH_MODE;
 			$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-		} else
+		} else 
 			$savem = $this->SetFetchMode(ADODB_FETCH_NUM);
-
-
+		
+		
 		$this->Parameter($stmt,$val,'attribute_id');
 		$row = $this->GetRow($stmt);
-
+		
 		//$row = $this->GetRow("execute sp_server_info 2");
-
+		
 		if ($this->fetchMode === false) {
 			$ADODB_FETCH_MODE = $savem;
 		} else
 			$this->SetFetchMode($savem);
-
+		
 		$arr['description'] = $row[2];
 		$arr['version'] = ADOConnection::_findvers($arr['description']);
 		return $arr;
 	}
-
-	function IfNull( $field, $ifNull )
+	
+	function IfNull( $field, $ifNull ) 
 	{
 		return " ISNULL($field, $ifNull) "; // if MS SQL Server
 	}
-
+	
 	function _insertid()
 	{
 	// SCOPE_IDENTITY()
-	// Returns the last IDENTITY value inserted into an IDENTITY column in
-	// the same scope. A scope is a module -- a stored procedure, trigger,
-	// function, or batch. Thus, two statements are in the same scope if
+	// Returns the last IDENTITY value inserted into an IDENTITY column in 
+	// the same scope. A scope is a module -- a stored procedure, trigger, 
+	// function, or batch. Thus, two statements are in the same scope if 
 	// they are in the same stored procedure, function, or batch.
 			return $this->GetOne($this->identitySQL);
 	}
@@ -156,7 +156,7 @@
 	}
 
 	var $_dropSeqSQL = "drop table %s";
-
+	
 	function CreateSequence($seq='adodbseq',$start=1)
 	{
 		$start -= 1;
@@ -166,7 +166,7 @@
 				$this->Execute('ROLLBACK TRANSACTION adodbseq');
 				return false;
 		}
-		$this->Execute('COMMIT TRANSACTION adodbseq');
+		$this->Execute('COMMIT TRANSACTION adodbseq'); 
 		return true;
 	}
 
@@ -182,18 +182,18 @@
 				$this->Execute('ROLLBACK TRANSACTION adodbseq');
 				return false;
 			}
-			$this->Execute('COMMIT TRANSACTION adodbseq');
+			$this->Execute('COMMIT TRANSACTION adodbseq'); 
 			return $start;
 		}
 		$num = $this->GetOne("select id from $seq");
-		$this->Execute('COMMIT TRANSACTION adodbseq');
+		$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'");
 	}
+	
 
-
 	function &SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0)
 	{
 		if ($nrows > 0 && $offset <= 0) {
@@ -202,17 +202,17 @@
 			$rs =& $this->Execute($sql,$inputarr);
 		} else
 			$rs =& ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
-
+	
 		return $rs;
 	}
-
-
+	
+	
 	// Format date column in sql string given an input format that understands Y M D
 	function SQLDate($fmt, $col=false)
-	{
+	{	
 		if (!$col) $col = $this->sysTimeStamp;
 		$s = '';
-
+		
 		$len = strlen($fmt);
 		for ($i=0; $i < $len; $i++) {
 			if ($s) $s .= '+';
@@ -239,11 +239,11 @@
 			case 'h':
 				$s .= "substring(convert(char(14),$col,0),13,2)";
 				break;
-
+			
 			case 'H':
 				$s .= "replace(str(datepart(hh,$col),2),' ','0')";
 				break;
-
+				
 			case 'i':
 				$s .= "replace(str(datepart(mi,$col),2),' ','0')";
 				break;
@@ -254,7 +254,7 @@
 			case 'A':
 				$s .= "substring(convert(char(19),$col,0),18,2)";
 				break;
-
+				
 			default:
 				if ($ch == '\\') {
 					$i++;
@@ -267,18 +267,18 @@
 		return $s;
 	}
 
-
+	
 	function BeginTrans()
 	{
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
 		$this->transCnt += 1;
 	   	$this->Execute('BEGIN TRAN');
 	   	return true;
 	}
-
-	function CommitTrans($ok=true)
-	{
-		if ($this->transOff) return true;
+		
+	function CommitTrans($ok=true) 
+	{ 
+		if ($this->transOff) return true; 
 		if (!$ok) return $this->RollbackTrans();
 		if ($this->transCnt) $this->transCnt -= 1;
 		$this->Execute('COMMIT TRAN');
@@ -286,39 +286,39 @@
 	}
 	function RollbackTrans()
 	{
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
 		if ($this->transCnt) $this->transCnt -= 1;
 		$this->Execute('ROLLBACK TRAN');
 		return true;
 	}
-
+	
 	/*
 		Usage:
-
+		
 		$this->BeginTrans();
 		$this->RowLock('table1,table2','table1.id=33 and table2.id=table1.id'); # lock row 33 for both tables
-
+		
 		# some operation on both tables table1 and table2
-
+		
 		$this->CommitTrans();
-
+		
 		See http://www.swynk.com/friends/achigrik/SQL70Locks.asp
 	*/
-	function RowLock($tables,$where)
+	function RowLock($tables,$where) 
 	{
 		if (!$this->transCnt) $this->BeginTrans();
 		return $this->GetOne("select top 1 null as ignore from $tables with (ROWLOCK,HOLDLOCK) where $where");
 	}
-
+	
 	function MetaForeignKeys($table, $owner=false, $upper=false)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$save = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$table = $this->qstr(strtoupper($table));
-
-		$sql =
+		
+		$sql = 
 "select object_name(constid) as constraint_name,
 	col_name(fkeyid, fkey) as column_name,
 	object_name(rkeyid) as referenced_table_name,
@@ -326,20 +326,20 @@
 from sysforeignkeys
 where upper(object_name(fkeyid)) = $table
 order by constraint_name, referenced_table_name, keyno";
-
+		
 		$constraints =& $this->GetArray($sql);
-
+		
 		$ADODB_FETCH_MODE = $save;
-
+		
 		$arr = false;
 		foreach($constraints as $constr) {
 			//print_r($constr);
-			$arr[$constr[0]][$constr[2]][] = $constr[1].'='.$constr[3];
+			$arr[$constr[0]][$constr[2]][] = $constr[1].'='.$constr[3]; 
 		}
 		if (!$arr) return false;
-
+		
 		$arr2 = false;
-
+		
 		foreach($arr as $k => $v) {
 			foreach($v as $a => $b) {
 				if ($upper) $a = strtoupper($a);
@@ -350,43 +350,43 @@
 	}
 
 	//From: Fernando Moreira <FMoreira at imediata.pt>
-	function MetaDatabases()
-	{
-		if(@mssql_select_db("master")) {
-				 $qry=$this->metaDatabasesSQL;
-				 if($rs=@mssql_query($qry)){
-						 $tmpAr=$ar=array();
-						 while($tmpAr=@mssql_fetch_row($rs))
-								 $ar[]=$tmpAr[0];
-						@mssql_select_db($this->databaseName);
-						 if(sizeof($ar))
-								 return($ar);
-						 else
-								 return(false);
-				 } else {
-						 @mssql_select_db($this->databaseName);
-						 return(false);
-				 }
-		 }
-		 return(false);
-	}
+	function MetaDatabases() 
+	{ 
+		if(@mssql_select_db("master")) { 
+				 $qry=$this->metaDatabasesSQL; 
+				 if($rs=@mssql_query($qry)){ 
+						 $tmpAr=$ar=array(); 
+						 while($tmpAr=@mssql_fetch_row($rs)) 
+								 $ar[]=$tmpAr[0]; 
+						@mssql_select_db($this->databaseName); 
+						 if(sizeof($ar)) 
+								 return($ar); 
+						 else 
+								 return(false); 
+				 } else { 
+						 @mssql_select_db($this->databaseName); 
+						 return(false); 
+				 } 
+		 } 
+		 return(false); 
+	} 
 
 	// "Stein-Aksel Basma" <basma at accelero.no>
 	// tested with MSSQL 2000
 	function MetaPrimaryKeys($table)
 	{
 		$sql = "select k.column_name from information_schema.key_column_usage k,
-		information_schema.table_constraints tc
+		information_schema.table_constraints tc 
 		where tc.constraint_name = k.constraint_name and tc.constraint_type =
 		'PRIMARY KEY' and k.table_name = '$table'";
-
+		
 		$a = $this->GetCol($sql);
 		if ($a && sizeof($a)>0) return $a;
-		return false;
+		return false;	  
 	}
 
-
-	function &MetaTables($ttype=false,$showSchema=false,$mask=false)
+	
+	function &MetaTables($ttype=false,$showSchema=false,$mask=false) 
 	{
 		if ($mask) {
 			$save = $this->metaTablesSQL;
@@ -394,31 +394,31 @@
 			$this->metaTablesSQL .= " AND name like $mask";
 		}
 		$ret =& ADOConnection::MetaTables($ttype,$showSchema);
-
+		
 		if ($mask) {
 			$this->metaTablesSQL = $save;
 		}
 		return $ret;
 	}
-
-	function SelectDB($dbName)
+ 
+	function SelectDB($dbName) 
 	{
 		$this->databaseName = $dbName;
 		if ($this->_connectionID) {
-			return @mssql_select_db($dbName);
+			return @mssql_select_db($dbName);		
 		}
-		else return false;
+		else return false;	
 	}
-
-	function ErrorMsg()
+	
+	function ErrorMsg() 
 	{
 		if (empty($this->_errorMsg)){
 			$this->_errorMsg = mssql_get_last_message();
 		}
 		return $this->_errorMsg;
 	}
-
-	function ErrorNo()
+	
+	function ErrorNo() 
 	{
 		if ($this->_logsql && $this->_errorCode !== false) return $this->_errorCode;
 		if (empty($this->_errorMsg)) {
@@ -431,7 +431,7 @@
 		if (is_array($arr)) return $arr[0];
 	   else return -1;
 	}
-
+	
 	// returns true or false
 	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
@@ -439,26 +439,26 @@
 		$this->_connectionID = mssql_connect($argHostname,$argUsername,$argPassword);
 		if ($this->_connectionID === false) return false;
 		if ($argDatabasename) return $this->SelectDB($argDatabasename);
-		return true;
+		return true;	
 	}
-
-
+	
+	
 	// returns true or false
 	function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		if (!function_exists('mssql_pconnect')) return false;
 		$this->_connectionID = mssql_pconnect($argHostname,$argUsername,$argPassword);
 		if ($this->_connectionID === false) return false;
-
+		
 		// persistent connections can forget to rollback on crash, so we do it here.
 		if ($this->autoRollback) {
 			$cnt = $this->GetOne('select @@TRANCOUNT');
-			while (--$cnt >= 0) $this->Execute('ROLLBACK TRAN');
+			while (--$cnt >= 0) $this->Execute('ROLLBACK TRAN'); 
 		}
 		if ($argDatabasename) return $this->SelectDB($argDatabasename);
-		return true;
+		return true;	
 	}
-
+	
 	function Prepare($sql)
 	{
 		$sqlarr = explode('?',$sql);
@@ -466,10 +466,10 @@
 		$sql2 = $sqlarr[0];
 		for ($i = 1, $max = sizeof($sqlarr); $i < $max; $i++) {
 			$sql2 .=  '@P'.($i-1) . $sqlarr[$i];
-		}
+		} 
 		return array($sql,$this->qstr($sql2),$max);
 	}
-
+	
 	function PrepareSP($sql)
 	{
 		if (!$this->_has_mssql_init) {
@@ -480,23 +480,23 @@
 		if (!$stmt)  return $sql;
 		return array($sql,$stmt);
 	}
-
-	/*
+	
+	/* 
 	Usage:
 		$stmt = $db->PrepareSP('SP_RUNSOMETHING'); -- takes 2 params, @myid and @group
-
+		
 		# note that the parameter does not have @ in front!
 		$db->Parameter($stmt,$id,'myid');
 		$db->Parameter($stmt,$group,'group',false,64);
 		$db->Execute($stmt);
-
+		
 		@param $stmt Statement returned by Prepare() or PrepareSP().
 		@param $var PHP variable to bind to. Can set to null (for isNull support).
 		@param $name Name of stored procedure variable name to bind to.
 		@param [$isOutput] Indicates direction of parameter 0/false=IN  1=OUT  2= IN/OUT. This is ignored in oci8.
 		@param [$maxLen] Holds an maximum length of the variable.
 		@param [$type] The data type of $var. Legal values depend on driver.
-
+		
 		See mssql_bind documentation at php.net.
 	*/
 	function Parameter(&$stmt, &$var, $name, $isOutput=false, $maxLen=4000, $type=false)
@@ -507,8 +507,8 @@
 		}
 
 		$isNull = is_null($var); // php 4.0.4 and above...
-
-		if ($type === false)
+			
+		if ($type === false) 
 			switch(gettype($var)) {
 			default:
 			case 'string': $type = SQLCHAR; break;
@@ -516,7 +516,7 @@
 			case 'integer': $type = SQLINT4; break;
 			case 'boolean': $type = SQLINT1; break; # SQLBIT not supported in 4.1.0
 			}
-
+		
 		if  ($this->debug) {
 			$prefix = ($isOutput) ? 'Out' : 'In';
 			$ztype = (empty($type)) ? 'false' : $type;
@@ -524,42 +524,42 @@
 		}
 		/*
 			See http://phplens.com/lens/lensforum/msgs.php?id=7231
-
+			
 			RETVAL is HARD CODED into php_mssql extension:
-			The return value (a long integer value) is treated like a special OUTPUT parameter,
-			called "RETVAL" (without the @). See the example at mssql_execute to
-			see how it works. - type: one of this new supported PHP constants.
-				SQLTEXT, SQLVARCHAR,SQLCHAR, SQLINT1,SQLINT2, SQLINT4, SQLBIT,SQLFLT8
+			The return value (a long integer value) is treated like a special OUTPUT parameter, 
+			called "RETVAL" (without the @). See the example at mssql_execute to 
+			see how it works. - type: one of this new supported PHP constants. 
+				SQLTEXT, SQLVARCHAR,SQLCHAR, SQLINT1,SQLINT2, SQLINT4, SQLBIT,SQLFLT8 
 		*/
 		if ($name !== 'RETVAL') $name = '@'.$name;
 		return mssql_bind($stmt[1], $name, $var, $type, $isOutput, $isNull, $maxLen);
 	}
-
-	/*
+	
+	/* 
 		Unfortunately, it appears that mssql cannot handle varbinary > 255 chars
 		So all your blobs must be of type "image".
-
+		
 		Remember to set in php.ini the following...
+		
+		; Valid range 0 - 2147483647. Default = 4096. 
+		mssql.textlimit = 0 ; zero to pass through 
 
-		; Valid range 0 - 2147483647. Default = 4096.
-		mssql.textlimit = 0 ; zero to pass through
-
-		; Valid range 0 - 2147483647. Default = 4096.
-		mssql.textsize = 0 ; zero to pass through
+		; Valid range 0 - 2147483647. Default = 4096. 
+		mssql.textsize = 0 ; zero to pass through 
 	*/
 	function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB')
 	{
 		$sql = "UPDATE $table SET $column=0x".bin2hex($val)." WHERE $where";
 		return $this->Execute($sql) != false;
 	}
-
+	
 	// returns query ID if successful, otherwise false
 	function _query($sql,$inputarr)
 	{
 		$this->_errorMsg = false;
 		if (is_array($inputarr)) {
-
-			# bind input params with sp_executesql:
+			
+			# bind input params with sp_executesql: 
 			# see http://www.quest-pipelines.com/newsletter-v3/0402_F.htm
 			# works only with sql server 7 and newer
 			if (!is_array($sql)) $sql = $this->Prepare($sql);
@@ -570,11 +570,11 @@
 				if ($decl) {
 					$decl .= ', ';
 					$params .= ', ';
-				}
+				}	
 				if (is_string($v)) {
 					$len = strlen($v);
 					if ($len == 0) $len = 1;
-
+					
 					if ($len > 4000 ) {
 						// NVARCHAR is max 4000 chars. Let's use NTEXT
 						$decl .= "@P$i NTEXT";
@@ -595,71 +595,71 @@
 			$decl = $this->qstr($decl);
 			if ($this->debug) ADOConnection::outp("<font size=-1>sp_executesql N{$sql[1]},N$decl,$params</font>");
 			$rez = mssql_query("sp_executesql N{$sql[1]},N$decl,$params");
-
+			
 		} else if (is_array($sql)) {
 			# PrepareSP()
 			$rez = mssql_execute($sql[1]);
-
+			
 		} else {
 			$rez = mssql_query($sql,$this->_connectionID);
 		}
 		return $rez;
 	}
-
+	
 	// returns true or false
 	function _close()
-	{
+	{ 
 		if ($this->transCnt) $this->RollbackTrans();
 		$rez = @mssql_close($this->_connectionID);
 		$this->_connectionID = false;
 		return $rez;
 	}
-
+	
 	// mssql uses a default date like Dec 30 2000 12:00AM
 	function UnixDate($v)
 	{
 		return ADORecordSet_array_mssql::UnixDate($v);
 	}
-
+	
 	function UnixTimeStamp($v)
 	{
 		return ADORecordSet_array_mssql::UnixTimeStamp($v);
-	}
+	}	
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
 
-class ADORecordset_mssql extends ADORecordSet {
+class ADORecordset_mssql extends ADORecordSet {	
 
 	var $databaseType = "mssql";
 	var $canSeek = true;
 	var $hasFetchAssoc; // see http://phplens.com/lens/lensforum/msgs.php?id=6083
 	// _mths works only in non-localised system
-
+	
 	function ADORecordset_mssql($id,$mode=false)
 	{
 		// freedts check...
 		$this->hasFetchAssoc = function_exists('mssql_fetch_assoc');
 
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
 		$this->fetchMode = $mode;
 		return $this->ADORecordSet($id,$mode);
 	}
-
-
+	
+	
 	function _initrs()
 	{
-	GLOBAL $ADODB_COUNTRECS;
+	GLOBAL $ADODB_COUNTRECS;	
 		$this->_numOfRows = ($ADODB_COUNTRECS)? @mssql_num_rows($this->_queryID):-1;
 		$this->_numOfFields = @mssql_num_fields($this->_queryID);
 	}
+	
 
-
 	//Contributed by "Sven Axelsson" <sven.axelsson at bokochwebb.se>
 	// get next resultset - requires PHP 4.0.5 or later
 	function NextRecordSet()
@@ -683,16 +683,16 @@
 				$this->bind[strtoupper($o->name)] = $i;
 			}
 		}
-
+		
 		 return $this->fields[$this->bind[strtoupper($colname)]];
 	}
-
-	/*	Returns: an object containing field information.
+	
+	/*	Returns: an object containing field information. 
 		Get column information in the Recordset object. fetchField() can be used in order to obtain information about
 		fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retrieved by
 		fetchField() is retrieved.	*/
 
-	function FetchField($fieldOffset = -1)
+	function FetchField($fieldOffset = -1) 
 	{
 		if ($fieldOffset != -1) {
 			return @mssql_fetch_field($this->_queryID, $fieldOffset);
@@ -702,19 +702,19 @@
 		}
 		return null;
 	}
-
-	function _seek($row)
+	
+	function _seek($row) 
 	{
 		return @mssql_data_seek($this->_queryID, $row);
 	}
 
 	// speedup
-	function MoveNext()
+	function MoveNext() 
 	{
 		if ($this->EOF) return false;
-
+		
 		$this->_currentRow++;
-
+		
 		if ($this->fetchMode & ADODB_FETCH_ASSOC) {
 			if ($this->fetchMode & ADODB_FETCH_NUM) {
 				//ADODB_FETCH_BOTH mode
@@ -736,7 +736,7 @@
 						$this->fields = false;
 				}
 			}
-
+			
 			if (is_array($this->fields)) {
 				if (ADODB_ASSOC_CASE == 0) {
 					foreach($this->fields as $k=>$v) {
@@ -753,14 +753,14 @@
 		}
 		if ($this->fields) return true;
 		$this->EOF = true;
-
+		
 		return false;
 	}
 
-
+	
 	// INSERT UPDATE DELETE returns false even if no error occurs in 4.0.4
 	// also the date format has been changed from YYYY-mm-dd to dd MMM YYYY in 4.0.4. Idiot!
-	function _fetch($ignore_fields=false)
+	function _fetch($ignore_fields=false) 
 	{
 		if ($this->fetchMode & ADODB_FETCH_ASSOC) {
 			if ($this->fetchMode & ADODB_FETCH_NUM) {
@@ -781,7 +781,7 @@
 					}
 				}
 			}
-
+			
 			if (!$this->fields) {
 			} else if (ADODB_ASSOC_CASE == 0) {
 				foreach($this->fields as $k=>$v) {
@@ -797,13 +797,13 @@
 		}
 		return $this->fields;
 	}
-
+	
 	/*	close() only needs to be called if you are worried about using too much memory while your script
 		is running. All associated result memory for the specified result identifier will automatically be freed.	*/
 
-	function _close()
+	function _close() 
 	{
-		$rez = mssql_free_result($this->_queryID);
+		$rez = mssql_free_result($this->_queryID);	
 		$this->_queryID = false;
 		return $rez;
 	}
@@ -812,36 +812,36 @@
 	{
 		return ADORecordSet_array_mssql::UnixDate($v);
 	}
-
+	
 	function UnixTimeStamp($v)
 	{
 		return ADORecordSet_array_mssql::UnixTimeStamp($v);
 	}
-
+	
 }
 
 
 class ADORecordSet_array_mssql extends ADORecordSet_array {
-	function ADORecordSet_array_mssql($id=-1,$mode=false)
+	function ADORecordSet_array_mssql($id=-1,$mode=false) 
 	{
 		$this->ADORecordSet_array($id,$mode);
 	}
-
+	
 		// mssql uses a default date like Dec 30 2000 12:00AM
 	function UnixDate($v)
 	{
-
+	
 		if (is_numeric(substr($v,0,1)) && ADODB_PHPVER >= 0x4200) return parent::UnixDate($v);
-
+		
 	global $ADODB_mssql_mths,$ADODB_mssql_date_order;
-
-		//Dec 30 2000 12:00AM
+	
+		//Dec 30 2000 12:00AM 
 		if ($ADODB_mssql_date_order == 'dmy') {
 			if (!preg_match( "|^([0-9]{1,2})[-/\. ]+([A-Za-z]{3})[-/\. ]+([0-9]{4})|" ,$v, $rr)) {
 				return parent::UnixDate($v);
 			}
 			if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+			
 			$theday = $rr[1];
 			$themth =  substr(strtoupper($rr[2]),0,3);
 		} else {
@@ -849,7 +849,7 @@
 				return parent::UnixDate($v);
 			}
 			if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+			
 			$theday = $rr[2];
 			$themth = substr(strtoupper($rr[1]),0,3);
 		}
@@ -858,34 +858,34 @@
 		// h-m-s-MM-DD-YY
 		return  mktime(0,0,0,$themth,$theday,$rr[3]);
 	}
-
+	
 	function UnixTimeStamp($v)
 	{
-
+	
 		if (is_numeric(substr($v,0,1)) && ADODB_PHPVER >= 0x4200) return parent::UnixTimeStamp($v);
-
+		
 	global $ADODB_mssql_mths,$ADODB_mssql_date_order;
-
+	
 		//Dec 30 2000 12:00AM
 		 if ($ADODB_mssql_date_order == 'dmy') {
 			 if (!preg_match( "|^([0-9]{1,2})[-/\. ]+([A-Za-z]{3})[-/\. ]+([0-9]{4}) +([0-9]{1,2}):([0-9]{1,2}) *([apAP]{0,1})|"
 			,$v, $rr)) return parent::UnixTimeStamp($v);
 			if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+		
 			$theday = $rr[1];
 			$themth =  substr(strtoupper($rr[2]),0,3);
 		} else {
 			if (!preg_match( "|^([A-Za-z]{3})[-/\. ]+([0-9]{1,2})[-/\. ]+([0-9]{4}) +([0-9]{1,2}):([0-9]{1,2}) *([apAP]{0,1})|"
 			,$v, $rr)) return parent::UnixTimeStamp($v);
 			if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+		
 			$theday = $rr[2];
 			$themth = substr(strtoupper($rr[1]),0,3);
 		}
-
+		
 		$themth = $ADODB_mssql_mths[$themth];
 		if ($themth <= 0) return false;
-
+		
 		switch (strtoupper($rr[6])) {
 		case 'P':
 			if ($rr[4]<12) $rr[4] += 12;
@@ -905,7 +905,7 @@
 Code Example 1:
 
 select 	object_name(constid) as constraint_name,
-       	object_name(fkeyid) as table_name,
+       	object_name(fkeyid) as table_name, 
         col_name(fkeyid, fkey) as column_name,
 	object_name(rkeyid) as referenced_table_name,
    	col_name(rkeyid, rkey) as referenced_column_name
@@ -925,4 +925,4 @@
 http://www.databasejournal.com/scripts/article.php/1440551
 */
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssqlnative.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssqlnative.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssqlnative.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,16 +1,16 @@
 <?php
-/*
+/* 
 V5.10 10 Nov 2009   (c) 2000-2009 John Lim (jlim#natsoft.com). 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.
+  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
-
-  Native mssql driver. Requires mssql client. Works on Windows.
+  
+  Native mssql driver. Requires mssql client. Works on Windows. 
     http://www.microsoft.com/sql/technologies/php/default.mspx
-  To configure for Unix, see
+  To configure for Unix, see 
    	http://phpbuilder.com/columns/alberto20000919.php3
 
     $stream = sqlsrv_get_field($stmt, $index, SQLSRV_SQLTYPE_STREAM(SQLSRV_ENC_BINARY));
@@ -43,22 +43,22 @@
 
 //----------------------------------------------------------------
 // MSSQL returns dates with the format Oct 13 2002 or 13 Oct 2002
-// and this causes tons of problems because localized versions of
-// MSSQL will return the dates in dmy or  mdy order; and also the
-// month strings depends on what language has been configured. The
+// and this causes tons of problems because localized versions of 
+// MSSQL will return the dates in dmy or  mdy order; and also the 
+// month strings depends on what language has been configured. The 
 // following two variables allow you to control the localization
 // settings - Ugh.
 //
 // MORE LOCALIZATION INFO
 // ----------------------
-// To configure datetime, look for and modify sqlcommn.loc,
+// To configure datetime, look for and modify sqlcommn.loc, 
 //  	typically found in c:\mssql\install
 // Also read :
 //	 http://support.microsoft.com/default.aspx?scid=kb;EN-US;q220918
 // Alternatively use:
 // 	   CONVERT(char(12),datecol,120)
 //
-// Also if your month is showing as month-1,
+// Also if your month is showing as month-1, 
 //   e.g. Jan 13, 2002 is showing as 13/0/2002, then see
 //     http://phplens.com/lens/lensforum/msgs.php?id=7048&x=1
 //   it's a localisation problem.
@@ -68,10 +68,10 @@
 // has datetime converstion to YYYY-MM-DD format, and also mssql_fetch_assoc
 if (ADODB_PHPVER >= 0x4300) {
 // docs say 4.2.0, but testing shows only since 4.3.0 does it work!
-	ini_set('mssql.datetimeconvert',0);
+	ini_set('mssql.datetimeconvert',0); 
 } else {
     global $ADODB_mssql_mths;		// array, months must be upper-case
-	$ADODB_mssql_date_order = 'mdy';
+	$ADODB_mssql_date_order = 'mdy'; 
 	$ADODB_mssql_mths = array(
 		'JAN'=>1,'FEB'=>2,'MAR'=>3,'APR'=>4,'MAY'=>5,'JUN'=>6,
 		'JUL'=>7,'AUG'=>8,'SEP'=>9,'OCT'=>10,'NOV'=>11,'DEC'=>12);
@@ -98,7 +98,7 @@
 }
 
 class ADODB_mssqlnative extends ADOConnection {
-	var $databaseType = "mssqlnative";
+	var $databaseType = "mssqlnative";	
 	var $dataProvider = "mssqlnative";
 	var $replaceQuote = "''"; // string to use to replace quotes
 	var $fmtDate = "'Y-m-d'";
@@ -113,7 +113,7 @@
 	var $metaColumnsSQL = # xtype==61 is datetime
         "select c.name,t.name,c.length,
 	    (case when c.xusertype=61 then 0 else c.xprec end),
-	    (case when c.xusertype=61 then 0 else c.xscale end)
+	    (case when c.xusertype=61 then 0 else c.xscale end) 
 	    from syscolumns c join systypes t on t.xusertype=c.xusertype join sysobjects o on o.id=c.id where o.name='%s'";
 	var $hasTop = 'top';		// support mssql SELECT TOP 10 * FROM TABLE
 	var $hasGenID = true;
@@ -129,9 +129,9 @@
 	var $uniqueOrderBy = true;
 	var $_bindInputArray = true;
 	var $_dropSeqSQL = "drop table %s";
-
-	function ADODB_mssqlnative()
-	{
+	
+	function ADODB_mssqlnative() 
+	{		
         if ($this->debug) {
             error_log("<pre>");
             sqlsrv_set_error_handling( SQLSRV_ERRORS_LOG_ALL );
@@ -152,25 +152,25 @@
 		if ($this->fetchMode === false) {
 			$savem = $ADODB_FETCH_MODE;
 			$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-		} else
+		} else 
 			$savem = $this->SetFetchMode(ADODB_FETCH_NUM);
 		$arrServerInfo = sqlsrv_server_info($this->_connectionID);
 		$arr['description'] = $arrServerInfo['SQLServerName'].' connected to '.$arrServerInfo['CurrentDatabase'];
 		$arr['version'] = $arrServerInfo['SQLServerVersion'];//ADOConnection::_findvers($arr['description']);
 		return $arr;
 	}
-
-	function IfNull( $field, $ifNull )
+	
+	function IfNull( $field, $ifNull ) 
 	{
 		return " ISNULL($field, $ifNull) "; // if MS SQL Server
 	}
-
+	
 	function _insertid()
 	{
 	// SCOPE_IDENTITY()
-	// Returns the last IDENTITY value inserted into an IDENTITY column in
-	// the same scope. A scope is a module -- a stored procedure, trigger,
-	// function, or batch. Thus, two statements are in the same scope if
+	// Returns the last IDENTITY value inserted into an IDENTITY column in 
+	// the same scope. A scope is a module -- a stored procedure, trigger, 
+	// function, or batch. Thus, two statements are in the same scope if 
 	// they are in the same stored procedure, function, or batch.
 		return $this->GetOne($this->identitySQL);
 	}
@@ -179,7 +179,7 @@
 	{
 	   return sqlsrv_rows_affected($this->_queryID);
 	}
-
+	
 	function CreateSequence($seq='adodbseq',$start=1)
 	{
 		if($this->debug) error_log("<hr>CreateSequence($seq,$start)");
@@ -217,13 +217,13 @@
         if($this->debug) error_log(" Returning: $num");
 		return $num;
 	}
-
+	
 	// Format date column in sql string given an input format that understands Y M D
 	function SQLDate($fmt, $col=false)
-	{
+	{	
 		if (!$col) $col = $this->sysTimeStamp;
 		$s = '';
-
+		
 		$len = strlen($fmt);
 		for ($i=0; $i < $len; $i++) {
 			if ($s) $s .= '+';
@@ -250,11 +250,11 @@
 			case 'h':
 				$s .= "substring(convert(char(14),$col,0),13,2)";
 				break;
-
+			
 			case 'H':
 				$s .= "replace(str(datepart(hh,$col),2),' ','0')";
 				break;
-
+				
 			case 'i':
 				$s .= "replace(str(datepart(mi,$col),2),' ','0')";
 				break;
@@ -265,7 +265,7 @@
 			case 'A':
 				$s .= "substring(convert(char(19),$col,0),18,2)";
 				break;
-
+				
 			default:
 				if ($ch == '\\') {
 					$i++;
@@ -278,19 +278,19 @@
 		return $s;
 	}
 
-
+	
 	function BeginTrans()
 	{
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
 		$this->transCnt += 1;
         if ($this->debug) error_log('<hr>begin transaction');
 		sqlsrv_begin_transaction($this->_connectionID);
 	   	return true;
 	}
-
-	function CommitTrans($ok=true)
-	{
-		if ($this->transOff) return true;
+		
+	function CommitTrans($ok=true) 
+	{ 
+		if ($this->transOff) return true; 
         if ($this->debug) error_log('<hr>commit transaction');
 		if (!$ok) return $this->RollbackTrans();
 		if ($this->transCnt) $this->transCnt -= 1;
@@ -299,14 +299,14 @@
 	}
 	function RollbackTrans()
 	{
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
         if ($this->debug) error_log('<hr>rollback transaction');
 		if ($this->transCnt) $this->transCnt -= 1;
 		sqlsrv_rollback($this->_connectionID);
 		return true;
 	}
-
-	function SetTransactionMode( $transaction_mode )
+	
+	function SetTransactionMode( $transaction_mode ) 
 	{
 		$this->_transmode  = $transaction_mode;
 		if (empty($transaction_mode)) {
@@ -316,39 +316,39 @@
 		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
 		$this->Execute("SET TRANSACTION ".$transaction_mode);
 	}
-
+	
 	/*
 		Usage:
-
+		
 		$this->BeginTrans();
 		$this->RowLock('table1,table2','table1.id=33 and table2.id=table1.id'); # lock row 33 for both tables
-
+		
 		# some operation on both tables table1 and table2
-
+		
 		$this->CommitTrans();
-
+		
 		See http://www.swynk.com/friends/achigrik/SQL70Locks.asp
 	*/
-	function RowLock($tables,$where,$col='top 1 null as ignore')
+	function RowLock($tables,$where,$col='top 1 null as ignore') 
 	{
 		if (!$this->transCnt) $this->BeginTrans();
 		return $this->GetOne("select $col from $tables with (ROWLOCK,HOLDLOCK) where $where");
 	}
-
-	function SelectDB($dbName)
+	 
+	function SelectDB($dbName) 
 	{
 		$this->database = $dbName;
 		$this->databaseName = $dbName; # obsolete, retained for compat with older adodb versions
 		if ($this->_connectionID) {
-            $rs = $this->Execute('USE '.$dbName);
+            $rs = $this->Execute('USE '.$dbName); 
             if($rs) {
                 return true;
-            } else return false;
+            } else return false;		
 		}
-		else return false;
+		else return false;	
 	}
-
-	function ErrorMsg()
+	
+	function ErrorMsg() 
 	{
 		$retErrors = sqlsrv_errors(SQLSRV_ERR_ALL);
 		if($retErrors != null) {
@@ -362,15 +362,15 @@
 		}
 		return $this->_errorMsg;
 	}
-
-	function ErrorNo()
+	
+	function ErrorNo() 
 	{
 		if ($this->_logsql && $this->_errorCode !== false) return $this->_errorCode;
 		$err = sqlsrv_errors(SQLSRV_ERR_ALL);
         if($err[0]) return $err[0]['code'];
         else return -1;
 	}
-
+	
 	// returns true or false
 	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
@@ -378,29 +378,29 @@
         $connectionInfo = array("Database"=>$argDatabasename,'UID'=>$argUsername,'PWD'=>$argPassword);
         if ($this->debug) error_log("<hr>connecting... hostname: $argHostname params: ".var_export($connectionInfo,true));
         //if ($this->debug) error_log("<hr>_connectionID before: ".serialize($this->_connectionID));
-        if(!($this->_connectionID = sqlsrv_connect($argHostname,$connectionInfo))) {
+        if(!($this->_connectionID = sqlsrv_connect($argHostname,$connectionInfo))) { 
             if ($this->debug) error_log( "<hr><b>errors</b>: ".print_r( sqlsrv_errors(), true));
             return false;
         }
         //if ($this->debug) error_log(" _connectionID after: ".serialize($this->_connectionID));
         //if ($this->debug) error_log("<hr>defined functions: <pre>".var_export(get_defined_functions(),true)."</pre>");
-		return true;
+		return true;	
 	}
-
+	
 	// returns true or false
 	function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		//return null;//not implemented. NOTE: Persistent connections have no effect if PHP is used as a CGI program. (FastCGI!)
         return $this->_connect($argHostname, $argUsername, $argPassword, $argDatabasename);
 	}
-
+	
 	function Prepare($sql)
 	{
 		$stmt = sqlsrv_prepare( $this->_connectionID, $sql);
 		if (!$stmt)  return $sql;
 		return array($sql,$stmt);
 	}
-
+	
 	// returns concatenated string
     // MSSQL requires integers to be cast as strings
     // automatically cast every datatype to VARCHAR(255)
@@ -421,25 +421,25 @@
         array_walk($arr, create_function('&$v', '$v = "CAST(" . $v . " AS VARCHAR(255))";'));
         $s = implode('+',$arr);
         if (sizeof($arr) > 0) return "$s";
-
+        
 		return '';
     }
-
-	/*
+	
+	/* 
 		Unfortunately, it appears that mssql cannot handle varbinary > 255 chars
 		So all your blobs must be of type "image".
-
+		
 		Remember to set in php.ini the following...
+		
+		; Valid range 0 - 2147483647. Default = 4096. 
+		mssql.textlimit = 0 ; zero to pass through 
 
-		; Valid range 0 - 2147483647. Default = 4096.
-		mssql.textlimit = 0 ; zero to pass through
-
-		; Valid range 0 - 2147483647. Default = 4096.
-		mssql.textsize = 0 ; zero to pass through
+		; Valid range 0 - 2147483647. Default = 4096. 
+		mssql.textsize = 0 ; zero to pass through 
 	*/
 	function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB')
 	{
-
+	
 		if (strtoupper($blobtype) == 'CLOB') {
 			$sql = "UPDATE $table SET $column='" . $val . "' WHERE $where";
 			return $this->Execute($sql) != false;
@@ -447,7 +447,7 @@
 		$sql = "UPDATE $table SET $column=0x".bin2hex($val)." WHERE $where";
 		return $this->Execute($sql) != false;
 	}
-
+	
 	// returns query ID if successful, otherwise false
 	function _query($sql,$inputarr=false)
 	{
@@ -471,36 +471,36 @@
         if(!$rez) $rez = false;
 		return $rez;
 	}
-
+	
 	// returns true or false
 	function _close()
-	{
+	{ 
 		if ($this->transCnt) $this->RollbackTrans();
 		$rez = @sqlsrv_close($this->_connectionID);
 		$this->_connectionID = false;
 		return $rez;
 	}
-
+	
 	// mssql uses a default date like Dec 30 2000 12:00AM
 	function UnixDate($v)
 	{
 		return ADORecordSet_array_mssql::UnixDate($v);
 	}
-
+	
 	function UnixTimeStamp($v)
 	{
 		return ADORecordSet_array_mssql::UnixTimeStamp($v);
-	}
+	}	
 
 	function &MetaIndexes($table,$primary=false)
 	{
 		$table = $this->qstr($table);
 
-		$sql = "SELECT i.name AS ind_name, C.name AS col_name, USER_NAME(O.uid) AS Owner, c.colid, k.Keyno,
+		$sql = "SELECT i.name AS ind_name, C.name AS col_name, USER_NAME(O.uid) AS Owner, c.colid, k.Keyno, 
 			CASE WHEN I.indid BETWEEN 1 AND 254 AND (I.status & 2048 = 2048 OR I.Status = 16402 AND O.XType = 'V') THEN 1 ELSE 0 END AS IsPK,
 			CASE WHEN I.status & 2 = 2 THEN 1 ELSE 0 END AS IsUnique
-			FROM dbo.sysobjects o INNER JOIN dbo.sysindexes I ON o.id = i.id
-			INNER JOIN dbo.sysindexkeys K ON I.id = K.id AND I.Indid = K.Indid
+			FROM dbo.sysobjects o INNER JOIN dbo.sysindexes I ON o.id = i.id 
+			INNER JOIN dbo.sysindexkeys K ON I.id = K.id AND I.Indid = K.Indid 
 			INNER JOIN dbo.syscolumns c ON K.id = C.id AND K.colid = C.Colid
 			WHERE LEFT(i.name, 8) <> '_WA_Sys_' AND o.status >= 0 AND O.Name LIKE $table
 			ORDER BY O.name, I.Name, K.keyno";
@@ -511,7 +511,7 @@
         if ($this->fetchMode !== FALSE) {
         	$savem = $this->SetFetchMode(FALSE);
         }
-
+        
         $rs = $this->Execute($sql);
         if (isset($savem)) {
         	$this->SetFetchMode($savem);
@@ -525,22 +525,22 @@
 		$indexes = array();
 		while ($row = $rs->FetchRow()) {
 			if (!$primary && $row[5]) continue;
-
+			
             $indexes[$row[0]]['unique'] = $row[6];
             $indexes[$row[0]]['columns'][] = $row[1];
     	}
         return $indexes;
 	}
-
+	
 	function MetaForeignKeys($table, $owner=false, $upper=false)
 	{
     	global $ADODB_FETCH_MODE;
-
+	
 		$save = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$table = $this->qstr(strtoupper($table));
-
-		$sql =
+		
+		$sql = 
             "select object_name(constid) as constraint_name,
 	            col_name(fkeyid, fkey) as column_name,
 	            object_name(rkeyid) as referenced_table_name,
@@ -548,20 +548,20 @@
             from sysforeignkeys
             where upper(object_name(fkeyid)) = $table
             order by constraint_name, referenced_table_name, keyno";
-
+		
 		$constraints =& $this->GetArray($sql);
-
+		
 		$ADODB_FETCH_MODE = $save;
-
+		
 		$arr = false;
 		foreach($constraints as $constr) {
 			//print_r($constr);
-			$arr[$constr[0]][$constr[2]][] = $constr[1].'='.$constr[3];
+			$arr[$constr[0]][$constr[2]][] = $constr[1].'='.$constr[3]; 
 		}
 		if (!$arr) return false;
-
+		
 		$arr2 = false;
-
+		
 		foreach($arr as $k => $v) {
 			foreach($v as $a => $b) {
 				if ($upper) $a = strtoupper($a);
@@ -572,8 +572,8 @@
 	}
 
 	//From: Fernando Moreira <FMoreira at imediata.pt>
-	function MetaDatabases()
-	{
+	function MetaDatabases() 
+	{ 
 	    $this->SelectDB("master");
         $rs =& $this->Execute($this->metaDatabasesSQL);
         $rows = $rs->GetRows();
@@ -584,38 +584,38 @@
         $this->SelectDB($this->database);
         if($ret)
             return $ret;
-        else
+        else 
             return false;
-	}
+	} 
 
 	// "Stein-Aksel Basma" <basma at accelero.no>
 	// tested with MSSQL 2000
 	function &MetaPrimaryKeys($table)
 	{
     	global $ADODB_FETCH_MODE;
-
+	
 		$schema = '';
 		$this->_findschema($table,$schema);
 		if (!$schema) $schema = $this->database;
-		if ($schema) $schema = "and k.table_catalog like '$schema%'";
+		if ($schema) $schema = "and k.table_catalog like '$schema%'"; 
 
 		$sql = "select distinct k.column_name,ordinal_position from information_schema.key_column_usage k,
-		information_schema.table_constraints tc
+		information_schema.table_constraints tc 
 		where tc.constraint_name = k.constraint_name and tc.constraint_type =
 		'PRIMARY KEY' and k.table_name = '$table' $schema order by ordinal_position ";
-
+		
 		$savem = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$a = $this->GetCol($sql);
 		$ADODB_FETCH_MODE = $savem;
-
+		
 		if ($a && sizeof($a)>0) return $a;
 		$false = false;
-		return $false;
+		return $false;	  
 	}
 
-
-	function &MetaTables($ttype=false,$showSchema=false,$mask=false)
+	
+	function &MetaTables($ttype=false,$showSchema=false,$mask=false) 
 	{
 	    if ($mask) {
 			$save = $this->metaTablesSQL;
@@ -630,21 +630,21 @@
 		return $ret;
 	}
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
 
-class ADORecordset_mssqlnative extends ADORecordSet {
+class ADORecordset_mssqlnative extends ADORecordSet {	
 
 	var $databaseType = "mssqlnative";
 	var $canSeek = false;
 	var $fieldOffset = 0;
 	// _mths works only in non-localised system
-
+	
 	function ADORecordset_mssqlnative($id,$mode=false)
 	{
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 
@@ -652,11 +652,11 @@
 		$this->fetchMode = $mode;
 		return $this->ADORecordSet($id,$mode);
 	}
-
-
+	
+	
 	function _initrs()
 	{
-	    global $ADODB_COUNTRECS;
+	    global $ADODB_COUNTRECS;	
         if ($this->connection->debug) error_log("(before) ADODB_COUNTRECS: {$ADODB_COUNTRECS} _numOfRows: {$this->_numOfRows} _numOfFields: {$this->_numOfFields}");
         /*$retRowsAff = sqlsrv_rows_affected($this->_queryID);//"If you need to determine the number of rows a query will return before retrieving the actual results, appending a SELECT COUNT ... query would let you get that information, and then a call to next_result would move you to the "real" results."
         error_log("rowsaff: ".serialize($retRowsAff));
@@ -666,8 +666,8 @@
         $this->_numOfFields = ($fieldmeta)? count($fieldmeta):-1;
         if ($this->connection->debug) error_log("(after) _numOfRows: {$this->_numOfRows} _numOfFields: {$this->_numOfFields}");
 	}
+	
 
-
 	//Contributed by "Sven Axelsson" <sven.axelsson at bokochwebb.se>
 	// get next resultset - requires PHP 4.0.5 or later
 	function NextRecordSet()
@@ -691,16 +691,16 @@
 				$this->bind[strtoupper($o->name)] = $i;
 			}
 		}
-
+		
 		return $this->fields[$this->bind[strtoupper($colname)]];
 	}
-
-	/*	Returns: an object containing field information.
+	
+	/*	Returns: an object containing field information. 
 		Get column information in the Recordset object. fetchField() can be used in order to obtain information about
 		fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retrieved by
 		fetchField() is retrieved.	*/
 
-	function &FetchField($fieldOffset = -1)
+	function &FetchField($fieldOffset = -1) 
 	{
         if ($this->connection->debug) error_log("<hr>fetchfield: $fieldOffset, fetch array: <pre>".print_r($this->fields,true)."</pre> backtrace: ".adodb_backtrace(false));
 		if ($fieldOffset != -1) $this->fieldOffset = $fieldOffset;
@@ -717,33 +717,33 @@
         }
 		return $f;
 	}
-
-	function _seek($row)
+	
+	function _seek($row) 
 	{
 		return false;//There is no support for cursors in the driver at this time.  All data is returned via forward-only streams.
 	}
 
 	// speedup
-	function MoveNext()
+	function MoveNext() 
 	{
         if ($this->connection->debug) error_log("movenext()");
         //if ($this->connection->debug) error_log("eof (beginning): ".$this->EOF);
 		if ($this->EOF) return false;
-
+		
 		$this->_currentRow++;
         if ($this->connection->debug) error_log("_currentRow: ".$this->_currentRow);
-
+		
 		if ($this->_fetch()) return true;
 		$this->EOF = true;
         //if ($this->connection->debug) error_log("eof (end): ".$this->EOF);
-
+		
 		return false;
 	}
 
-
+	
 	// INSERT UPDATE DELETE returns false even if no error occurs in 4.0.4
 	// also the date format has been changed from YYYY-mm-dd to dd MMM YYYY in 4.0.4. Idiot!
-	function _fetch($ignore_fields=false)
+	function _fetch($ignore_fields=false) 
 	{
         if ($this->connection->debug) error_log("_fetch()");
 		if ($this->fetchMode & ADODB_FETCH_ASSOC) {
@@ -754,7 +754,7 @@
                 if ($this->connection->debug) error_log("fetch mode: assoc");
 				$this->fields = @sqlsrv_fetch_array($this->_queryID,SQLSRV_FETCH_ASSOC);
 			}
-
+			
 			if (ADODB_ASSOC_CASE == 0) {
 				foreach($this->fields as $k=>$v) {
 					$this->fields[strtolower($k)] = $v;
@@ -768,7 +768,7 @@
             if ($this->connection->debug) error_log("fetch mode: num");
 			$this->fields = @sqlsrv_fetch_array($this->_queryID,SQLSRV_FETCH_NUMERIC);
 		}
-        if(is_array($this->fields) && array_key_exists(1,$this->fields) && !array_key_exists(0,$this->fields)) {//fix fetch numeric keys since they're not 0 based
+        if(is_array($this->fields) && array_key_exists(1,$this->fields) && !array_key_exists(0,$this->fields)) {//fix fetch numeric keys since they're not 0 based 
             $arrFixed = array();
             foreach($this->fields as $key=>$value) {
                 if(is_numeric($key)) {
@@ -791,12 +791,12 @@
         if ($this->connection->debug) error_log("<hr>after _fetch, fields: <pre>".print_r($this->fields,true)." backtrace: ".adodb_backtrace(false));
 		return $this->fields;
 	}
-
+	
     /*	close() only needs to be called if you are worried about using too much memory while your script
 		is running. All associated result memory for the specified result identifier will automatically be freed.	*/
-	function _close()
+	function _close() 
 	{
-		$rez = sqlsrv_free_stmt($this->_queryID);
+		$rez = sqlsrv_free_stmt($this->_queryID);	
 		$this->_queryID = false;
 		return $rez;
 	}
@@ -806,7 +806,7 @@
 	{
 		return ADORecordSet_array_mssqlnative::UnixDate($v);
 	}
-
+	
 	 function UnixTimeStamp($v)
 	{
 		return ADORecordSet_array_mssqlnative::UnixTimeStamp($v);
@@ -815,26 +815,26 @@
 
 
 class ADORecordSet_array_mssqlnative extends ADORecordSet_array {
-	function ADORecordSet_array_mssqlnative($id=-1,$mode=false)
+	function ADORecordSet_array_mssqlnative($id=-1,$mode=false) 
 	{
 		$this->ADORecordSet_array($id,$mode);
 	}
-
+	
 		// mssql uses a default date like Dec 30 2000 12:00AM
 	 function UnixDate($v)
 	{
-
+	
 		if (is_numeric(substr($v,0,1)) && ADODB_PHPVER >= 0x4200) return parent::UnixDate($v);
-
+		
     	global $ADODB_mssql_mths,$ADODB_mssql_date_order;
-
-		//Dec 30 2000 12:00AM
+	
+		//Dec 30 2000 12:00AM 
 		if ($ADODB_mssql_date_order == 'dmy') {
 			if (!preg_match( "|^([0-9]{1,2})[-/\. ]+([A-Za-z]{3})[-/\. ]+([0-9]{4})|" ,$v, $rr)) {
 				return parent::UnixDate($v);
 			}
 			if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+			
 			$theday = $rr[1];
 			$themth =  substr(strtoupper($rr[2]),0,3);
 		} else {
@@ -842,7 +842,7 @@
 				return parent::UnixDate($v);
 			}
 			if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+			
 			$theday = $rr[2];
 			$themth = substr(strtoupper($rr[1]),0,3);
 		}
@@ -851,34 +851,34 @@
 		// h-m-s-MM-DD-YY
 		return  mktime(0,0,0,$themth,$theday,$rr[3]);
 	}
-
+	
 	 function UnixTimeStamp($v)
 	{
-
+	
 		if (is_numeric(substr($v,0,1)) && ADODB_PHPVER >= 0x4200) return parent::UnixTimeStamp($v);
-
+		
 	    global $ADODB_mssql_mths,$ADODB_mssql_date_order;
-
+	
 		//Dec 30 2000 12:00AM
 		 if ($ADODB_mssql_date_order == 'dmy') {
 			 if (!preg_match( "|^([0-9]{1,2})[-/\. ]+([A-Za-z]{3})[-/\. ]+([0-9]{4}) +([0-9]{1,2}):([0-9]{1,2}) *([apAP]{0,1})|"
 			,$v, $rr)) return parent::UnixTimeStamp($v);
 			if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+		
 			$theday = $rr[1];
 			$themth =  substr(strtoupper($rr[2]),0,3);
 		} else {
 			if (!preg_match( "|^([A-Za-z]{3})[-/\. ]+([0-9]{1,2})[-/\. ]+([0-9]{4}) +([0-9]{1,2}):([0-9]{1,2}) *([apAP]{0,1})|"
 			,$v, $rr)) return parent::UnixTimeStamp($v);
 			if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+		
 			$theday = $rr[2];
 			$themth = substr(strtoupper($rr[1]),0,3);
 		}
-
+		
 		$themth = $ADODB_mssql_mths[$themth];
 		if ($themth <= 0) return false;
-
+		
 		switch (strtoupper($rr[6])) {
 		case 'P':
 			if ($rr[4]<12) $rr[4] += 12;
@@ -898,7 +898,7 @@
 Code Example 1:
 
 select 	object_name(constid) as constraint_name,
-       	object_name(fkeyid) as table_name,
+       	object_name(fkeyid) as table_name, 
         col_name(fkeyid, fkey) as column_name,
 	object_name(rkeyid) as referenced_table_name,
    	col_name(rkeyid, rkey) as referenced_column_name
@@ -918,4 +918,4 @@
 http://www.databasejournal.com/scripts/article.php/1440551
 */
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssqlpo.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssqlpo.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mssqlpo.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -18,13 +18,13 @@
 	The big difference between mssqlpo and it's parent mssql is that mssqlpo supports
 	the more standard || string concatenation operator.
 */
-
+	
 include_once(ADODB_DIR.'/drivers/adodb-mssql.inc.php');
 
 class ADODB_mssqlpo extends ADODB_mssql {
 	var $databaseType = "mssqlpo";
-	var $concat_operator = '||';
-
+	var $concat_operator = '||'; 
+	
 	function ADODB_mssqlpo()
 	{
 		ADODB_mssql::ADODB_mssql();
@@ -41,7 +41,7 @@
 		if (!$stmt)  return $sql;
 		return array($sql,$stmt);
 	}
-
+	
 	function _query($sql,$inputarr)
 	{
 		if (is_string($sql)) $sql = str_replace('||','+',$sql);
@@ -56,4 +56,4 @@
 		$this->ADORecordset_mssql($id,$mode);
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysql.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysql.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysql.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -38,7 +38,7 @@
 	var $nameQuote = '`';		/// string to use to quote identifiers and names
 
 	function ADODB_mysql()
-	{
+	{	
 	}
 
 	function ServerInfo()
@@ -73,50 +73,50 @@
 	{
         // 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);
         }
-
+      
         // get index details
         $rs = $this->Execute(sprintf('SHOW INDEX FROM %s',$table));
-
+      
         // restore fetchmode
         if (isset($savem)) {
                 $this->SetFetchMode($savem);
         }
         $ADODB_FETCH_MODE = $save;
-
+      
         if (!is_object($rs)) {
                 return FALSE;
         }
-
+      
         $indexes = array ();
-
+      
         // parse index data into array
         while ($row = $rs->FetchRow()) {
                 if ($primary == FALSE AND $row[2] == 'PRIMARY') {
                         continue;
                 }
-
+              
                 if (!isset($indexes[$row[2]])) {
                         $indexes[$row[2]] = array(
                                 'unique' => ($row[1] == 0),
                                 'columns' => array()
                         );
                 }
-
+              
                 $indexes[$row[2]]['columns'][$row[3] - 1] = $row[4];
         }
-
+      
         // sort columns by order in the index
         foreach ( array_keys ($indexes) as $index )
         {
                 ksort ($indexes[$index]['columns']);
         }
-
+      
         return $indexes;
 	}
 
@@ -238,7 +238,7 @@
 			case 'Q':
 			case 'q':
 				$s .= "'),Quarter($col)";
-
+		
 				if ($len > $i+1) $s .= ",DATE_FORMAT($col,'";
 				else $s .= ",('";
 				$concat = true;
@@ -246,7 +246,7 @@
 			case 'M':
 				$s .= '%b';
 				break;
-
+		
 			case 'm':
 				$s .= '%m';
 				break;
@@ -254,30 +254,30 @@
 			case 'd':
 				$s .= '%d';
 				break;
-
+	
 			case 'H':
 				$s .= '%H';
 				break;
-
+		
 			case 'h':
 				$s .= '%I';
 				break;
-
+		
 			case 'i':
 				$s .= '%i';
 				break;
-
+		
 			case 's':
 				$s .= '%s';
 				break;
-
+		
 			case 'a':
 			case 'A':
 				$s .= '%p';
 				break;
-
+		
 			default:
-
+		
 				if ($ch == '\\') {
 					$i++;
 					$ch = substr($fmt,$i,1);
@@ -356,21 +356,21 @@
 			$save = $ADODB_FETCH_MODE;
 			$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 			if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-
+	
 			$rs = $this->Execute(sprintf($this->metaColumnsSQL,$table));
-
+	
 			if (isset($savem)) $this->SetFetchMode($savem);
 			$ADODB_FETCH_MODE = $save;
-
+	
 			if ($rs === false) return false;
-
+	
 			$retarr = array();
 			while (!$rs->EOF){
 				$fld = new ADOFieldObject();
 				$fld->name = $rs->fields[0];
 				$type = $rs->fields[1];
-
-
+		
+		
 				// split type into type(length):
 				$fld->scale = null;
 				if (strpos($type,',') && preg_match("/^(.+)\((\d+),(\d+)/", $type, $query_array)) {
@@ -397,7 +397,7 @@
 				$fld->primary_key = ($rs->fields[3] == 'PRI');
 				$fld->auto_increment = (strpos($rs->fields[5], 'auto_increment') !== false);
 				$fld->binary = (strpos($fld->type,'blob') !== false);
-
+		
 				if (!$fld->binary) {
 					$d = $rs->fields[4];
 					if ($d != "" && $d != "NULL") {
@@ -545,7 +545,7 @@
 			$o->max_length = @mysql_field_len($this->_queryID); // suggested by: Jim Nicholson (jnich at att.com)
 			//$o->max_length = -1; // mysql returns the max length less spaces -- so it is unrealiable
 		}
-
+	
 		return $o;
 	}
 
@@ -585,7 +585,7 @@
 	//global $ADODB_EXTENSION;if ($ADODB_EXTENSION) return adodb_movenext($this);
 
 		if ($this->EOF) return false;
-
+		
 		$this->_currentRow++;
 		$this->fields = @mysql_fetch_array($this->_queryID,$this->fetchMode);
 		if (is_array($this->fields)) return true;
@@ -631,12 +631,12 @@
 		case 'ENUM':
 		case 'SET':
 			if ($len <= $this->blobSize) return 'C';
-
+	
 		case 'TEXT':
 		case 'LONGTEXT':
 		case 'MEDIUMTEXT':
 			return 'X';
-
+	
 		// php_mysql extension always returns 'blob' even if 'text'
 		// so we have to check whether binary...
 		case 'IMAGE':
@@ -644,7 +644,7 @@
 		case 'BLOB':
 		case 'MEDIUMBLOB':
 			return !empty($fieldobj->binary) ? 'B' : 'X';
-
+	
 		case 'YEAR':
 		case 'DATE': return 'D';
 
@@ -658,7 +658,7 @@
 		case 'TINYINT':
 		case 'MEDIUMINT':
 		case 'SMALLINT':
-
+	
 			if (!empty($fieldobj->primary_key)) return 'R';
 			else return 'I';
 
@@ -675,5 +675,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysqli.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysqli.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysqli.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,26 +1,26 @@
 <?php
 /*
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
-
+  
   MySQL code that does not support transactions. Use mysqlt if you need transactions.
   Requires mysql client. Works on Windows and Unix.
-
+ 
 21 October 2003: MySQLi extension implementation by Arjen de Rijke (a.de.rijke at xs4all.nl)
 Based on adodb 3.40
-*/
+*/ 
 if (! defined("_ADODB_MYSQL_LAYER")) {
  define("_ADODB_MYSQL_LAYER", 1 );
-
+ 
 class ADODB_mysqli extends ADOConnection {
 	var $databaseType = 'mysqli';
 	var $dataProvider = 'native';
 	var $hasInsertID = true;
-	var $hasAffectedRows = true;
-	var $metaTablesSQL = "SHOW TABLES";
+	var $hasAffectedRows = true;	
+	var $metaTablesSQL = "SHOW TABLES";	
 	var $metaColumnsSQL = "SHOW COLUMNS FROM %s";
 	var $fmtTimeStamp = "'Y-m-d H:i:s'";
 	var $hasLimit = true;
@@ -38,48 +38,48 @@
 	var $substr = "substring";
 	var $nameQuote = '`';		/// string to use to quote identifiers and names
 	//var $_bindInputArray = true;
-
-	function ADODB_mysqli()
-	{
+	
+	function ADODB_mysqli() 
+	{			
 	  if(!extension_loaded("mysqli"))
 	    {
 	      trigger_error("You must have the MySQLi extension.", E_USER_ERROR);
 	    }
 	}
-
-	function IfNull( $field, $ifNull )
+	
+	function IfNull( $field, $ifNull ) 
 	{
 		return " IFNULL($field, $ifNull) "; // if MySQL
 	}
-
+	
 	function ServerInfo()
 	{
 		$arr['description'] = $this->GetOne("select version()");
 		$arr['version'] = ADOConnection::_findvers($arr['description']);
 		return $arr;
 	}
-
-
+	
+	
 	function BeginTrans()
-	{
+	{	  
 		if ($this->transOff) return true;
 		$this->transCnt += 1;
 		$this->Execute('SET AUTOCOMMIT=0');
 		$this->Execute('BEGIN');
 		return true;
 	}
-
-	function CommitTrans($ok=true)
+	
+	function CommitTrans($ok=true) 
 	{
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
 		if (!$ok) return $this->RollbackTrans();
-
+		
 		if ($this->transCnt) $this->transCnt -= 1;
 		$this->Execute('COMMIT');
 		$this->Execute('SET AUTOCOMMIT=1');
 		return true;
 	}
-
+	
 	function RollbackTrans()
 	{
 		if ($this->transOff) return true;
@@ -88,14 +88,14 @@
 		$this->Execute('SET AUTOCOMMIT=1');
 		return true;
 	}
-
+	
 	// 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
-	// parameter may look funny, but the idea is if you are quoting a
-	// string extracted from a POST/GET variable, then
-	// pass get_magic_quotes_gpc() as the second parameter. This will
-	// ensure that the variable is not quoted twice, once by qstr and once
+	// parameter may look funny, but the idea is if you are quoting a 
+	// string extracted from a POST/GET variable, then 
+	// pass get_magic_quotes_gpc() as the second parameter. This will 
+	// ensure that the variable is not quoted twice, once by qstr and once 
 	// by the magic_quotes_gpc.
 	//
 	//Eg. $s = $db->qstr(HTTP_GET_VARS['name'],get_magic_quotes_gpc());
@@ -110,18 +110,18 @@
 	      {
 		trigger_error("phpver < 5 not implemented", E_USER_ERROR);
 	      }
-
+	    
 	    if ($this->replaceQuote[0] == '\\')
 	      {
 		$s = adodb_str_replace(array('\\',"\0"),array('\\\\',"\\\0"),$s);
 	      }
-	    return  "'".str_replace("'",$this->replaceQuote,$s)."'";
+	    return  "'".str_replace("'",$this->replaceQuote,$s)."'"; 
 	  }
 	  // undo magic quotes for "
 	  $s = str_replace('\\"','"',$s);
 	  return "'$s'";
 	}
-
+	
 	function _insertid()
 	{
 //	  $this->_connectionID = $this->mysqli_resolve_link($this->_connectionID);
@@ -131,7 +131,7 @@
 	  }
 	  return $result;
 	}
-
+	
 	// Only works for INSERT, UPDATE and DELETE query's
 	function _affectedrows()
 	{
@@ -142,29 +142,29 @@
 	  }
 	  return $result;
 	}
-
+  
  	// See http://www.mysql.com/doc/M/i/Miscellaneous_functions.html
 	// Reference on Last_Insert_ID on the recommended way to simulate sequences
  	var $_genIDSQL = "update %s set id=LAST_INSERT_ID(id+1);";
 	var $_genSeqSQL = "create table %s (id int not null)";
 	var $_genSeq2SQL = "insert into %s values (%s)";
 	var $_dropSeqSQL = "drop table %s";
-
+	
 	function CreateSequence($seqname='adodbseq',$startID=1)
 	{
 		if (empty($this->_genSeqSQL)) return false;
 		$u = strtoupper($seqname);
-
+		
 		$ok = $this->Execute(sprintf($this->_genSeqSQL,$seqname));
 		if (!$ok) return false;
 		return $this->Execute(sprintf($this->_genSeq2SQL,$seqname,$startID-1));
 	}
-
+	
 	function GenID($seqname='adodbseq',$startID=1)
 	{
 		// post-nuke sets hasGenID to false
 		if (!$this->hasGenID) return false;
-
+		
 		$getnext = sprintf($this->_genIDSQL,$seqname);
 		$holdtransOK = $this->_transOK; // save the current status
 		$rs = @$this->Execute($getnext);
@@ -176,12 +176,12 @@
 			$rs = $this->Execute($getnext);
 		}
 		$this->genID = mysqli_insert_id($this->_connectionID);
-
+		
 		if ($rs) $rs->Close();
-
+		
 		return $this->genID;
 	}
-
+	
   	function &MetaDatabases()
 	  {
 	    $query = "SHOW DATABASES";
@@ -189,62 +189,62 @@
 		return $ret;
 	  }
 
-
+	  
 	function &MetaIndexes ($table, $primary = 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);
 	        }
-
+	        
 	        // get index details
 	        $rs = $this->Execute(sprintf('SHOW INDEXES FROM %s',$table));
-
+	        
 	        // restore fetchmode
 	        if (isset($savem)) {
 	                $this->SetFetchMode($savem);
 	        }
 	        $ADODB_FETCH_MODE = $save;
-
+	        
 	        if (!is_object($rs)) {
 	                return FALSE;
 	        }
-
+	        
 	        $indexes = array ();
-
+	        
 	        // parse index data into array
 	        while ($row = $rs->FetchRow()) {
 	                if ($primary == FALSE AND $row[2] == 'PRIMARY') {
 	                        continue;
 	                }
-
+	                
 	                if (!isset($indexes[$row[2]])) {
 	                        $indexes[$row[2]] = array(
 	                                'unique' => ($row[1] == 0),
 	                                'columns' => array()
 	                        );
 	                }
-
+	                
 	                $indexes[$row[2]]['columns'][$row[3] - 1] = $row[4];
 	        }
-
+	        
 	        // sort columns by order in the index
 	        foreach ( array_keys ($indexes) as $index )
 	        {
 	                ksort ($indexes[$index]['columns']);
 	        }
-
+	        
 	        return $indexes;
 	}
 
-
+	
 	// Format date column in sql string given an input format that understands Y M D
 	function SQLDate($fmt, $col=false)
-	{
+	{	
 		if (!$col) $col = $this->sysTimeStamp;
 		$s = 'DATE_FORMAT('.$col.",'";
 		$concat = false;
@@ -259,7 +259,7 @@
 			case 'Q':
 			case 'q':
 				$s .= "'),Quarter($col)";
-
+				
 				if ($len > $i+1) $s .= ",DATE_FORMAT($col,'";
 				else $s .= ",('";
 				$concat = true;
@@ -267,7 +267,7 @@
 			case 'M':
 				$s .= '%b';
 				break;
-
+				
 			case 'm':
 				$s .= '%m';
 				break;
@@ -275,30 +275,30 @@
 			case 'd':
 				$s .= '%d';
 				break;
-
-			case 'H':
+			
+			case 'H': 
 				$s .= '%H';
 				break;
-
+				
 			case 'h':
 				$s .= '%I';
 				break;
-
+				
 			case 'i':
 				$s .= '%i';
 				break;
-
+				
 			case 's':
 				$s .= '%s';
 				break;
-
+				
 			case 'a':
 			case 'A':
 				$s .= '%p';
 				break;
-
+				
 			default:
-
+				
 				if ($ch == '\\') {
 					$i++;
 					$ch = substr($fmt,$i,1);
@@ -311,43 +311,43 @@
 		if ($concat) $s = "CONCAT($s)";
 		return $s;
 	}
-
+	
 	// returns concatenated string
 	// much easier to run "mysqld --ansi" or "mysqld --sql-mode=PIPES_AS_CONCAT" and use || operator
 	function Concat()
 	{
 		$s = "";
 		$arr = func_get_args();
-
+		
 		// suggestion by andrew005 at mnogo.ru
-		$s = implode(',',$arr);
+		$s = implode(',',$arr); 
 		if (strlen($s) > 0) return "CONCAT($s)";
 		else return '';
 	}
-
+	
 	// dayFraction is a day in floating point
 	function OffsetDate($dayFraction,$date=false)
-	{
-		if (!$date)
+	{		
+		if (!$date) 
 		  $date = $this->sysDate;
 		return "from_unixtime(unix_timestamp($date)+($dayFraction)*24*3600)";
 	}
-
+	
 	// returns true or false
 	// To add: parameter int $port,
 	//         parameter string $socket
-	function _connect($argHostname = NULL,
-			  $argUsername = NULL,
-			  $argPassword = NULL,
+	function _connect($argHostname = NULL, 
+			  $argUsername = NULL, 
+			  $argPassword = NULL, 
 			  $argDatabasename = NULL)
 	  {
 	    // @ means: error surpression on
 	    $this->_connectionID = @mysqli_init();
-
+	    
 	    if (is_null($this->_connectionID))
 	    {
 	      // mysqli_init only fails if insufficient memory
-	      if ($this->debug)
+	      if ($this->debug) 
 		ADOConnection::outp("mysqli_init() failed : "  . $this->ErrorMsg());
 	      return false;
 	    }
@@ -360,21 +360,21 @@
  				    $argPassword,
  				    $argDatabasename))
  	      {
- 		if ($argDatabasename)
+ 		if ($argDatabasename) 
 		  {
 		    return $this->SelectDB($argDatabasename);
 		  }
-
+		
  		return true;
  	      }
  	    else
 	      {
-		if ($this->debug)
+		if ($this->debug) 
 		  ADOConnection::outp("Could't connect : "  . $this->ErrorMsg());
 		return false;
 	      }
 	  }
-
+	
 	// returns true or false
 	// How to force a persistent connection
 	function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
@@ -387,18 +387,18 @@
 	    if ($this->_connectionID === false) return false;
 	    //	    if ($this->autoRollback) $this->RollbackTrans();
 	    if ($argDatabasename) return $this->SelectDB($argDatabasename);
-	    return true;
+	    return true;	
 	  }
-
+	
 	// When is this used? Close old connection first?
-	// In _connect(), check $this->forceNewConnect?
+	// In _connect(), check $this->forceNewConnect? 
 	function _nconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	  {
 	    $this->forceNewConnect = true;
 	    $this->_connect($argHostname, $argUsername, $argPassword, $argDatabasename);
 	  }
-
- 	function &MetaColumns($table)
+	
+ 	function &MetaColumns($table) 
 	{
 	  if ($this->metaColumnsSQL) {
 	    global $ADODB_FETCH_MODE;
@@ -410,7 +410,7 @@
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$rs = $this->Execute(sprintf($this->metaColumnsSQL,
 					     $table));
-
+		
 		$ADODB_FETCH_MODE = $save;
 		if ($rs === false) break;
 		$retarr = array();
@@ -432,7 +432,7 @@
 		  $fld->primary_key = ($rs->fields[3] == 'PRI');
 		  $fld->auto_increment = (strpos($rs->fields[5], 'auto_increment') !== false);
 		  $fld->binary = (strpos($fld->type,'blob') !== false);
-		  if (!$fld->binary)
+		  if (!$fld->binary) 
 		    {
 		      $d = $rs->fields[4];
 		      $d = $rs->fields['Default'];
@@ -440,13 +440,13 @@
 			{
 			  $fld->has_default = true;
 			  $fld->default_value = $d;
-			}
-		      else
+			} 
+		      else 
 			{
 			  $fld->has_default = false;
 			}
 		    }
-		  $retarr[strtoupper($fld->name)] = $fld;
+		  $retarr[strtoupper($fld->name)] = $fld;	
 		  $rs->MoveNext();
 		}
 		break;
@@ -463,7 +463,7 @@
 		  $fld = new ADOFieldObject();
 		  $fld->name = $rs->fields['Field'];
 		  $fld->type = $rs->fields['Type'];
-
+				
 		  // split type into type(length):
 		  if (preg_match("/^(.+)\((\d+)\)$/", $fld->type, $query_array))
 		    {
@@ -478,35 +478,35 @@
 		  $fld->primary_key = ($rs->fields['Key'] == 'PRI');
 		  $fld->auto_increment = (strpos($rs->fields['Extra'], 'auto_increment') !== false);
 		  $fld->binary = (strpos($fld->type,'blob') !== false);
-		  if (!$fld->binary)
+		  if (!$fld->binary) 
 		    {
 		      $d = $rs->fields['Default'];
 		      if ($d != "" && $d != "NULL")
 			{
 			  $fld->has_default = true;
 			  $fld->default_value = $d;
-			}
-		      else
+			} 
+		      else 
 			{
 			  $fld->has_default = false;
 			}
 		    }
-		  $retarr[strtoupper($fld->name)] = $fld;
+		  $retarr[strtoupper($fld->name)] = $fld;	
 		  $rs->MoveNext();
 		}
 		break;
 	      default:
 	      }
-
+	    
 	    if ($rs === false) return false;
 	    $rs->Close();
-	    return $retarr;
+	    return $retarr;	
 	  }
 	  return false;
 	}
-
+		
 	// returns true or false
-	function SelectDB($dbName)
+	function SelectDB($dbName) 
 	{
 //	    $this->_connectionID = $this->mysqli_resolve_link($this->_connectionID);
 	    $this->databaseName = $dbName;
@@ -515,52 +515,52 @@
 			if (!$result) {
 		    	ADOConnection::outp("Select of database " . $dbName . " failed. " . $this->ErrorMsg());
 			}
-			return $result;
+			return $result;		
 		}
-	    return false;
+	    return false;	
 	}
-
+	
 	// parameters use PostgreSQL convention, not MySQL
 	function &SelectLimit($sql,
 			      $nrows = -1,
 			      $offset = -1,
-			      $inputarr = false,
+			      $inputarr = false, 
 			      $arg3 = false,
 			      $secs = 0)
 	{
 		$offsetStr = ($offset >= 0) ? "$offset," : '';
-
+		
 		if ($secs)
 			$rs =& $this->CacheExecute($secs, $sql . " LIMIT $offsetStr$nrows" , $inputarr , $arg3);
 		else
 			$rs =& $this->Execute($sql . " LIMIT $offsetStr$nrows" , $inputarr , $arg3);
-
+			
 		return $rs;
 	}
-
-
+	
+	
 	function Prepare($sql)
 	{
 		return $sql;
-
+		
 		$stmt = mysqli_prepare($this->_connectionID,$sql);
 		if (!$stmt) return false;
 		return array($sql,$stmt);
 	}
-
-
+	
+	
 	// returns queryID or false
 	function _query($sql, $inputarr)
 	{
 	global $ADODB_COUNTRECS;
-
+	
 		if (is_array($sql)) {
 			$stmt = $sql[1];
 			foreach($inputarr as $k => $v) {
 				if (is_string($v)) $a[] = MYSQLI_BIND_STRING;
-				else if (is_integer($v)) $a[] = MYSQLI_BIND_INT;
+				else if (is_integer($v)) $a[] = MYSQLI_BIND_INT; 
 				else $a[] = MYSQLI_BIND_DOUBLE;
-
+				
 				$fnarr =& array_merge( array($stmt,$a) , $inputarr);
 				$ret = call_user_func_array('mysqli_bind_param',$fnarr);
 			}
@@ -571,29 +571,29 @@
 		    if ($this->debug) ADOConnection::outp("Query: " . $sql . " failed. " . $this->ErrorMsg());
 		    return false;
 		}
-
+		
 		return $mysql_res;
 	}
 
-	/*	Returns: the last error message from previous database operation	*/
-	function ErrorMsg()
+	/*	Returns: the last error message from previous database operation	*/	
+	function ErrorMsg() 
 	  {
-	    if (empty($this->_connectionID))
+	    if (empty($this->_connectionID)) 
 	      $this->_errorMsg = @mysqli_error();
-	    else
+	    else 
 	      $this->_errorMsg = @mysqli_error($this->_connectionID);
 	    return $this->_errorMsg;
 	  }
-
-	/*	Returns: the last error number from previous database operation	*/
-	function ErrorNo()
+	
+	/*	Returns: the last error number from previous database operation	*/	
+	function ErrorNo() 
 	  {
-	    if (empty($this->_connectionID))
+	    if (empty($this->_connectionID))  
 	      return @mysqli_errno();
-	    else
+	    else 
 	      return @mysqli_errno($this->_connectionID);
 	  }
-
+	
 	// returns true or false
 	function _close()
 	  {
@@ -606,53 +606,53 @@
 	*/
 	function CharMax()
 	{
-		return 255;
+		return 255; 
 	}
-
+	
 	/*
 	* Maximum size of X field
 	*/
 	function TextMax()
 	{
-	  return 4294967295;
+	  return 4294967295; 
 	}
 
 
 }
-
+ 
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
 
-class ADORecordSet_mysqli extends ADORecordSet{
-
+class ADORecordSet_mysqli extends ADORecordSet{	
+	
 	var $databaseType = "mysqli";
 	var $canSeek = true;
-
-	function ADORecordSet_mysqli($queryID, $mode = false)
+	
+	function ADORecordSet_mysqli($queryID, $mode = false) 
 	{
-	  if ($mode === false)
-	    {
+	  if ($mode === false) 
+	    { 
 	      global $ADODB_FETCH_MODE;
 	      $mode = $ADODB_FETCH_MODE;
 	    }
 	  switch ($mode)
 	    {
-	    case ADODB_FETCH_NUM:
-	      $this->fetchMode = MYSQLI_NUM;
+	    case ADODB_FETCH_NUM: 
+	      $this->fetchMode = MYSQLI_NUM; 
 	      break;
 	    case ADODB_FETCH_ASSOC:
-	      $this->fetchMode = MYSQLI_ASSOC;
+	      $this->fetchMode = MYSQLI_ASSOC; 
 	      break;
 	    case ADODB_FETCH_DEFAULT:
 	    case ADODB_FETCH_BOTH:
 	    default:
-	      $this->fetchMode = MYSQLI_ASSOC;
+	      $this->fetchMode = MYSQLI_ASSOC; 
 	      break;
 	    }
-	  $this->ADORecordSet($queryID);
+	  $this->ADORecordSet($queryID);	
 	}
-
+	
 	function _initrs()
 	{
 	    // mysqli_num_rows only return correct number, depens
@@ -666,9 +666,9 @@
 			$this->_numOfFields = 0;
 	    }
 	}
-
-	function &FetchField($fieldOffset = -1)
-	{
+	
+	function &FetchField($fieldOffset = -1) 
+	{	
 	  $fieldnr = $fieldOffset;
 	  if ($fieldOffset != -1) {
 	    $fieldOffset = mysqi_field_seek($this->_queryID, $fieldnr);
@@ -679,18 +679,18 @@
 
 	function &GetRowAssoc($upper = true)
 	{
-	  if ($this->fetchMode == MYSQLI_ASSOC && !$upper)
+	  if ($this->fetchMode == MYSQLI_ASSOC && !$upper) 
 	    return $this->fields;
 	  $row =& ADORecordSet::GetRowAssoc($upper);
 	  return $row;
 	}
-
+	
 	/* Use associative array to get fields array */
 	function Fields($colname)
-	{
-	  if ($this->fetchMode != MYSQLI_NUM)
+	{	
+	  if ($this->fetchMode != MYSQLI_NUM) 
 	    return @$this->fields[$colname];
-
+		
 	  if (!$this->bind) {
 	    $this->bind = array();
 	    for ($i = 0; $i < $this->_numOfFields; $i++) {
@@ -700,10 +700,10 @@
 	  }
 	  return $this->fields[$this->bind[strtoupper($colname)]];
 	}
-
+	
 	function _seek($row)
 	{
-	  if ($this->_numOfRows == 0)
+	  if ($this->_numOfRows == 0) 
 	    return false;
 
 	  if ($row < 0)
@@ -713,13 +713,13 @@
 	  $this->EOF = false;
 	  return true;
 	}
-
+		
 	// 10% speedup to move MoveNext to child class
 	// This is the only implementation that works now (23-10-2003).
 	// Other functions return no or the wrong results.
-	function MoveNext()
+	function MoveNext() 
 	{
-	  if ($this->EOF)
+	  if ($this->EOF) 
 	    return false;
 	  $this->_currentRow++;
 	  switch($this->fetchMode)
@@ -733,12 +733,12 @@
 	      break;
 	    default:
 	    }
-	  if (is_array($this->fields))
+	  if (is_array($this->fields)) 
 	    return true;
 	  $this->EOF = true;
 	  return false;
-	}
-
+	}	
+	
 	function _fetch()
 	{
 	  // mysqli_fetch_array($this->_queryID, MYSQLI_NUM) does not
@@ -747,64 +747,64 @@
 
 	  //	  $this->fields =  mysqli_fetch_fields($this->_queryID);
 	  //	  $this->fields =  mysqli_fetch_array($this->_queryID); //, $this->fetchMode);
-
+		  
 	  $this->fields =  mysqli_fetch_assoc($this->_queryID); // $this->fetchMode);
 	  return is_array($this->fields);
 	}
-
-	function _close()
+	
+	function _close() 
 	{
-	  mysqli_free_result($this->_queryID);
-	  $this->_queryID = false;
+	  mysqli_free_result($this->_queryID); 
+	  $this->_queryID = false;	
 	}
-
+	
 	function MetaType($t, $len = -1, $fieldobj = false)
 	{
-	  if (is_object($t))
+	  if (is_object($t)) 
 	    {
 	      $fieldobj = $t;
 	      $t = $fieldobj->type;
 	      $len = $fieldobj->max_length;
 	    }
-
+		
 	  $len = -1; // mysql max_length is not accurate
 	  switch (strtoupper($t)) {
-	  case 'STRING':
+	  case 'STRING': 
 	  case 'CHAR':
-	  case 'VARCHAR':
-	  case 'TINYBLOB':
-	  case 'TINYTEXT':
-	  case 'ENUM':
-	  case 'SET':
+	  case 'VARCHAR': 
+	  case 'TINYBLOB': 
+	  case 'TINYTEXT': 
+	  case 'ENUM': 
+	  case 'SET': 
 	    if ($len <= $this->blobSize) return 'C';
-
+	    
 	  case 'TEXT':
-	  case 'LONGTEXT':
+	  case 'LONGTEXT': 
 	  case 'MEDIUMTEXT':
 	    return 'X';
-
+			
 	    // php_mysql extension always returns 'blob' even if 'text'
 	    // so we have to check whether binary...
 	  case 'IMAGE':
-	  case 'LONGBLOB':
+	  case 'LONGBLOB': 
 	  case 'BLOB':
 	  case 'MEDIUMBLOB':
 	    return !empty($fieldobj->binary) ? 'B' : 'X';
 	  case 'YEAR':
-	  case 'DATE':
+	  case 'DATE': 
 	    return 'D';
-
+		
 	  case 'TIME':
 	  case 'DATETIME':
 	  case 'TIMESTAMP': return 'T';
-
-	  case 'INT':
+		
+	  case 'INT': 
 	  case 'INTEGER':
 	  case 'BIGINT':
 	  case 'TINYINT':
 	  case 'MEDIUMINT':
-	  case 'SMALLINT':
-
+	  case 'SMALLINT': 
+			
 	    if (!empty($fieldobj->primary_key)) return 'R';
 	    else return 'I';
 	    // Added floating-point types
@@ -815,14 +815,14 @@
 	  case 'DECIMAL':
 	  case 'DEC':
 	  case 'FIXED':
-	  default:
+	  default: 
 	    return 'N';
 	  }
 	}
+	
 
-
 }
-
+ 
 }
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysqlt.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysqlt.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-mysqlt.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -2,14 +2,14 @@
 
 /*
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
-
+  
   MySQL code that supports transactions. For MySQL 3.23 or later.
   Code from James Poon <jpoon88 at yahoo.com>
-
+  
   Requires mysql client. Works on Windows and Unix.
 */
 
@@ -21,27 +21,27 @@
 	var $databaseType = 'mysqlt';
 	var $ansiOuter = true; // for Version 3.23.17 or later
 	var $hasTransactions = true;
-
+	
 	function BeginTrans()
-	{
+	{	  
 		if ($this->transOff) return true;
 		$this->transCnt += 1;
 		$this->Execute('SET AUTOCOMMIT=0');
 		$this->Execute('BEGIN');
 		return true;
 	}
-
-	function CommitTrans($ok=true)
+	
+	function CommitTrans($ok=true) 
 	{
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
 		if (!$ok) return $this->RollbackTrans();
-
+		
 		if ($this->transCnt) $this->transCnt -= 1;
 		$this->Execute('COMMIT');
 		$this->Execute('SET AUTOCOMMIT=1');
 		return true;
 	}
-
+	
 	function RollbackTrans()
 	{
 		if ($this->transOff) return true;
@@ -50,18 +50,18 @@
 		$this->Execute('SET AUTOCOMMIT=1');
 		return true;
 	}
-
+	
 }
 
-class ADORecordSet_mysqlt extends ADORecordSet_mysql{
+class ADORecordSet_mysqlt extends ADORecordSet_mysql{	
 	var $databaseType = "mysqlt";
-
+	
 	function ADORecordSet_mysqlt($queryID,$mode=false) {
 		return $this->ADORecordSet_mysql($queryID,$mode);
 	}
-
-	function MoveNext()
-	{
+	
+	function MoveNext() 
+	{	
 		if ($this->EOF) return false;
 
 		$this->_currentRow++;
@@ -69,8 +69,8 @@
 		$this->fields =  @mysql_fetch_array($this->_queryID,$this->fetchMode);
 		if ($this->fields) return true;
 		$this->EOF = true;
-
+		
 		return false;
-	}
+	}	
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-netezza.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-netezza.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-netezza.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,7 +1,7 @@
 <?php
 /*
   V4.22 15 Apr 2004  (c) 2000-2004 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.
  http://www.netezza.com/
@@ -19,7 +19,7 @@
 include_once(ADODB_DIR.'/drivers/adodb-postgres64.inc.php');
 
 class ADODB_netezza extends ADODB_postgres64 {
-    var $databaseType = 'netezza';
+    var $databaseType = 'netezza';	
 	var $dataProvider = 'netezza';
 	var $hasInsertID = false;
 	var $_resultid = false;
@@ -34,11 +34,11 @@
 	var $blobEncodeType = 'C';
 	var $metaColumnsSQL = "SELECT attname, atttype FROM _v_relation_column_def WHERE name = '%s' AND attnum > 0 ORDER BY attnum";
 	var $metaColumnsSQL1 = "SELECT attname, atttype FROM _v_relation_column_def WHERE name = '%s' AND attnum > 0 ORDER BY attnum";
-	// netezza doesn't have keys. it does have distributions, so maybe this is
+	// netezza doesn't have keys. it does have distributions, so maybe this is 
 	// something that can be pulled from the system tables
 	var $metaKeySQL = "";
 	var $hasAffectedRows = true;
-	var $hasLimit = true;
+	var $hasLimit = true;	
 	var $true = 't';		// string that represents TRUE for a database
 	var $false = 'f';		// string that represents FALSE for a database
 	var $fmtDate = "'Y-m-d'";	// used by DBDate() as the default date format used by the database
@@ -47,52 +47,52 @@
 	var $autoRollback = true; // apparently pgsql does not autorollback properly before 4.3.4
 							// http://bugs.php.net/bug.php?id=25404
 
-
-	function ADODB_netezza()
+							
+	function ADODB_netezza() 
 	{
-
+	
 	}
-
-	function &MetaColumns($table,$upper=true)
+	
+	function &MetaColumns($table,$upper=true) 
 	{
-
+	
 	// Changed this function to support Netezza which has no concept of keys
 	// could posisbly work on other things from the system table later.
-
+	
 	global $ADODB_FETCH_MODE;
-
+	
 		$table = strtolower($table);
 
 		$save = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-
+		
 		$rs =& $this->Execute(sprintf($this->metaColumnsSQL,$table,$table));
 		if (isset($savem)) $this->SetFetchMode($savem);
 		$ADODB_FETCH_MODE = $save;
-
+		
 		if ($rs === false) return false;
 
 		$retarr = array();
-		while (!$rs->EOF) {
+		while (!$rs->EOF) { 	
 			$fld = new ADOFieldObject();
 			$fld->name = $rs->fields[0];
-
-			// since we're returning type and length as one string,
+			
+			// since we're returning type and length as one string, 
 			// split them out here.
-
+			
 			if ($first = strstr($rs->fields[1], "(")) {
 			 $fld->max_length = trim($first, "()");
 			} else {
 			 $fld->max_length = -1;
 			}
-
+		
 			if ($first = strpos($rs->fields[1], "(")) {
 			 $fld->type = substr($rs->fields[1], 0, $first);
 			} else {
 			 $fld->type = $rs->fields[1];
 			}
-
+			
 			switch ($fld->type) {
 			 case "byteint":
 			 case "boolean":
@@ -116,20 +116,20 @@
 			 $fld->max_length = 12;
 			 break;
 			}
-
-			if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;
+			
+			if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;	
 			else $retarr[($upper) ? strtoupper($fld->name) : $fld->name] = $fld;
-
+			
 			$rs->MoveNext();
 		}
 		$rs->Close();
-		return $retarr;
-
+		return $retarr;	
+		
 	}
 
-
+		
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
@@ -138,10 +138,10 @@
 {
 	var $databaseType = "netezza";
 	var $canSeek = true;
-
-	function ADORecordSet_netezza($queryID,$mode=false)
+	
+	function ADORecordSet_netezza($queryID,$mode=false) 
 	{
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
@@ -155,7 +155,7 @@
 		}
 		$this->ADORecordSet($queryID);
 	}
-
+	
 	// _initrs modified to disable blob handling
 	function _initrs()
 	{

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci8.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci8.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci8.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -3,14 +3,14 @@
 
   version V4.22 15 Apr 2004 (c) 2000-2004 John Lim. All rights reserved.
 
-  Released under both BSD license and Lesser GPL library license.
-  Whenever there is any discrepancy between the two licenses,
+  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.
 
   Latest version is available at http://php.weblogs.com/
-
+  
   Code contributed by George Fourlanos <fou at infomap.gr>
-
+  
   13 Nov 2000 jlim - removed all ora_* references.
 */
 
@@ -32,7 +32,7 @@
 year entries allows you to become year-2000 compliant. For example:
 NLS_DATE_FORMAT='RR-MM-DD'
 
-You can also modify the date format using the ALTER SESSION command.
+You can also modify the date format using the ALTER SESSION command. 
 */
 
 class ADODB_oci8 extends ADOConnection {
@@ -61,31 +61,31 @@
 	var $_hasOCIFetchStatement = false;
 	var $_getarray = false; // currently not working
 	var $leftOuter = '';  // oracle wierdness, $col = $value (+) for LEFT OUTER, $col (+)= $value for RIGHT OUTER
-	var $session_sharing_force_blob = false; // alter session on updateblob if set to true
+	var $session_sharing_force_blob = false; // alter session on updateblob if set to true 
 	var $firstrows = true; // enable first rows optimization on SelectLimit()
 	var $selectOffsetAlg1 = 100; // when to use 1st algorithm of selectlimit.
 	var $NLS_DATE_FORMAT = 'YYYY-MM-DD';  // To include time, use 'RRRR-MM-DD HH24:MI:SS'
  	var $useDBDateFormatForTextInput=false;
 	var $datetime = false; // MetaType('DATE') returns 'D' (datetime==false) or 'T' (datetime == true)
-
+	
 	// var $ansiOuter = true; // if oracle9
-
-	function ADODB_oci8()
+    
+	function ADODB_oci8() 
 	{
 		$this->_hasOCIFetchStatement = ADODB_PHPVER >= 0x4200;
 	}
-
+	
 	/*  Function &MetaColumns($table) added by smondino at users.sourceforge.net*/
-	function &MetaColumns($table)
+	function &MetaColumns($table) 
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$save = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-
+		
 		$rs = $this->Execute(sprintf($this->metaColumnsSQL,strtoupper($table)));
-
+		
 		if (isset($savem)) $this->SetFetchMode($savem);
 		$ADODB_FETCH_MODE = $save;
 		if (!$rs) return false;
@@ -99,41 +99,41 @@
 			if ($rs->fields[1] == 'NUMBER' && $rs->fields[3] == 0) {
 				$fld->type ='INT';
 	     		$fld->max_length = $rs->fields[4];
-	    	}
+	    	}	
 		   	$fld->not_null = (strncmp($rs->fields[5], 'NOT',3) === 0);
 			$fld->binary = (strpos($fld->type,'BLOB') !== false);
 			$fld->default_value = $rs->fields[6];
-
-			if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;
+			
+			if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;	
 			else $retarr[strtoupper($fld->name)] = $fld;
 			$rs->MoveNext();
 		}
 		$rs->Close();
 		return $retarr;
 	}
-
+	
 	function Time()
 	{
 		$rs =& $this->Execute("select TO_CHAR($this->sysTimeStamp,'YYYY-MM-DD HH24:MI:SS') from dual");
 		if ($rs && !$rs->EOF) return $this->UnixTimeStamp(reset($rs->fields));
-
+		
 		return false;
 	}
-
+ 
 /*
 
   Multiple modes of connection are supported:
-
+  
   a. Local Database
     $conn->Connect(false,'scott','tiger');
-
+  
   b. From tnsnames.ora
-    $conn->Connect(false,'scott','tiger',$tnsname);
-    $conn->Connect($tnsname,'scott','tiger');
-
+    $conn->Connect(false,'scott','tiger',$tnsname); 
+    $conn->Connect($tnsname,'scott','tiger'); 
+  
   c. Server + service name
     $conn->Connect($serveraddress,'scott,'tiger',$service_name);
-
+  
   d. Server + SID
   	$conn->connectSID = true;
 	$conn->Connect($serveraddress,'scott,'tiger',$SID);
@@ -150,18 +150,18 @@
 	  (SERVICE_NAME = natsoft.domain)
 	)
   )
-
+  
   There are 3 connection modes, 0 = non-persistent, 1 = persistent, 2 = force new connection
-
+	
 */
 	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename,$mode=0)
 	{
 		if (!function_exists('OCIPLogon')) return false;
-
-
+		
+		
         $this->_errorMsg = false;
 		$this->_errorCode = false;
-
+		
 		if($argHostname) { // added by Jorma Tuomainen <jorma.tuomainen at ppoy.fi>
 			if (empty($argDatabasename)) $argDatabasename = $argHostname;
 			else {
@@ -172,7 +172,7 @@
 			 	} else {
 					$argHostport="1521";
 	   			}
-
+				
 				if ($this->connectSID) {
 					$argDatabasename="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=".$argHostname
 					.")(PORT=$argHostport))(CONNECT_DATA=(SID=$argDatabasename)))";
@@ -181,7 +181,7 @@
 					.")(PORT=$argHostport))(CONNECT_DATA=(SERVICE_NAME=$argDatabasename)))";
 			}
 		}
-
+				
  		//if ($argHostname) print "<p>Connect: 1st argument should be left blank for $this->databaseType</p>";
 		if ($mode==1) {
 			$this->_connectionID = OCIPLogon($argUsername,$argPassword, $argDatabasename);
@@ -195,14 +195,14 @@
 		if ($this->_initdate) {
 			$this->Execute("ALTER SESSION SET NLS_DATE_FORMAT='".$this->NLS_DATE_FORMAT."'");
 		}
-
-		// looks like:
+		
+		// looks like: 
 		// Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production
 		// $vers = OCIServerVersion($this->_connectionID);
 		// if (strpos($vers,'8i') !== false) $this->ansiOuter = true;
 		return true;
    	}
-
+	
 	function ServerInfo()
 	{
 		$arr['compat'] = $this->GetOne('select value from sys.database_compatible_level');
@@ -215,36 +215,36 @@
 	{
 		return $this->_connect($argHostname, $argUsername, $argPassword, $argDatabasename,1);
 	}
-
-
-
+	
+	
+	
 	// returns true or false
 	function _nconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		return $this->_connect($argHostname, $argUsername, $argPassword, $argDatabasename,2);
 	}
-
+	
 	function _affectedrows()
 	{
 		if (is_resource($this->_stmt)) return @OCIRowCount($this->_stmt);
 		return 0;
 	}
-
-	function IfNull( $field, $ifNull )
+	
+	function IfNull( $field, $ifNull ) 
 	{
 		return " NVL($field, $ifNull) "; // if Oracle
 	}
-
+	
 	// format and return date string in database date format
 	function DBDate($d)
 	{
 		if (empty($d) && $d !== 0) return 'null';
-
+		
 		if (is_string($d)) $d = ADORecordSet::UnixDate($d);
 		return "TO_DATE(".adodb_date($this->fmtDate,$d).",'".$this->NLS_DATE_FORMAT."')";
 	}
 
-
+	
 	// format and return date string in database timestamp format
 	function DBTimeStamp($ts)
 	{
@@ -252,14 +252,14 @@
 		if (is_string($ts)) $ts = ADORecordSet::UnixTimeStamp($ts);
 		return 'TO_DATE('.adodb_date($this->fmtTimeStamp,$ts).",'RRRR-MM-DD, HH:MI:SS AM')";
 	}
-
-	function RowLock($tables,$where)
+	
+	function RowLock($tables,$where) 
 	{
 		if ($this->autoCommit) $this->BeginTrans();
 		return $this->GetOne("select 1 as ignore from $tables where $where for update");
 	}
-
-	function &MetaTables($ttype=false,$showSchema=false,$mask=false)
+	
+	function &MetaTables($ttype=false,$showSchema=false,$mask=false) 
 	{
 		if ($mask) {
 			$save = $this->metaTablesSQL;
@@ -267,34 +267,34 @@
 			$this->metaTablesSQL .= " AND table_name like $mask";
 		}
 		$ret =& ADOConnection::MetaTables($ttype,$showSchema);
-
+		
 		if ($mask) {
 			$this->metaTablesSQL = $save;
 		}
 		return $ret;
 	}
-
+	
 	function BeginTrans()
-	{
+	{	
 		if ($this->transOff) return true;
 		$this->transCnt += 1;
 		$this->autoCommit = false;
 		$this->_commit = OCI_DEFAULT;
 		return true;
 	}
-
-	function CommitTrans($ok=true)
-	{
+	
+	function CommitTrans($ok=true) 
+	{ 
 		if ($this->transOff) return true;
 		if (!$ok) return $this->RollbackTrans();
-
+		
 		if ($this->transCnt) $this->transCnt -= 1;
 		$ret = OCIcommit($this->_connectionID);
 		$this->_commit = OCI_COMMIT_ON_SUCCESS;
 		$this->autoCommit = true;
 		return $ret;
 	}
-
+	
 	function RollbackTrans()
 	{
 		if ($this->transOff) return true;
@@ -304,14 +304,14 @@
 		$this->autoCommit = true;
 		return $ret;
 	}
-
-
-	function SelectDB($dbName)
+	
+	
+	function SelectDB($dbName) 
 	{
 		return false;
 	}
 
-	function ErrorMsg()
+	function ErrorMsg() 
 	{
 		if ($this->_errorMsg !== false) return $this->_errorMsg;
 
@@ -326,29 +326,29 @@
 		return $this->_errorMsg;
 	}
 
-	function ErrorNo()
+	function ErrorNo() 
 	{
 		if ($this->_errorCode !== false) return $this->_errorCode;
-
+		
 		if (is_resource($this->_stmt)) $arr = @OCIError($this->_stmt);
 		if (empty($arr)) {
 			$arr = @OCIError($this->_connectionID);
 			if ($arr == false) $arr = @OCIError();
 			if ($arr == false) return '';
 		}
-
+		
 		$this->_errorMsg = $arr['message'];
 		$this->_errorCode = $arr['code'];
-
+		
 		return $arr['code'];
 	}
-
+	
 	// Format date column in sql string given an input format that understands Y M D
 	function SQLDate($fmt, $col=false)
-	{
+	{	
 		if (!$col) $col = $this->sysTimeStamp;
 		$s = 'TO_CHAR('.$col.",'";
-
+		
 		$len = strlen($fmt);
 		for ($i=0; $i < $len; $i++) {
 			$ch = $fmt[$i];
@@ -361,11 +361,11 @@
 			case 'q':
 				$s .= 'Q';
 				break;
-
+				
 			case 'M':
 				$s .= 'Mon';
 				break;
-
+				
 			case 'm':
 				$s .= 'MM';
 				break;
@@ -373,28 +373,28 @@
 			case 'd':
 				$s .= 'DD';
 				break;
-
+			
 			case 'H':
 				$s.= 'HH24';
 				break;
-
+				
 			case 'h':
 				$s .= 'HH';
 				break;
-
+				
 			case 'i':
 				$s .= 'MI';
 				break;
-
+			
 			case 's':
 				$s .= 'SS';
 				break;
-
+			
 			case 'a':
 			case 'A':
 				$s .= 'AM';
 				break;
-
+				
 			default:
 			// handle escape characters...
 				if ($ch == '\\') {
@@ -403,25 +403,25 @@
 				}
 				if (strpos('-/.:;, ',$ch) !== false) $s .= $ch;
 				else $s .= '"'.$ch.'"';
-
+				
 			}
 		}
 		return $s. "')";
 	}
-
-
+	
+	
 	/*
 	This algorithm makes use of
-
+	
 	a. FIRST_ROWS hint
-	The FIRST_ROWS hint explicitly chooses the approach to optimize response time,
-	that is, minimum resource usage to return the first row. Results will be returned
-	as soon as they are identified.
+	The FIRST_ROWS hint explicitly chooses the approach to optimize response time, 
+	that is, minimum resource usage to return the first row. Results will be returned 
+	as soon as they are identified. 
 
 	b. Uses rownum tricks to obtain only the required rows from a given offset.
-	 As this uses complicated sql statements, we only use this if the $offset >= 100.
+	 As this uses complicated sql statements, we only use this if the $offset >= 100. 
 	 This idea by Tomas V V Cox.
-
+	 
 	 This implementation does not appear to work with oracle 8.0.5 or earlier. Comment
 	 out this function then, and the slower SelectLimit() in the base class will be used.
 	*/
@@ -434,16 +434,16 @@
 			else
 				$sql = preg_replace('/^[ \t\n]*select/i','SELECT /*+FIRST_ROWS*/',$sql);
 		}
-
+		
 		if ($offset < $this->selectOffsetAlg1) {
-			if ($nrows > 0) {
+			if ($nrows > 0) {	
 				if ($offset > 0) $nrows += $offset;
 				//$inputarr['adodb_rownum'] = $nrows;
 				if ($this->databaseType == 'oci8po') {
 					$sql = "select * from ($sql) where rownum <= ?";
 				} else {
 					$sql = "select * from ($sql) where rownum <= :adodb_offset";
-				}
+				} 
 				$inputarr['adodb_offset'] = $nrows;
 				$nrows = -1;
 			}
@@ -451,16 +451,16 @@
 
 			$rs =& ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
 			return $rs;
-
+			
 		} else {
 			 // Algorithm by Tomas V V Cox, from PEAR DB oci8.php
-
+			
 			 // Let Oracle return the name of the columns
 			 $q_fields = "SELECT * FROM ($sql) WHERE NULL = NULL";
 			 if (!$stmt = OCIParse($this->_connectionID, $q_fields)) {
 				 return false;
 			 }
-
+			 
 			 if (is_array($inputarr)) {
 			 	foreach($inputarr as $k => $v) {
 					if (is_array($v)) {
@@ -479,23 +479,23 @@
 					}
 				}
 			}
-
+			
 			 if (!OCIExecute($stmt, OCI_DEFAULT)) {
-				 OCIFreeStatement($stmt);
+				 OCIFreeStatement($stmt); 
 				 return false;
 			 }
-
+			 
 			 $ncols = OCINumCols($stmt);
 			 for ( $i = 1; $i <= $ncols; $i++ ) {
 				 $cols[] = '"'.OCIColumnName($stmt, $i).'"';
 			 }
 			 $result = false;
-
-			 OCIFreeStatement($stmt);
+			
+			 OCIFreeStatement($stmt); 
 			 $fields = implode(',', $cols);
 			 $nrows += $offset;
 			 $offset += 1; // in Oracle rownum starts at 1
-
+			
 			if ($this->databaseType == 'oci8po') {
 					 $sql = "SELECT $fields FROM".
 					  "(SELECT rownum as adodb_rownum, $fields FROM".
@@ -506,17 +506,17 @@
 					  "(SELECT rownum as adodb_rownum, $fields FROM".
 					  " ($sql) WHERE rownum <= :adodb_nrows".
 					  ") WHERE adodb_rownum >= :adodb_offset";
-				}
+				} 
 				$inputarr['adodb_nrows'] = $nrows;
 				$inputarr['adodb_offset'] = $offset;
-
+				
 			if ($secs2cache>0) $rs =& $this->CacheExecute($secs2cache, $sql,$inputarr);
 			else $rs =& $this->Execute($sql,$inputarr);
 			return $rs;
 		}
-
+	
 	}
-
+	
 	/**
 	* Usage:
 	* Store BLOBs and CLOBs
@@ -525,7 +525,7 @@
 	*
 	*	$conn->Execute('insert into TABLE (id,ablob) values(12,empty_blob())');
 	*	$conn->UpdateBlob('TABLE', 'ablob', $varHoldingBlob, 'ID=12', 'BLOB');
-	*
+	*	
 	*	$blobtype supports 'BLOB' and 'CLOB', but you need to change to 'empty_clob()'.
 	*
 	*  to get length of LOB:
@@ -539,20 +539,20 @@
 
 	function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB')
 	{
-
+		
 		//if (strlen($val) < 4000) return $this->Execute("UPDATE $table SET $column=:blob WHERE $where",array('blob'=>$val)) != false;
-
+		
 		switch(strtoupper($blobtype)) {
 		default: ADOConnection::outp("<b>UpdateBlob</b>: Unknown blobtype=$blobtype"); return false;
 		case 'BLOB': $type = OCI_B_BLOB; break;
 		case 'CLOB': $type = OCI_B_CLOB; break;
 		}
-
-		if ($this->databaseType == 'oci8po')
+		
+		if ($this->databaseType == 'oci8po') 
 			$sql = "UPDATE $table set $column=EMPTY_{$blobtype}() WHERE $where RETURNING $column INTO ?";
-		else
+		else 
 			$sql = "UPDATE $table set $column=EMPTY_{$blobtype}() WHERE $where RETURNING $column INTO :blob";
-
+		
 		$desc = OCINewDescriptor($this->_connectionID, OCI_D_LOB);
 		$arr['blob'] = array($desc,-1,$type);
 		if ($this->session_sharing_force_blob) $this->Execute('ALTER SESSION SET CURSOR_SHARING=EXACT');
@@ -563,11 +563,11 @@
 		$desc->free();
 		if ($commit) $this->CommitTrans();
 		if ($this->session_sharing_force_blob) $this->Execute('ALTER SESSION SET CURSOR_SHARING=FORCE');
-
+		
 		if ($rez) $rs->Close();
 		return $rez;
 	}
-
+	
 	/**
 	* Usage:  store file pointed to by $var in a blob
 	*/
@@ -578,67 +578,67 @@
 		case 'BLOB': $type = OCI_B_BLOB; break;
 		case 'CLOB': $type = OCI_B_CLOB; break;
 		}
-
-		if ($this->databaseType == 'oci8po')
+		
+		if ($this->databaseType == 'oci8po') 
 			$sql = "UPDATE $table set $column=EMPTY_{$blobtype}() WHERE $where RETURNING $column INTO ?";
-		else
+		else 
 			$sql = "UPDATE $table set $column=EMPTY_{$blobtype}() WHERE $where RETURNING $column INTO :blob";
-
+		
 		$desc = OCINewDescriptor($this->_connectionID, OCI_D_LOB);
 		$arr['blob'] = array($desc,-1,$type);
-
+		
 		$this->BeginTrans();
 		$rs = ADODB_oci8::Execute($sql,$arr);
 		if ($rez = !empty($rs)) $desc->savefile($val);
 		$desc->free();
 		$this->CommitTrans();
-
+		
 		if ($rez) $rs->Close();
 		return $rez;
 	}
 
-
+	
 	/*
 		Example of usage:
-
+		
 		$stmt = $this->Prepare('insert into emp (empno, ename) values (:empno, :ename)');
 	*/
 	function Prepare($sql,$cursor=false)
 	{
 	static $BINDNUM = 0;
-
+	
 		$stmt = OCIParse($this->_connectionID,$sql);
 
 		if (!$stmt) return false;
 
 		$BINDNUM += 1;
-
+		
 		if (@OCIStatementType($stmt) == 'BEGIN') {
 			return array($sql,$stmt,0,$BINDNUM, ($cursor) ? OCINewCursor($this->_connectionID) : false);
-		}
-
+		} 
+		
 		return array($sql,$stmt,0,$BINDNUM);
 	}
-
+	
 	/*
-		Call an oracle stored procedure and return a cursor variable.
-		Convert the cursor variable into a recordset.
+		Call an oracle stored procedure and return a cursor variable. 
+		Convert the cursor variable into a recordset. 
 		Concept by Robert Tuttle robert at ud.com
-
+		
 		Example:
 			Note: we return a cursor variable in :RS2
 			$rs = $db->ExecuteCursor("BEGIN adodb.open_tab(:RS2); END;",'RS2');
-
+			
 			$rs = $db->ExecuteCursor(
-				"BEGIN :RS2 = adodb.getdata(:VAR1); END;",
+				"BEGIN :RS2 = adodb.getdata(:VAR1); END;", 
 				'RS2',
 				array('VAR1' => 'Mr Bean'));
-
+			
 	*/
 	function &ExecuteCursor($sql,$cursorName='rs',$params=false)
 	{
 		$stmt = ADODB_oci8::Prepare($sql,true); # true to allocate OCINewCursor
-
+			
 		if (is_array($stmt) && sizeof($stmt) >= 5) {
 			$this->Parameter($stmt, $ignoreCur, $cursorName, false, -1, OCI_B_CURSOR);
 			if ($params) {
@@ -649,45 +649,45 @@
 		}
 		return $this->Execute($stmt);
 	}
-
+	
 	/*
-		Bind a variable -- very, very fast for executing repeated statements in oracle.
+		Bind a variable -- very, very fast for executing repeated statements in oracle. 
 		Better than using
-			for ($i = 0; $i < $max; $i++) {
+			for ($i = 0; $i < $max; $i++) {	
 				$p1 = ?; $p2 = ?; $p3 = ?;
-				$this->Execute("insert into table (col0, col1, col2) values (:0, :1, :2)",
+				$this->Execute("insert into table (col0, col1, col2) values (:0, :1, :2)", 
 					array($p1,$p2,$p3));
 			}
-
+		
 		Usage:
 			$stmt = $DB->Prepare("insert into table (col0, col1, col2) values (:0, :1, :2)");
 			$DB->Bind($stmt, $p1);
 			$DB->Bind($stmt, $p2);
 			$DB->Bind($stmt, $p3);
-			for ($i = 0; $i < $max; $i++) {
+			for ($i = 0; $i < $max; $i++) {	
 				$p1 = ?; $p2 = ?; $p3 = ?;
 				$DB->Execute($stmt);
 			}
-
-		Some timings:
+			
+		Some timings:		
 			** Test table has 3 cols, and 1 index. Test to insert 1000 records
 			Time 0.6081s (1644.60 inserts/sec) with direct OCIParse/OCIExecute
 			Time 0.6341s (1577.16 inserts/sec) with ADOdb Prepare/Bind/Execute
 			Time 1.5533s ( 643.77 inserts/sec) with pure SQL using Execute
-
+			
 		Now if PHP only had batch/bulk updating like Java or PL/SQL...
-
+	
 		Note that the order of parameters differs from OCIBindByName,
 		because we default the names to :0, :1, :2
 	*/
 	function Bind(&$stmt,&$var,$size=4000,$type=false,$name=false)
 	{
 		if (!is_array($stmt)) return false;
-
-        if (($type == OCI_B_CURSOR) && sizeof($stmt) >= 5) {
+        
+        if (($type == OCI_B_CURSOR) && sizeof($stmt) >= 5) { 
             return OCIBindByName($stmt[1],":".$name,$stmt[4],$size,$type);
         }
-
+        
 		if ($name == false) {
 			if ($type !== false) $rez = OCIBindByName($stmt[1],":".$name,$var,$size,$type);
 			else $rez = OCIBindByName($stmt[1],":".$stmt[2],$var,$size); // +1 byte for null terminator
@@ -701,29 +701,29 @@
 			if ($type !== false) $rez = OCIBindByName($stmt[1],":".$name,$var,$size,$type);
 			else $rez = OCIBindByName($stmt[1],":".$name,$var,$size); // +1 byte for null terminator
 		}
-
+		
 		return $rez;
 	}
-
+	
 	function Param($name)
 	{
 		return ':'.$name;
 	}
-
-	/*
+	
+	/* 
 	Usage:
 		$stmt = $db->Prepare('select * from table where id =:myid and group=:group');
 		$db->Parameter($stmt,$id,'myid');
 		$db->Parameter($stmt,$group,'group');
 		$db->Execute($stmt);
-
+		
 		@param $stmt Statement returned by Prepare() or PrepareSP().
 		@param $var PHP variable to bind to
 		@param $name Name of stored procedure variable name to bind to.
 		@param [$isOutput] Indicates direction of parameter 0/false=IN  1=OUT  2= IN/OUT. This is ignored in oci8.
 		@param [$maxLen] Holds an maximum length of the variable.
 		@param [$type] The data type of $var. Legal values depend on driver.
-
+		
 		See OCIBindByName documentation at php.net.
 	*/
 	function Parameter(&$stmt,&$var,$name,$isOutput=false,$maxLen=4000,$type=false)
@@ -735,28 +735,28 @@
 			}
 			return $this->Bind($stmt,$var,$maxLen,$type,$name);
 	}
-
+	
 	/*
 	returns query ID if successful, otherwise false
 	this version supports:
-
+	
 	   1. $db->execute('select * from table');
-
+	   
 	   2. $db->prepare('insert into table (a,b,c) values (:0,:1,:2)');
 		  $db->execute($prepared_statement, array(1,2,3));
-
+		  
 	   3. $db->execute('insert into table (a,b,c) values (:a,:b,:c)',array('a'=>1,'b'=>2,'c'=>3));
-
+	   
 	   4. $db->prepare('insert into table (a,b,c) values (:0,:1,:2)');
-		  $db->$bind($stmt,1); $db->bind($stmt,2); $db->bind($stmt,3);
+		  $db->$bind($stmt,1); $db->bind($stmt,2); $db->bind($stmt,3); 
 		  $db->execute($stmt);
-	*/
+	*/ 
 	function _query($sql,$inputarr)
 	{
-
+		
 		if (is_array($sql)) { // is prepared sql
 			$stmt = $sql[1];
-
+			
 			// we try to bind to permanent array, so that OCIBindByName is persistent
 			// and carried out once only - note that max array element size is 4000 chars
 			if (is_array($inputarr)) {
@@ -777,12 +777,12 @@
 		} else {
 			$stmt=OCIParse($this->_connectionID,$sql);
 		}
-
+			
 		$this->_stmt = $stmt;
 		if (!$stmt) return false;
-
+	
 		if (defined('ADODB_PREFETCH_ROWS')) @OCISetPrefetch($stmt,ADODB_PREFETCH_ROWS);
-
+			
 		if (is_array($inputarr)) {
 			foreach($inputarr as $k => $v) {
 				if (is_array($v)) {
@@ -790,7 +790,7 @@
 						OCIBindByName($stmt,":$k",$inputarr[$k][0],$v[1]);
 					else
 						OCIBindByName($stmt,":$k",$inputarr[$k][0],$v[1],$v[2]);
-
+					
 					if ($this->debug==99) echo "name=:$k",' var='.$inputarr[$k][0],' len='.$v[1],' type='.$v[2],'<br>';
 				} else {
 					$len = -1;
@@ -803,20 +803,20 @@
 				}
 			}
 		}
-
+		
         $this->_errorMsg = false;
 		$this->_errorCode = false;
 		if (OCIExecute($stmt,$this->_commit)) {
-
+		
             switch (@OCIStatementType($stmt)) {
                 case "SELECT":
 					return $stmt;
-
+					
                 case "BEGIN":
                     if (is_array($sql) && !empty($sql[4])) {
 						$cursor = $sql[4];
 						if (is_resource($cursor)) {
-							$ok = OCIExecute($cursor);
+							$ok = OCIExecute($cursor);	
 	                        return $cursor;
 						}
 						return $stmt;
@@ -835,7 +835,7 @@
 		}
 		return false;
 	}
-
+	
 	// returns true or false
 	function _close()
 	{
@@ -844,11 +844,11 @@
 		$this->_stmt = false;
 		$this->_connectionID = false;
 	}
-
+	
 	function MetaPrimaryKeys($table, $owner=false,$internalKey=false)
 	{
 		if ($internalKey) return array('ROWID');
-
+		
 	// tested with oracle 8.1.7
 		$table = strtoupper($table);
 		if ($owner) {
@@ -878,12 +878,12 @@
 		}
 		else return false;
 	}
-
+	
 	// http://gis.mit.edu/classes/11.521/sqlnotes/referential_integrity.html
 	function MetaForeignKeys($table, $owner=false)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$save = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$table = $this->qstr(strtoupper($table));
@@ -892,14 +892,14 @@
 			$tabp = 'user_';
 		} else
 			$tabp = 'all_';
-
+			
 		$owner = ' and owner='.$this->qstr(strtoupper($owner));
-
-		$sql =
-"select constraint_name,r_owner,r_constraint_name
+		
+		$sql = 
+"select constraint_name,r_owner,r_constraint_name 
 	from {$tabp}constraints
 	where constraint_type = 'R' and table_name = $table $owner";
-
+		
 		$constraints =& $this->GetArray($sql);
 		$arr = false;
 		foreach($constraints as $constr) {
@@ -908,32 +908,32 @@
 			$rcons = $this->qstr($constr[2]);
 			$cols = $this->GetArray("select column_name from {$tabp}cons_columns where constraint_name=$cons $owner order by position");
 			$tabcol = $this->GetArray("select table_name,column_name from {$tabp}cons_columns where owner=$rowner and constraint_name=$rcons order by position");
-
-			if ($cols && $tabcol)
+			
+			if ($cols && $tabcol) 
 				for ($i=0, $max=sizeof($cols); $i < $max; $i++) {
 					$arr[$tabcol[$i][0]] = $cols[$i][0].'='.$tabcol[$i][1];
 				}
 		}
 		$ADODB_FETCH_MODE = $save;
-
+		
 		return $arr;
 	}
 
-
+	
 	function CharMax()
 	{
 		return 4000;
 	}
-
+	
 	function TextMax()
 	{
 		return 4000;
 	}
-
+	
 	/**
 	 * Quotes a string.
 	 * An example is  $db->qstr("Don't bother",magic_quotes_runtime());
-	 *
+	 * 
 	 * @param s			the string to quote
 	 * @param [magic_quotes]	if $s is GET/POST var, set to get_magic_quotes_gpc().
 	 *				This undoes the stupidity of magic quotes for GPC.
@@ -941,21 +941,21 @@
 	 * @return  quoted string to be sent back to database
 	 */
 	function qstr($s,$magic_quotes=false)
-	{
+	{	
 	$nofixquotes=false;
-
+	
 		if (is_array($s)) adodb_backtrace();
 		if ($this->noNullStrings && strlen($s)==0)$s = ' ';
-		if (!$magic_quotes) {
+		if (!$magic_quotes) {	
 			if ($this->replaceQuote[0] == '\\'){
 				$s = str_replace('\\','\\\\',$s);
 			}
 			return  "'".str_replace("'",$this->replaceQuote,$s)."'";
 		}
-
+		
 		// undo magic quotes for "
 		$s = str_replace('\\"','"',$s);
-
+		
 		if ($this->replaceQuote == "\\'")  // ' already quoted, no need to change anything
 			return "'$s'";
 		else {// change \' to '' for sybase/mssql
@@ -963,7 +963,7 @@
 			return "'".str_replace("\\'",$this->replaceQuote,$s)."'";
 		}
 	}
-
+	
 }
 
 /*--------------------------------------------------------------------------------------
@@ -976,10 +976,10 @@
 	var $bind=false;
 	var $_fieldobjs;
 	//var $_arr = false;
-
+		
 	function ADORecordset_oci8($queryID,$mode=false)
 	{
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
@@ -999,21 +999,21 @@
 	function Init()
 	{
 		if ($this->_inited) return;
-
+		
 		$this->_inited = true;
 		if ($this->_queryID) {
-
+			
 			$this->_currentRow = 0;
 			@$this->_initrs();
 			$this->EOF = !$this->_fetch();
-
+			
 			/*
 			// based on idea by Gaetano Giunta to detect unusual oracle errors
 			// see http://phplens.com/lens/lensforum/msgs.php?id=6771
 			$err = OCIError($this->_queryID);
 			if ($err && $this->connection->debug) ADOConnection::outp($err);
 			*/
-
+			
 			if (!is_array($this->fields)) {
 				$this->_numOfRows = 0;
 				$this->fields = array();
@@ -1025,7 +1025,7 @@
 			$this->EOF = true;
 		}
 	}
-
+	
 	function _initrs()
 	{
 		$this->_numOfRows = -1;
@@ -1057,39 +1057,39 @@
 	 	}
 		return $fld;
 	}
-
+	
 	/* For some reason, OCIcolumnname fails when called after _initrs() so we cache it */
 	function &FetchField($fieldOffset = -1)
 	{
 		return $this->_fieldobjs[$fieldOffset];
 	}
-
-
+	
+	
 	// 10% speedup to move MoveNext to child class
-	function MoveNext()
+	function MoveNext() 
 	{
 	//global $ADODB_EXTENSION;if ($ADODB_EXTENSION) return @adodb_movenext($this);
-
+		
 		if ($this->EOF) return false;
-
+		
 		$this->_currentRow++;
 		if(@OCIfetchinto($this->_queryID,$this->fields,$this->fetchMode))
 			return true;
 		$this->EOF = true;
-
+		
 		return false;
-	}
-
+	}	
+	
 	/* Optimize SelectLimit() by using OCIFetch() instead of OCIFetchInto() */
-	function &GetArrayLimit($nrows,$offset=-1)
+	function &GetArrayLimit($nrows,$offset=-1) 
 	{
 		if ($offset <= 0) {
 			$arr =& $this->GetArray($nrows);
 			return $arr;
 		}
-		for ($i=1; $i < $offset; $i++)
+		for ($i=1; $i < $offset; $i++) 
 			if (!@OCIFetch($this->_queryID)) return array();
-
+			
 		if (!@OCIfetchinto($this->_queryID,$this->fields,$this->fetchMode)) return array();
 		$results = array();
 		$cnt = 0;
@@ -1097,11 +1097,11 @@
 			$results[$cnt++] = $this->fields;
 			$this->MoveNext();
 		}
-
+		
 		return $results;
 	}
 
-
+	
 	/* Use associative array to get fields array */
 	function Fields($colname)
 	{
@@ -1112,18 +1112,18 @@
 				$this->bind[strtoupper($o->name)] = $i;
 			}
 		}
-
+		
 		 return $this->fields[$this->bind[strtoupper($colname)]];
 	}
+	
 
 
-
 	function _seek($row)
 	{
 		return false;
 	}
 
-	function _fetch()
+	function _fetch() 
 	{
 		return @OCIfetchinto($this->_queryID,$this->fields,$this->fetchMode);
 	}
@@ -1131,12 +1131,12 @@
 	/*		close() only needs to be called if you are worried about using too much memory while your script
 			is running. All associated result memory for the specified result identifier will automatically be freed.		*/
 
-	function _close()
+	function _close() 
 	{
 		if ($this->connection->_stmt === $this->_queryID) $this->connection->_stmt = false;
 		OCIFreeStatement($this->_queryID);
  		$this->_queryID = false;
-
+		
 	}
 
 	function MetaType($t,$len=-1)
@@ -1156,29 +1156,29 @@
 		case 'NVARCHAR':
 		case 'NVARCHAR2':
 				 if (isset($this) && $len <= $this->blobSize) return 'C';
-
+		
 		case 'NCLOB':
 		case 'LONG':
 		case 'LONG VARCHAR':
 		case 'CLOB':
 		return 'X';
-
+		
 		case 'LONG RAW':
 		case 'LONG VARBINARY':
 		case 'BLOB':
 			return 'B';
-
-		case 'DATE':
+		
+		case 'DATE': 
 			return  ($this->connection->datetime) ? 'T' : 'D';
-
-
+		
+		
 		case 'TIMESTAMP': return 'T';
-
-		case 'INT':
+		
+		case 'INT': 
 		case 'SMALLINT':
-		case 'INTEGER':
+		case 'INTEGER': 
 			return 'I';
-
+			
 		default: return 'N';
 		}
 	}

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci805.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci805.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci805.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,12 +1,12 @@
 <?php
-/**
+/** 
  * @version V4.22 15 Apr 2004 (c) 2000-2004 John Lim (jlim at 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.
+ * 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
  *
  * Oracle 8.0.5 driver
@@ -15,14 +15,14 @@
 include_once(ADODB_DIR.'/drivers/adodb-oci8.inc.php');
 
 class ADODB_oci805 extends ADODB_oci8 {
-	var $databaseType = "oci805";
+	var $databaseType = "oci805";	
 	var $connectSID = true;
-
-	function ADODB_oci805()
+	
+	function ADODB_oci805() 
 	{
 		$this->ADODB_oci8();
 	}
-
+	
 	function &SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0)
 	{
 		// seems that oracle only supports 1 hint comment in 8i
@@ -30,12 +30,12 @@
 			$sql = str_replace('/*+ ','/*+FIRST_ROWS ',$sql);
 		else
 			$sql = preg_replace('/^[ \t\n]*select/i','SELECT /*+FIRST_ROWS*/',$sql);
-
-		/*
-			The following is only available from 8.1.5 because order by in inline views not
+		
+		/* 
+			The following is only available from 8.1.5 because order by in inline views not 
 			available before then...
 			http://www.jlcomp.demon.co.uk/faq/top_sql.html
-		if ($nrows > 0) {
+		if ($nrows > 0) {	
 			if ($offset > 0) $nrows += $offset;
 			$sql = "select * from ($sql) where rownum <= $nrows";
 			$nrows = -1;
@@ -46,11 +46,11 @@
 	}
 }
 
-class ADORecordset_oci805 extends ADORecordset_oci8 {
+class ADORecordset_oci805 extends ADORecordset_oci8 {	
 	var $databaseType = "oci805";
 	function ADORecordset_oci805($id,$mode=false)
 	{
 		$this->ADORecordset_oci8($id,$mode);
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci8po.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci8po.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oci8po.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,12 +1,12 @@
 <?php
 /*
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim. All rights reserved.
-  Released under both BSD license and Lesser GPL library license.
-  Whenever there is any discrepancy between the two licenses,
+  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.
 
   Latest version is available at http://php.weblogs.com/
-
+  
   Portable version of oci8 driver, to make it more similar to other database drivers.
   The main differences are
 
@@ -14,7 +14,7 @@
    2. bind variables are mapped using ? instead of :<bindvar>
 
    Should some emulation of RecordCount() be implemented?
-
+  
 */
 
 include_once(ADODB_DIR.'/drivers/adodb-oci8.inc.php');
@@ -24,27 +24,27 @@
 	var $dataProvider = 'oci8';
 	var $metaColumnsSQL = "select lower(cname),coltype,width, SCALE, PRECISION, NULLS, DEFAULTVAL from col where tname='%s' order by colno"; //changed by smondino at users.sourceforge. net
 	var $metaTablesSQL = "select lower(table_name),table_type from cat where table_type in ('TABLE','VIEW')";
-
+	
 	function ADODB_oci8po()
 	{
 		$this->ADODB_oci8();
 	}
-
+	
 	function Param($name)
 	{
 		return '?';
 	}
-
+	
 	function Prepare($sql,$cursor=false)
 	{
 		$sqlarr = explode('?',$sql);
 		$sql = $sqlarr[0];
 		for ($i = 1, $max = sizeof($sqlarr); $i < $max; $i++) {
 			$sql .=  ':'.($i-1) . $sqlarr[$i];
-		}
+		} 
 		return ADODB_oci8::Prepare($sql,$cursor);
 	}
-
+	
 	// emulate handling of parameters ? ?, replacing with :bind0 :bind1
 	function _query($sql,$inputarr)
 	{
@@ -53,7 +53,7 @@
 			if (is_array($sql)) {
 				foreach($inputarr as $v) {
 					$arr['bind'.$i++] = $v;
-				}
+				} 
 			} else {
 				$sqlarr = explode('?',$sql);
 				$sql = $sqlarr[0];
@@ -73,7 +73,7 @@
 class ADORecordset_oci8po extends ADORecordset_oci8 {
 
 	var $databaseType = 'oci8po';
-
+	
 		function ADORecordset_oci8po($queryID,$mode=false)
 		{
 			$this->ADORecordset_oci8($queryID,$mode);
@@ -82,7 +82,7 @@
 		function Fields($colname)
 		{
 			if ($this->fetchMode & OCI_ASSOC) return $this->fields[$colname];
-
+			
 			if (!$this->bind) {
 				$this->bind = array();
 				for ($i=0; $i < $this->_numOfFields; $i++) {
@@ -92,7 +92,7 @@
 			}
 			 return $this->fields[$this->bind[strtoupper($colname)]];
 		}
-
+		
 		// lowercase field names...
  		function &_FetchField($fieldOffset = -1)
 		{
@@ -110,14 +110,14 @@
 		}
 
 	// 10% speedup to move MoveNext to child class
-	function MoveNext()
+	function MoveNext() 
 	{
-
-		if (!$this->EOF) {
+	
+		if (!$this->EOF) {		
 			$this->_currentRow++;
 			if(@OCIfetchinto($this->_queryID,$this->fields,$this->fetchMode)) {
 			global $ADODB_ANSI_PADDING_OFF;
-
+	
 				if ($this->fetchMode & OCI_ASSOC) $this->_updatefields();
 				if (!empty($ADODB_ANSI_PADDING_OFF)) {
 					foreach($this->fields as $k => $v) {
@@ -129,15 +129,15 @@
 			$this->EOF = true;
 		}
 		return false;
-	}
-
+	}	
+	
 	/* Optimize SelectLimit() by using OCIFetch() instead of OCIFetchInto() */
-	function &GetArrayLimit($nrows,$offset=-1)
+	function &GetArrayLimit($nrows,$offset=-1) 
 	{
 		if ($offset <= 0) return $this->GetArray($nrows);
-		for ($i=1; $i < $offset; $i++)
+		for ($i=1; $i < $offset; $i++) 
 			if (!@OCIFetch($this->_queryID)) return array();
-
+			
 		if (!@OCIfetchinto($this->_queryID,$this->fields,$this->fetchMode)) return array();
 		if ($this->fetchMode & OCI_ASSOC) $this->_updatefields();
 		$results = array();
@@ -146,7 +146,7 @@
 			$results[$cnt++] = $this->fields;
 			$this->MoveNext();
 		}
-
+		
 		return $results;
 	}
 
@@ -154,10 +154,10 @@
 	function _updatefields()
 	{
 		if (ADODB_ASSOC_CASE == 2) return; // native
-
+	
 		$arr = array();
 		$lowercase = (ADODB_ASSOC_CASE == 0);
-
+		
 		foreach($this->fields as $k => $v) {
 			if (is_integer($k)) $arr[$k] = $v;
 			else {
@@ -169,13 +169,13 @@
 		}
 		$this->fields = $arr;
 	}
-
-	function _fetch()
+	
+	function _fetch() 
 	{
 		$ret = @OCIfetchinto($this->_queryID,$this->fields,$this->fetchMode);
 		if ($ret) {
 		global $ADODB_ANSI_PADDING_OFF;
-
+	
 				if ($this->fetchMode & OCI_ASSOC) $this->_updatefields();
 				if (!empty($ADODB_ANSI_PADDING_OFF)) {
 					foreach($this->fields as $k => $v) {
@@ -185,6 +185,6 @@
 		}
 		return $ret;
 	}
-
+	
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,23 +1,23 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 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.
+  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 ODBC. Works on Windows and Unix.
 */
   define("_ADODB_ODBC_LAYER", 2 );
-
+	 
 /*--------------------------------------------------------------------------------------
 --------------------------------------------------------------------------------------*/
 
 
 class ADODB_odbc extends ADOConnection {
-	var $databaseType = "odbc";
+	var $databaseType = "odbc";	
 	var $fmtDate = "'Y-m-d'";
 	var $fmtTimeStamp = "'Y-m-d, h:i:sA'";
 	var $replaceQuote = "''"; // string to use to replace quotes
@@ -27,32 +27,32 @@
 	var $useFetchArray = false; // setting this to true will make array elements in FETCH_ASSOC mode case-sensitive
 								// breaking backward-compat
 	//var $longreadlen = 8000; // default number of chars to return for a Blob/Long field
-	var $_bindInputArray = false;
+	var $_bindInputArray = false;	
 	var $curmode = SQL_CUR_USE_DRIVER; // See sqlext.h, SQL_CUR_DEFAULT == SQL_CUR_USE_DRIVER == 2L
 	var $_genSeqSQL = "create table %s (id integer)";
 	var $_autocommit = true;
 	var $_haserrorfunctions = true;
 	var $_has_stupid_odbc_fetch_api_change = true;
 	var $_lastAffectedRows = 0;
-
-	function ADODB_odbc()
-	{
+	
+	function ADODB_odbc() 
+	{ 	
 		$this->_haserrorfunctions = ADODB_PHPVER >= 0x4050;
 		$this->_has_stupid_odbc_fetch_api_change = ADODB_PHPVER >= 0x4200;
 	}
-
+	
 	function ServerInfo()
 	{
-
+	
 		if (!empty($this->host) && ADODB_PHPVER >= 0x4300) {
 			$dsn = strtoupper($this->host);
 			$first = true;
 			$found = false;
-
+			
 			if (!function_exists('odbc_data_source')) return false;
-
+			
 			while(true) {
-
+				
 				$rez = odbc_data_source($this->_connectionID,
 					$first ? SQL_FETCH_FIRST : SQL_FETCH_NEXT);
 				$first = false;
@@ -61,7 +61,7 @@
 					$found = true;
 					break;
 				}
-			}
+			} 
 			if (!$found) return ADOConnection::ServerInfo();
 			if (!isset($rez['version'])) $rez['version'] = '';
 			return $rez;
@@ -70,7 +70,7 @@
 		}
 	}
 
-
+	
 	function CreateSequence($seqname='adodbseq',$start=1)
 	{
 		if (empty($this->_genSeqSQL)) return false;
@@ -79,22 +79,22 @@
 		$start -= 1;
 		return $this->Execute("insert into $seqname values($start)");
 	}
-
+	
 	var $_dropSeqSQL = 'drop table %s';
 	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!
 		$MAXLOOPS = 100;
@@ -102,14 +102,14 @@
 		while (--$MAXLOOPS>=0) {
 			$num = $this->GetOne("select id from $seq");
 			if ($num === false) {
-				$this->Execute(sprintf($this->_genSeqSQL ,$seq));
+				$this->Execute(sprintf($this->_genSeqSQL ,$seq));	
 				$start -= 1;
 				$num = '0';
 				$ok = $this->Execute("insert into $seq values($start)");
 				if (!$ok) return false;
-			}
+			} 
 			$this->Execute("update $seq set id=id+1 where id=$num");
-
+			
 			if ($this->affected_rows() > 0) {
 				$num += 1;
 				$this->genID = $num;
@@ -131,34 +131,34 @@
 			return @odbc_errormsg($this->_connectionID);
 		} else return ADOConnection::ErrorMsg();
 	}
-
+	
 	function ErrorNo()
 	{
-
+		
 		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 = @odbc_error();
+			if (empty($this->_connectionID)) $e = @odbc_error(); 
 			else $e = @odbc_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();
 	}
-
-
+	
+	
 	// returns true or false
 	function _connect($argDSN, $argUsername, $argPassword, $argDatabasename)
 	{
 	global $php_errormsg;
-
+		
 		if (!function_exists('odbc_connect')) return false;
-
+		
 		if ($this->debug && $argDatabasename && $this->databaseType != 'vfp') {
 			ADOConnection::outp("For odbc Connect(), $argDatabasename is not used. Place dsn in 1st parameter.");
 		}
@@ -167,18 +167,18 @@
 		else $this->_connectionID = odbc_connect($argDSN,$argUsername,$argPassword,$this->curmode);
 		$this->_errorMsg = $php_errormsg;
 		if (isset($this->connectStmt)) $this->Execute($this->connectStmt);
-
+		
 		//if ($this->_connectionID) odbc_autocommit($this->_connectionID,true);
 		return $this->_connectionID != false;
 	}
-
+	
 	// returns true or false
 	function _pconnect($argDSN, $argUsername, $argPassword, $argDatabasename)
 	{
 	global $php_errormsg;
-
+	
 		if (!function_exists('odbc_connect')) return false;
-
+		
 		$php_errormsg = '';
 		if ($this->debug && $argDatabasename) {
 			ADOConnection::outp("For odbc PConnect(), $argDatabasename is not used. Place dsn in 1st parameter.");
@@ -186,26 +186,26 @@
 	//	print "dsn=$argDSN u=$argUsername p=$argPassword<br>"; flush();
 		if ($this->curmode === false) $this->_connectionID = odbc_connect($argDSN,$argUsername,$argPassword);
 		else $this->_connectionID = odbc_pconnect($argDSN,$argUsername,$argPassword,$this->curmode);
-
+		
 		$this->_errorMsg = $php_errormsg;
 		if ($this->_connectionID && $this->autoRollback) @odbc_rollback($this->_connectionID);
 		if (isset($this->connectStmt)) $this->Execute($this->connectStmt);
-
+		
 		return $this->_connectionID != false;
 	}
 
 	function BeginTrans()
-	{
+	{	
 		if (!$this->hasTransactions) return false;
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
 		$this->transCnt += 1;
 		$this->_autocommit = false;
 		return odbc_autocommit($this->_connectionID,false);
 	}
-
-	function CommitTrans($ok=true)
-	{
-		if ($this->transOff) return true;
+	
+	function CommitTrans($ok=true) 
+	{ 
+		if ($this->transOff) return true; 
 		if (!$ok) return $this->RollbackTrans();
 		if ($this->transCnt) $this->transCnt -= 1;
 		$this->_autocommit = true;
@@ -213,35 +213,35 @@
 		odbc_autocommit($this->_connectionID,true);
 		return $ret;
 	}
-
+	
 	function RollbackTrans()
 	{
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
 		if ($this->transCnt) $this->transCnt -= 1;
 		$this->_autocommit = true;
 		$ret = odbc_rollback($this->_connectionID);
 		odbc_autocommit($this->_connectionID,true);
 		return $ret;
 	}
-
+	
 	function MetaPrimaryKeys($table)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$savem = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$qid = @odbc_primarykeys($this->_connectionID,'','',$table);
-
+		
 		if (!$qid) {
 			$ADODB_FETCH_MODE = $savem;
 			return false;
 		}
 		$rs = new ADORecordSet_odbc($qid);
 		$ADODB_FETCH_MODE = $savem;
-
+		
 		if (!$rs) return false;
 		$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;
-
+		
 		$arr =& $rs->GetArray();
 		$rs->Close();
 		//print_r($arr);
@@ -251,37 +251,37 @@
 		}
 		return $arr2;
 	}
-
-
-
+	
+	
+	
 	function &MetaTables($ttype=false)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$savem = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$qid = odbc_tables($this->_connectionID);
-
+		
 		$rs = new ADORecordSet_odbc($qid);
-
+		
 		$ADODB_FETCH_MODE = $savem;
 		if (!$rs) 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;
 			$type = $arr[$i][3];
-			if ($ttype) {
+			if ($ttype) { 
 				if ($isview) {
 					if (strncmp($type,'V',1) === 0) $arr2[] = $arr[$i][2];
 				} else if (strncmp($type,'SYS',3) !== 0) $arr2[] = $arr[$i][2];
@@ -289,7 +289,7 @@
 		}
 		return $arr2;
 	}
-
+	
 /*
 / SQL data type codes /
 #define	SQL_UNKNOWN_TYPE	0
@@ -319,7 +319,7 @@
 	function ODBCTypes($t)
 	{
 		switch ((integer)$t) {
-		case 1:
+		case 1:	
 		case 12:
 		case 0:
 		case -95:
@@ -330,11 +330,11 @@
 			return 'X';
 		case -4: //image
 			return 'B';
-
+				
 		case 91:
 		case 11:
 			return 'D';
-
+			
 		case 92:
 		case 93:
 		case 9:	return 'T';
@@ -342,36 +342,36 @@
 		case 5:
 		case -6:
 			return 'I';
-
+			
 		case -11: // uniqidentifier
 			return 'R';
 		case -7: //bit
 			return 'L';
-
+		
 		default:
 			return 'N';
 		}
 	}
-
+	
 	function &MetaColumns($table)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$table = strtoupper($table);
 		$schema = false;
 		$this->_findschema($table,$schema);
-
+		
 		$savem = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-
+	
 		if (false) { // after testing, confirmed that the following does not work becoz of a bug
 			$qid2 = odbc_tables($this->_connectionID);
-			$rs = new ADORecordSet_odbc($qid2);
+			$rs = new ADORecordSet_odbc($qid2);		
 			$ADODB_FETCH_MODE = $savem;
 			if (!$rs) return false;
 			$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;
 			$rs->_fetch();
-
+			
 			while (!$rs->EOF) {
 				if ($table == strtoupper($rs->fields[2])) {
 					$q = $rs->fields[0];
@@ -381,7 +381,7 @@
 				$rs->MoveNext();
 			}
 			$rs->Close();
-
+			
 			$qid = odbc_columns($this->_connectionID,$q,$o,strtoupper($table),'%');
 		} else switch ($this->databaseType) {
 		case 'access':
@@ -389,23 +389,23 @@
 		case 'db2':
 			$qid = odbc_columns($this->_connectionID);
 			break;
-
+			
 		default:
 			$qid = @odbc_columns($this->_connectionID,'%','%',strtoupper($table),'%');
 			if (empty($qid)) $qid = odbc_columns($this->_connectionID);
 			break;
 		}
 		if (empty($qid)) return false;
-
+		
 		$rs = new ADORecordSet_odbc($qid);
 		$ADODB_FETCH_MODE = $savem;
-
+		
 		if (!$rs) return false;
-
+		
 		$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;
 		$rs->_fetch();
 		$retarr = array();
-
+		
 		/*
 		$rs->fields indices
 		0 TABLE_QUALIFIER
@@ -427,30 +427,30 @@
 				$fld = new ADOFieldObject();
 				$fld->name = $rs->fields[3];
 				$fld->type = $this->ODBCTypes($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 ($this->databaseType == 'access')
+					if ($this->databaseType == 'access') 
 						$fld->max_length = $rs->fields[6];
 					else if ($rs->fields[4] <= -95) // UNICODE
 						$fld->max_length = $rs->fields[7]/2;
 					else
 						$fld->max_length = $rs->fields[7];
-				} else
+				} else 
 					$fld->max_length = $rs->fields[7];
 				$fld->not_null = !empty($rs->fields[10]);
 				$fld->scale = $rs->fields[8];
-				$retarr[strtoupper($fld->name)] = $fld;
+				$retarr[strtoupper($fld->name)] = $fld;	
 			} else if (sizeof($retarr)>0)
 				break;
 			$rs->MoveNext();
 		}
 		$rs->Close(); //-- crashes 4.03pl1 -- why?
-
+		
 		return $retarr;
 	}
-
+	
 	function Prepare($sql)
 	{
 		if (! $this->_bindInputArray) return $sql; // no binding
@@ -463,24 +463,24 @@
 	}
 
 	/* returns queryID or false */
-	function _query($sql,$inputarr=false)
+	function _query($sql,$inputarr=false) 
 	{
 	GLOBAL $php_errormsg;
 		$php_errormsg = '';
 		$this->_error = '';
-
+		
 		if ($inputarr) {
 			if (is_array($sql)) {
 				$stmtid = $sql[1];
 			} else {
 				$stmtid = odbc_prepare($this->_connectionID,$sql);
-
+	
 				if ($stmtid == false) {
 					$this->_errorMsg = $php_errormsg;
 					return false;
 				}
 			}
-
+			
 			if (! odbc_execute($stmtid,$inputarr)) {
 				//@odbc_free_result($stmtid);
 				if ($this->_haserrorfunctions) {
@@ -489,7 +489,7 @@
 				}
 				return false;
 			}
-
+		
 		} else if (is_array($sql)) {
 			$stmtid = $sql[1];
 			if (!odbc_execute($stmtid)) {
@@ -502,7 +502,7 @@
 			}
 		} else
 			$stmtid = odbc_exec($this->_connectionID,$sql);
-
+		
 		$this->_lastAffectedRows = 0;
 		if ($stmtid) {
 			if (@odbc_num_fields($stmtid) == 0) {
@@ -513,7 +513,7 @@
 				odbc_binmode($stmtid,$this->binmode);
 				odbc_longreadlen($stmtid,$this->maxblobsize);
 			}
-
+			
 			if ($this->_haserrorfunctions) {
 				$this->_errorMsg = '';
 				$this->_errorCode = 0;
@@ -532,9 +532,9 @@
 	/*
 		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');
 	*/
@@ -542,7 +542,7 @@
 	{
 		return $this->Execute("UPDATE $table SET $column=? WHERE $where",array($val)) != false;
 	}
-
+	
 	// returns true or false
 	function _close()
 	{
@@ -555,31 +555,31 @@
 	{
 		return $this->_lastAffectedRows;
 	}
-
+	
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
 
-class ADORecordSet_odbc extends ADORecordSet {
-
+class ADORecordSet_odbc extends ADORecordSet {	
+	
 	var $bind = false;
-	var $databaseType = "odbc";
+	var $databaseType = "odbc";		
 	var $dataProvider = "odbc";
 	var $useFetchArray;
 	var $_has_stupid_odbc_fetch_api_change;
-
+	
 	function ADORecordSet_odbc($id,$mode=false)
 	{
-		if ($mode === false) {
+		if ($mode === false) {  
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
 		$this->fetchMode = $mode;
-
+		
 		$this->_queryID = $id;
-
+		
 		// the following is required for mysql odbc driver in 4.3.1 -- why?
 		$this->EOF = false;
 		$this->_currentRow = -1;
@@ -588,11 +588,11 @@
 
 
 	// returns the field object
-	function &FetchField($fieldOffset = -1)
+	function &FetchField($fieldOffset = -1) 
 	{
-
+		
 		$off=$fieldOffset+1; // offsets begin at 1
-
+		
 		$o= new ADOFieldObject();
 		$o->name = @odbc_field_name($this->_queryID,$off);
 		$o->type = @odbc_field_type($this->_queryID,$off);
@@ -601,7 +601,7 @@
 		else if (ADODB_ASSOC_CASE == 1) $o->name = strtoupper($o->name);
 		return $o;
 	}
-
+	
 	/* Use associative array to get fields array */
 	function Fields($colname)
 	{
@@ -616,8 +616,8 @@
 
 		 return $this->fields[$this->bind[strtoupper($colname)]];
 	}
-
-
+	
+		
 	function _initrs()
 	{
 	global $ADODB_COUNTRECS;
@@ -627,15 +627,15 @@
 		if ($this->_numOfRows == 0) $this->_numOfRows = -1;
 		//$this->useFetchArray = $this->connection->useFetchArray;
 		$this->_has_stupid_odbc_fetch_api_change = ADODB_PHPVER >= 0x4200;
-	}
-
+	}	
+	
 	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)
+	function &GetArrayLimit($nrows,$offset=-1) 
 	{
 		if ($offset <= 0) {
 			$rs =& $this->GetArray($nrows);
@@ -645,30 +645,30 @@
 		$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()
+	
+	
+	function MoveNext() 
 	{
-		if ($this->_numOfRows != 0 && !$this->EOF) {
+		if ($this->_numOfRows != 0 && !$this->EOF) {		
 			$this->_currentRow++;
 			$row = 0;
 			if ($this->_has_stupid_odbc_fetch_api_change)
 				$rez = @odbc_fetch_into($this->_queryID,$this->fields);
-			else
+			else 
 				$rez = @odbc_fetch_into($this->_queryID,$row,$this->fields);
 			if ($rez) {
 				if ($this->fetchMode & ADODB_FETCH_ASSOC) {
@@ -680,16 +680,16 @@
 		$this->fields = false;
 		$this->EOF = true;
 		return false;
-	}
-
+	}	
+	
 	function _fetch()
 	{
 		$row = 0;
 		if ($this->_has_stupid_odbc_fetch_api_change)
 			$rez = @odbc_fetch_into($this->_queryID,$this->fields,$row);
-		else
+		else 
 			$rez = @odbc_fetch_into($this->_queryID,$row,$this->fields);
-
+		
 		if ($rez) {
 			if ($this->fetchMode & ADODB_FETCH_ASSOC) {
 				$this->fields =& $this->GetRowAssoc(ADODB_ASSOC_CASE);
@@ -699,10 +699,10 @@
 		$this->fields = false;
 		return false;
 	}
-
-	function _close()
+	
+	function _close() 
 	{
-		return @odbc_free_result($this->_queryID);
+		return @odbc_free_result($this->_queryID);		
 	}
 
 }

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc_mssql.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc_mssql.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc_mssql.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,14 +1,14 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
-  MSSQL support via ODBC. Requires ODBC. Works on Windows and Unix.
+  
+  MSSQL support via ODBC. Requires ODBC. Works on Windows and Unix. 
   For Unix configuration, see http://phpbuilder.com/columns/alberto20000919.php3
 */
 
@@ -16,8 +16,8 @@
 	include(ADODB_DIR."/drivers/adodb-odbc.inc.php");
 }
 
-
-class  ADODB_odbc_mssql extends ADODB_odbc {
+ 
+class  ADODB_odbc_mssql extends ADODB_odbc {	
 	var $databaseType = 'odbc_mssql';
 	var $fmtDate = "'Y-m-d'";
 	var $fmtTimeStamp = "'Y-m-d h:i:sA'";
@@ -35,13 +35,13 @@
 	var $ansiOuter = true; // for mssql7 or later
 	var $identitySQL = 'select @@IDENTITY'; // 'select SCOPE_IDENTITY'; # for mssql 2000
 	var $hasInsertID = true;
-	var $connectStmt = 'SET CONCAT_NULL_YIELDS_NULL OFF'; # When SET CONCAT_NULL_YIELDS_NULL is ON,
+	var $connectStmt = 'SET CONCAT_NULL_YIELDS_NULL OFF'; # When SET CONCAT_NULL_YIELDS_NULL is ON, 
 														  # concatenating a null value with a string yields a NULL result
-
+	
 	function ADODB_odbc_mssql()
 	{
 		$this->ADODB_odbc();
-		$this->curmode = SQL_CUR_USE_ODBC;
+		$this->curmode = SQL_CUR_USE_ODBC;	
 	}
 
 	// crashes php...
@@ -58,31 +58,31 @@
 		return $arr;
 	}
 
-	function IfNull( $field, $ifNull )
+	function IfNull( $field, $ifNull ) 
 	{
 		return " ISNULL($field, $ifNull) "; // if MS SQL Server
 	}
-
+	
 	function _insertid()
 	{
 	// SCOPE_IDENTITY()
-	// Returns the last IDENTITY value inserted into an IDENTITY column in
-	// the same scope. A scope is a module -- a stored procedure, trigger,
-	// function, or batch. Thus, two statements are in the same scope if
+	// Returns the last IDENTITY value inserted into an IDENTITY column in 
+	// the same scope. A scope is a module -- a stored procedure, trigger, 
+	// function, or batch. Thus, two statements are in the same scope if 
 	// they are in the same stored procedure, function, or batch.
 			return $this->GetOne($this->identitySQL);
 	}
-
-
+	
+	
 	function MetaForeignKeys($table, $owner=false, $upper=false)
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$save = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		$table = $this->qstr(strtoupper($table));
-
-		$sql =
+		
+		$sql = 
 "select object_name(constid) as constraint_name,
 	col_name(fkeyid, fkey) as column_name,
 	object_name(rkeyid) as referenced_table_name,
@@ -90,20 +90,20 @@
 from sysforeignkeys
 where upper(object_name(fkeyid)) = $table
 order by constraint_name, referenced_table_name, keyno";
-
+		
 		$constraints =& $this->GetArray($sql);
-
+		
 		$ADODB_FETCH_MODE = $save;
-
+		
 		$arr = false;
 		foreach($constraints as $constr) {
 			//print_r($constr);
-			$arr[$constr[0]][$constr[2]][] = $constr[1].'='.$constr[3];
+			$arr[$constr[0]][$constr[2]][] = $constr[1].'='.$constr[3]; 
 		}
 		if (!$arr) return false;
-
+		
 		$arr2 = false;
-
+		
 		foreach($arr as $k => $v) {
 			foreach($v as $a => $b) {
 				if ($upper) $a = strtoupper($a);
@@ -112,8 +112,8 @@
 		}
 		return $arr2;
 	}
-
-	function &MetaTables($ttype=false,$showSchema=false,$mask=false)
+	
+	function &MetaTables($ttype=false,$showSchema=false,$mask=false) 
 	{
 		if ($mask) {$this->debug=1;
 			$save = $this->metaTablesSQL;
@@ -121,38 +121,38 @@
 			$this->metaTablesSQL .= " AND name like $mask";
 		}
 		$ret =& ADOConnection::MetaTables($ttype,$showSchema);
-
+		
 		if ($mask) {
 			$this->metaTablesSQL = $save;
 		}
 		return $ret;
 	}
-
+	
 	function &MetaColumns($table)
 	{
 		return ADOConnection::MetaColumns($table);
 	}
-
+	
 	function _query($sql,$inputarr)
 	{
 		if (is_string($sql)) $sql = str_replace('||','+',$sql);
 		return ADODB_odbc::_query($sql,$inputarr);
 	}
-
+	
 	// "Stein-Aksel Basma" <basma at accelero.no>
 	// tested with MSSQL 2000
 	function &MetaPrimaryKeys($table)
 	{
 		$sql = "select k.column_name from information_schema.key_column_usage k,
-		information_schema.table_constraints tc
+		information_schema.table_constraints tc 
 		where tc.constraint_name = k.constraint_name and tc.constraint_type =
 		'PRIMARY KEY' and k.table_name = '$table'";
-
+		
 		$a = $this->GetCol($sql);
 		if ($a && sizeof($a)>0) return $a;
-		return false;
+		return false;	  
 	}
-
+	
 	function &SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0)
 	{
 		if ($nrows > 0 && $offset <= 0) {
@@ -161,16 +161,16 @@
 			$rs =& $this->Execute($sql,$inputarr);
 		} else
 			$rs =& ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
-
+			
 		return $rs;
 	}
-
+	
 	// Format date column in sql string given an input format that understands Y M D
 	function SQLDate($fmt, $col=false)
-	{
+	{	
 		if (!$col) $col = $this->sysTimeStamp;
 		$s = '';
-
+		
 		$len = strlen($fmt);
 		for ($i=0; $i < $len; $i++) {
 			if ($s) $s .= '+';
@@ -197,11 +197,11 @@
 			case 'h':
 				$s .= "substring(convert(char(14),$col,0),13,2)";
 				break;
-
+			
 			case 'H':
 				$s .= "replace(str(datepart(hh,$col),2),' ','0')";
 				break;
-
+				
 			case 'i':
 				$s .= "replace(str(datepart(mi,$col),2),' ','0')";
 				break;
@@ -212,7 +212,7 @@
 			case 'A':
 				$s .= "substring(convert(char(19),$col,0),18,2)";
 				break;
-
+				
 			default:
 				if ($ch == '\\') {
 					$i++;
@@ -225,15 +225,15 @@
 		return $s;
 	}
 
-}
-
-class  ADORecordSet_odbc_mssql extends ADORecordSet_odbc {
-
+} 
+ 
+class  ADORecordSet_odbc_mssql extends ADORecordSet_odbc {	
+	
 	var $databaseType = 'odbc_mssql';
-
+	
 	function ADORecordSet_odbc_mssql($id,$mode=false)
 	{
 		return $this->ADORecordSet_odbc($id,$mode);
-	}
+	}	
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc_oracle.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc_oracle.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbc_oracle.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,40 +1,40 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
-  Oracle support via ODBC. Requires ODBC. Works on Windows.
+  
+  Oracle support via ODBC. Requires ODBC. Works on Windows. 
 */
 
 if (!defined('_ADODB_ODBC_LAYER')) {
 	include(ADODB_DIR."/drivers/adodb-odbc.inc.php");
 }
 
-
-class  ADODB_odbc_oracle extends ADODB_odbc {
+ 
+class  ADODB_odbc_oracle extends ADODB_odbc {	
 	var $databaseType = 'odbc_oracle';
  	var $replaceQuote = "''"; // string to use to replace quotes
 	var $concat_operator='||';
-	var $fmtDate = "'Y-m-d 00:00:00'";
+	var $fmtDate = "'Y-m-d 00:00:00'"; 
 	var $fmtTimeStamp = "'Y-m-d h:i:sA'";
 	var $metaTablesSQL = 'select table_name from cat';
 	var $metaColumnsSQL = "select cname,coltype,width from col where tname='%s' order by colno";
 	var $sysDate = "TRUNC(SYSDATE)";
 	var $sysTimeStamp = 'SYSDATE';
-
+	
 	//var $_bindInputArray = false;
-
+	
 	function ADODB_odbc_oracle()
 	{
 		$this->ADODB_odbc();
 	}
-
-	function &MetaTables()
+		
+	function &MetaTables() 
 	{
 		if ($this->metaTablesSQL) {
 			$rs = $this->Execute($this->metaTablesSQL);
@@ -49,11 +49,11 @@
 		}
 		return false;
 	}
-
-	function &MetaColumns($table)
+	
+	function &MetaColumns($table) 
 	{
 		if (!empty($this->metaColumnsSQL)) {
-
+		
 			$rs = $this->Execute(sprintf($this->metaColumnsSQL,strtoupper($table)));
 			if ($rs === false) return false;
 
@@ -63,15 +63,15 @@
 				$fld->name = $rs->fields[0];
 				$fld->type = $rs->fields[1];
 				$fld->max_length = $rs->fields[2];
-
-
-				if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;
+				
+				
+				if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;	
 				else $retarr[strtoupper($fld->name)] = $fld;
-
+				
 				$rs->MoveNext();
 			}
 			$rs->Close();
-			return $retarr;
+			return $retarr;	
 		}
 		return false;
 	}
@@ -80,11 +80,11 @@
 	function _connect($argDSN, $argUsername, $argPassword, $argDatabasename)
 	{
 	global $php_errormsg;
-
+	
 		$php_errormsg = '';
 		$this->_connectionID = odbc_connect($argDSN,$argUsername,$argPassword,SQL_CUR_USE_ODBC );
 		$this->_errorMsg = $php_errormsg;
-
+		
 		$this->Execute("ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'");
 		//if ($this->_connectionID) odbc_autocommit($this->_connectionID,true);
 		return $this->_connectionID != false;
@@ -96,20 +96,20 @@
 		$php_errormsg = '';
 		$this->_connectionID = odbc_pconnect($argDSN,$argUsername,$argPassword,SQL_CUR_USE_ODBC );
 		$this->_errorMsg = $php_errormsg;
-
+		
 		$this->Execute("ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'");
 		//if ($this->_connectionID) odbc_autocommit($this->_connectionID,true);
 		return $this->_connectionID != false;
 	}
-}
-
-class  ADORecordSet_odbc_oracle extends ADORecordSet_odbc {
-
+} 
+ 
+class  ADORecordSet_odbc_oracle extends ADORecordSet_odbc {	
+	
 	var $databaseType = 'odbc_oracle';
-
+	
 	function ADORecordSet_odbc_oracle($id,$mode=false)
 	{
 		return $this->ADORecordSet_odbc($id,$mode);
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbtp.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbtp.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbtp.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -233,12 +233,12 @@
 			@odbtp_set_attr(ODB_ATTR_UNICODESQL, TRUE, $this->_connectionID);
         return true;
 	}
-
+	
 	function _pconnect($HostOrInterface, $UserOrDSN='', $argPassword='', $argDatabase='')
 	{
   		return $this->_connect($HostOrInterface, $UserOrDSN, $argPassword, $argDatabase);
 	}
-
+	
 	function SelectDB($dbName)
 	{
 		if (!@odbtp_select_db($dbName, $this->_connectionID)) {
@@ -247,7 +247,7 @@
 		$this->databaseName = $dbName;
 		return true;
 	}
-
+	
 	function &MetaTables($ttype='',$showSchema=false,$mask=false)
 	{
 	global $ADODB_FETCH_MODE;
@@ -265,7 +265,7 @@
 		}
 		return $arr2;
 	}
-
+	
 	function &MetaColumns($table,$upper=true)
 	{
 	global $ADODB_FETCH_MODE;
@@ -280,7 +280,7 @@
 		$ADODB_FETCH_MODE = $savem;
 
 		if (!$rs) return false;
-
+		
 		while (!$rs->EOF) {
 			//print_r($rs->fields);
 			if (strtoupper($rs->fields[2]) == $table) {
@@ -299,7 +299,7 @@
 				break;
 			$rs->MoveNext();
 		}
-		$rs->Close();
+		$rs->Close(); 
 
 		return $retarr;
 	}
@@ -608,7 +608,7 @@
 		$this->_currentRow = $this->_numOfRows - 1;
 	  return true;
     }
-
+    
 	function NextRecordSet()
 	{
 		if (!@odbtp_next_result($this->_queryID)) return false;
@@ -625,4 +625,4 @@
 	}
 }
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbtp_unicode.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbtp_unicode.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-odbtp_unicode.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -56,4 +56,4 @@
 		}
 	}
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oracle.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oracle.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-oracle.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,16 +1,16 @@
 <?php
 /*
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
 
   Latest version is available at http://php.weblogs.com/
-
+  
   Oracle data driver. Requires Oracle client. Works on Windows and Unix and Oracle 7 and 8.
-
+  
   If you are using Oracle 8, use the oci8 driver which is much better and more reliable.
-
+  
 */
 
 class ADODB_oracle extends ADOConnection {
@@ -19,13 +19,13 @@
 	var $concat_operator='||';
 	var $_curs;
 	var $_initdate = true; // init date to YYYY-MM-DD
-	var $metaTablesSQL = 'select table_name from cat';
+	var $metaTablesSQL = 'select table_name from cat';	
 	var $metaColumnsSQL = "select cname,coltype,width from col where tname='%s' order by colno";
 	var $sysDate = "TO_DATE(TO_CHAR(SYSDATE,'YYYY-MM-DD'),'YYYY-MM-DD')";
 	var $sysTimeStamp = 'SYSDATE';
 	var $connectSID = true;
-
-	function ADODB_oracle()
+	
+	function ADODB_oracle() 
 	{
 	}
 
@@ -35,7 +35,7 @@
 		if (is_string($d)) $d = ADORecordSet::UnixDate($d);
 		return 'TO_DATE('.adodb_date($this->fmtDate,$d).",'YYYY-MM-DD')";
 	}
-
+	
 	// format and return date string in database timestamp format
 	function DBTimeStamp($ts)
 	{
@@ -43,24 +43,24 @@
 		return 'TO_DATE('.adodb_date($this->fmtTimeStamp,$ts).",'RRRR-MM-DD, HH:MI:SS AM')";
 	}
 
-
+	
 	function BeginTrans()
-	{
+	{	  
 		 $this->autoCommit = false;
 		 ora_commitoff($this->_connectionID);
 		 return true;
 	}
 
-
-	function CommitTrans($ok=true)
-	{
+	
+	function CommitTrans($ok=true) 
+	{ 
 		   if (!$ok) return $this->RollbackTrans();
 		   $ret = ora_commit($this->_connectionID);
 		   ora_commiton($this->_connectionID);
 		   return $ret;
 	}
 
-
+	
 	function RollbackTrans()
 	{
 		$ret = ora_rollback($this->_connectionID);
@@ -70,22 +70,22 @@
 
 
 	/* there seems to be a bug in the oracle extension -- always returns ORA-00000 - no error */
-	function ErrorMsg()
+	function ErrorMsg() 
  	{
 		$this->_errorMsg = @ora_error($this->_curs);
  		if (!$this->_errorMsg) $this->_errorMsg = @ora_error($this->_connectionID);
 		return $this->_errorMsg;
 	}
 
-
-	function ErrorNo()
+ 
+	function ErrorNo() 
 	{
 		$err = @ora_errorcode($this->_curs);
 		if (!$err) return @ora_errorcode($this->_connectionID);
 	}
 
+	
 
-
 		// returns true or false
 		function _connect($argHostname, $argUsername, $argPassword, $argDatabasename, $mode=0)
 		{
@@ -144,12 +144,12 @@
 		function _query($sql,$inputarr=false)
 		{
 			$curs = ora_open($this->_connectionID);
-
+		 
 		 	if ($curs === false) return false;
 			$this->_curs = $curs;
 			if (!ora_parse($curs,$sql)) return false;
 			if (ora_exec($curs)) return $curs;
-
+		
 		 	@ora_close($curs);
 			return false;
 		}
@@ -177,15 +177,15 @@
 
 	function ADORecordset_oracle($queryID,$mode=false)
 	{
-
-		if ($mode === false) {
+		
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
 		$this->fetchMode = $mode;
-
+		
 		$this->_queryID = $queryID;
-
+	
 		$this->_inited = true;
 		$this->fields = array();
 		if ($queryID) {
@@ -197,7 +197,7 @@
 			$this->_numOfFields = 0;
 			$this->EOF = true;
 		}
-
+		
 		return $this->_queryID;
 	}
 
@@ -227,10 +227,10 @@
 				$this->bind[strtoupper($o->name)] = $i;
 			}
 		}
-
+		
 		 return $this->fields[$this->bind[strtoupper($colname)]];
 	}
-
+	
    function _initrs()
    {
 		   $this->_numOfRows = -1;
@@ -246,14 +246,14 @@
    function _fetch($ignore_fields=false) {
 		if ($this->fetchMode & ADODB_FETCH_ASSOC)
 			return @ora_fetch_into($this->_queryID,$this->fields,ORA_FETCHINTO_NULLS|ORA_FETCHINTO_ASSOC);
-   		else
+   		else 
 			return @ora_fetch_into($this->_queryID,$this->fields,ORA_FETCHINTO_NULLS);
    }
 
    /*		close() only needs to be called if you are worried about using too much memory while your script
 		   is running. All associated result memory for the specified result identifier will automatically be freed.		*/
 
-   function _close()
+   function _close() 
 {
 		   return @ora_close($this->_queryID);
    }
@@ -265,7 +265,7 @@
 			$t = $fieldobj->type;
 			$len = $fieldobj->max_length;
 		}
-
+		
 		switch (strtoupper($t)) {
 		case 'VARCHAR':
 		case 'VARCHAR2':
@@ -281,13 +281,13 @@
 		case 'LONG VARBINARY':
 		case 'BLOB':
 				return 'B';
-
+		
 		case 'DATE': return 'D';
-
+		
 		//case 'T': return 'T';
-
+		
 		case 'BIT': return 'L';
-		case 'INT':
+		case 'INT': 
 		case 'SMALLINT':
 		case 'INTEGER': return 'I';
 		default: return 'N';

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,14 +1,14 @@
 <?php
 /*
  V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
-
+  
   NOTE: Since 3.31, this file is no longer used, and the "postgres" driver is
   remapped to "postgres7". Maintaining multiple postgres drivers is no easy
   job, so hopefully this will ensure greater consistency and fewer bugs.
 */
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres64.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres64.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres64.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,29 +1,29 @@
 <?php
 /*
  V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
-
-  Original version derived from Alberto Cerezal (acerezalp at dbnet.es) - DBNet Informatica & Comunicaciones.
+  
+  Original version derived from Alberto Cerezal (acerezalp at dbnet.es) - DBNet Informatica & Comunicaciones. 
   08 Nov 2000 jlim - Minor corrections, removing mysql stuff
   09 Nov 2000 jlim - added insertid support suggested by "Christopher Kings-Lynne" <chriskl at familyhealth.com.au>
-					jlim - changed concat operator to || and data types to MetaType to match documented pgsql types
-		 	see http://www.postgresql.org/devel-corner/docs/postgres/datatype.htm
+					jlim - changed concat operator to || and data types to MetaType to match documented pgsql types 
+		 	see http://www.postgresql.org/devel-corner/docs/postgres/datatype.htm  
   22 Nov 2000 jlim - added changes to FetchField() and MetaTables() contributed by "raser" <raser at mail.zen.com.tw>
   27 Nov 2000 jlim - added changes to _connect/_pconnect from ideas by "Lennie" <leen at wirehub.nl>
-  15 Dec 2000 jlim - added changes suggested by Additional code changes by "Eric G. Werk" egw at netguide.dk.
+  15 Dec 2000 jlim - added changes suggested by Additional code changes by "Eric G. Werk" egw at netguide.dk. 
   31 Jan 2002 jlim - finally installed postgresql. testing
   01 Mar 2001 jlim - Freek Dijkstra changes, also support for text type
-
+  
   See http://www.varlena.com/varlena/GeneralBits/47.php
-
+  
 	-- What indexes are on my table?
 	select * from pg_indexes where tablename = 'tablename';
-
+	
 	-- What triggers are on my table?
-	select c.relname as "Table", t.tgname as "Trigger Name",
+	select c.relname as "Table", t.tgname as "Trigger Name", 
 	   t.tgconstrname as "Constraint Name", t.tgenabled as "Enabled",
 	   t.tgisconstraint as "Is Constraint", cc.relname as "Referenced Table",
 	   p.proname as "Function Name"
@@ -31,7 +31,7 @@
 	where t.tgfoid = p.oid and t.tgrelid = c.oid
 	   and t.tgconstrrelid = cc.oid
 	   and c.relname = 'tablename';
-
+	
 	-- What constraints are on my table?
 	select r.relname as "Table", c.conname as "Constraint Name",
 	   contype as "Constraint Type", conkey as "Key Columns",
@@ -47,7 +47,7 @@
 	$len = strlen($s);
 	if ($len == 0) return "''";
 	if (strncmp($s,"'",1) === 0 && substr(s,$len-1) == "'") return $s; // already quoted
-
+	
 	return "'".addslashes($s)."'";
 }
 
@@ -58,32 +58,32 @@
 	var $_resultid = false;
   	var $concat_operator='||';
 	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\_%' union
+    var $metaTablesSQL = "select tablename,'T' from pg_tables where tablename not like 'pg\_%' union 
         select viewname,'V' from pg_views where viewname not like 'pg\_%'";
 	//"select tablename from pg_tables where tablename not like 'pg_%' order by 1";
 	var $isoDates = true; // accepts dates in ISO format
 	var $sysDate = "CURRENT_DATE";
 	var $sysTimeStamp = "CURRENT_TIMESTAMP";
 	var $blobEncodeType = 'C';
-	var $metaColumnsSQL = "SELECT a.attname,t.typname,a.attlen,a.atttypmod,a.attnotnull,a.atthasdef,a.attnum
-		FROM pg_class c, pg_attribute a,pg_type t
+	var $metaColumnsSQL = "SELECT a.attname,t.typname,a.attlen,a.atttypmod,a.attnotnull,a.atthasdef,a.attnum 
+		FROM pg_class c, pg_attribute a,pg_type t 
 		WHERE relkind = 'r' AND (c.relname='%s' or c.relname = lower('%s')) and a.attname not like '....%%'
 AND a.attnum > 0 AND a.atttypid = t.oid AND a.attrelid = c.oid ORDER BY a.attnum";
 
-	var $metaColumnsSQL1 = "SELECT a.attname, t.typname, a.attlen, a.atttypmod, a.attnotnull, a.atthasdef, a.attnum
-FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n
+	var $metaColumnsSQL1 = "SELECT a.attname, t.typname, a.attlen, a.atttypmod, a.attnotnull, a.atthasdef, a.attnum 
+FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n 
 WHERE relkind = 'r' AND (c.relname='%s' or c.relname = lower('%s'))
- and c.relnamespace=n.oid and n.nspname='%s'
-	and a.attname not like '....%%' AND a.attnum > 0
+ and c.relnamespace=n.oid and n.nspname='%s' 
+	and a.attname not like '....%%' AND a.attnum > 0 
 	AND a.atttypid = t.oid AND a.attrelid = c.oid ORDER BY a.attnum";
-
+	
 	// get primary key etc -- from Freek Dijkstra
-	var $metaKeySQL = "SELECT ic.relname AS index_name, a.attname AS column_name,i.indisunique AS unique_key, i.indisprimary AS primary_key
+	var $metaKeySQL = "SELECT ic.relname AS index_name, a.attname AS column_name,i.indisunique AS unique_key, i.indisprimary AS primary_key 
 	FROM pg_class bc, pg_class ic, pg_index i, pg_attribute a WHERE bc.oid = i.indrelid AND ic.oid = i.indexrelid AND (i.indkey[0] = a.attnum OR i.indkey[1] = a.attnum OR i.indkey[2] = a.attnum OR i.indkey[3] = a.attnum OR i.indkey[4] = a.attnum OR i.indkey[5] = a.attnum OR i.indkey[6] = a.attnum OR i.indkey[7] = a.attnum) AND a.attrelid = bc.oid AND bc.relname = '%s'";
-
+	
 	var $hasAffectedRows = true;
 	var $hasLimit = false;	// set to true for pgsql 7 only. support pgsql/mysql SELECT * FROM TABLE LIMIT 10
-	// below suggested by Freek Dijkstra
+	// below suggested by Freek Dijkstra 
 	var $true = 't';		// string that represents TRUE for a database
 	var $false = 'f';		// string that represents FALSE for a database
 	var $fmtDate = "'Y-m-d'";	// used by DBDate() as the default date format used by the database
@@ -97,33 +97,33 @@
 	var $random = 'random()';		/// random function
 	var $autoRollback = true; // apparently pgsql does not autorollback properly before 4.3.4
 							// http://bugs.php.net/bug.php?id=25404
-
+							
 	var $_bindInputArray = false; // requires postgresql 7.3+ and ability to modify database
-
-	// The last (fmtTimeStamp is not entirely correct:
-	// PostgreSQL also has support for time zones,
-	// and writes these time in this format: "2001-03-01 18:59:26+02".
-	// There is no code for the "+02" time zone information, so I just left that out.
-	// I'm not familiar enough with both ADODB as well as Postgres
+	
+	// The last (fmtTimeStamp is not entirely correct: 
+	// PostgreSQL also has support for time zones, 
+	// and writes these time in this format: "2001-03-01 18:59:26+02". 
+	// There is no code for the "+02" time zone information, so I just left that out. 
+	// I'm not familiar enough with both ADODB as well as Postgres 
 	// to know what the concequences are. The other values are correct (wheren't in 0.94)
-	// -- Freek Dijkstra
+	// -- Freek Dijkstra 
 
-	function ADODB_postgres64()
+	function ADODB_postgres64() 
 	{
 	// changes the metaColumnsSQL, adds columns: attnum[6]
 	}
-
+	
 	function ServerInfo()
 	{
 		if (isset($this->version)) return $this->version;
-
+		
 		$arr['description'] = $this->GetOne("select version()");
 		$arr['version'] = ADOConnection::_findvers($arr['description']);
 		$this->version = $arr;
 		return $arr;
 	}
 /*
-	function IfNull( $field, $ifNull )
+	function IfNull( $field, $ifNull ) 
 	{
 		return " NULLIF($field, $ifNull) "; // if PGSQL
 	}
@@ -139,10 +139,10 @@
 		}
 		return false;
 	}
-
+	
 /* Warning from http://www.php.net/manual/function.pg-getlastoid.php:
-Using a OID as a unique identifier is not generally wise.
-Unless you are very careful, you might end up with a tuple having
+Using a OID as a unique identifier is not generally wise. 
+Unless you are very careful, you might end up with a tuple having 
 a different OID if a database must be reloaded. */
 	function _insertid()
 	{
@@ -157,8 +157,8 @@
    		if (!is_resource($this->_resultid) || get_resource_type($this->_resultid) !== 'pgsql result') return false;
 	   	return pg_cmdtuples($this->_resultid);
    }
-
-
+   
+	
 		// returns true/false
 	function BeginTrans()
 	{
@@ -166,23 +166,23 @@
 		$this->transCnt += 1;
 		return @pg_Exec($this->_connectionID, "begin");
 	}
-
-	function RowLock($tables,$where)
+	
+	function RowLock($tables,$where) 
 	{
 		if (!$this->transCnt) $this->BeginTrans();
 		return $this->GetOne("select 1 as ignore from $tables where $where for update");
 	}
 
-	// returns true/false.
-	function CommitTrans($ok=true)
-	{
+	// returns true/false. 
+	function CommitTrans($ok=true) 
+	{ 
 		if ($this->transOff) return true;
 		if (!$ok) return $this->RollbackTrans();
-
+		
 		$this->transCnt -= 1;
 		return @pg_Exec($this->_connectionID, "commit");
 	}
-
+	
 	// returns true/false
 	function RollbackTrans()
 	{
@@ -190,24 +190,24 @@
 		$this->transCnt -= 1;
 		return @pg_Exec($this->_connectionID, "rollback");
 	}
-
-	function &MetaTables($ttype=false,$showSchema=false,$mask=false)
-	{
+	
+	function &MetaTables($ttype=false,$showSchema=false,$mask=false) 
+	{	
 		if ($mask) {
 			$save = $this->metaTablesSQL;
 			$mask = $this->qstr(strtolower($mask));
 			$this->metaTablesSQL = "
-select tablename,'T' from pg_tables where tablename like $mask union
+select tablename,'T' from pg_tables where tablename like $mask union 
 select viewname,'V' from pg_views where viewname like $mask";
 		}
 		$ret =& ADOConnection::MetaTables($ttype,$showSchema);
-
+		
 		if ($mask) {
 			$this->metaTablesSQL = $save;
 		}
 		return $ret;
 	}
-
+	
 	/*
 	// if magic quotes disabled, use pg_escape_string()
 	function qstr($s,$magic_quotes=false)
@@ -219,22 +219,22 @@
 			if ($this->replaceQuote[0] == '\\'){
 				$s = adodb_str_replace(array('\\',"\0"),array('\\\\',"\\\0"),$s);
 			}
-			return  "'".str_replace("'",$this->replaceQuote,$s)."'";
+			return  "'".str_replace("'",$this->replaceQuote,$s)."'"; 
 		}
-
+		
 		// undo magic quotes for "
 		$s = str_replace('\\"','"',$s);
 		return "'$s'";
 	}
 	*/
-
-
+	
+	
 	// Format date column in sql string given an input format that understands Y M D
 	function SQLDate($fmt, $col=false)
-	{
+	{	
 		if (!$col) $col = $this->sysTimeStamp;
 		$s = 'TO_CHAR('.$col.",'";
-
+		
 		$len = strlen($fmt);
 		for ($i=0; $i < $len; $i++) {
 			$ch = $fmt[$i];
@@ -247,11 +247,11 @@
 			case 'q':
 				$s .= 'Q';
 				break;
-
+				
 			case 'M':
 				$s .= 'Mon';
 				break;
-
+				
 			case 'm':
 				$s .= 'MM';
 				break;
@@ -259,28 +259,28 @@
 			case 'd':
 				$s .= 'DD';
 				break;
-
+			
 			case 'H':
 				$s.= 'HH24';
 				break;
-
+				
 			case 'h':
 				$s .= 'HH';
 				break;
-
+				
 			case 'i':
 				$s .= 'MI';
 				break;
-
+			
 			case 's':
 				$s .= 'SS';
 				break;
-
+			
 			case 'a':
 			case 'A':
 				$s .= 'AM';
 				break;
-
+				
 			default:
 			// handle escape characters...
 				if ($ch == '\\') {
@@ -289,43 +289,43 @@
 				}
 				if (strpos('-/.:;, ',$ch) !== false) $s .= $ch;
 				else $s .= '"'.$ch.'"';
-
+				
 			}
 		}
 		return $s. "')";
 	}
-
-
-
-	/*
-	* Load a Large Object from a file
-	* - the procedure stores the object id in the table and imports the object using
-	* postgres proprietary blob handling routines
+	
+	
+	
+	/* 
+	* Load a Large Object from a file 
+	* - the procedure stores the object id in the table and imports the object using 
+	* postgres proprietary blob handling routines 
 	*
 	* contributed by Mattia Rossi mattia at technologist.com
 	* modified for safe mode by juraj chlebec
-	*/
-	function UpdateBlobFile($table,$column,$path,$where,$blobtype='BLOB')
-	{
-		pg_exec ($this->_connectionID, "begin");
-
+	*/ 
+	function UpdateBlobFile($table,$column,$path,$where,$blobtype='BLOB') 
+	{ 
+		pg_exec ($this->_connectionID, "begin"); 
+		
 		$fd = fopen($path,'r');
 		$contents = fread($fd,filesize($path));
 		fclose($fd);
-
+		
 		$oid = pg_lo_create($this->_connectionID);
 		$handle = pg_lo_open($this->_connectionID, $oid, 'w');
 		pg_lo_write($handle, $contents);
 		pg_lo_close($handle);
-
-		// $oid = pg_lo_import ($path);
-		pg_exec($this->_connectionID, "commit");
-		$rs = ADOConnection::UpdateBlob($table,$column,$oid,$where,$blobtype);
-		$rez = !empty($rs);
-		return $rez;
-	}
-
-	/*
+		
+		// $oid = pg_lo_import ($path); 
+		pg_exec($this->_connectionID, "commit"); 
+		$rs = ADOConnection::UpdateBlob($table,$column,$oid,$where,$blobtype); 
+		$rez = !empty($rs); 
+		return $rez; 
+	} 
+	
+	/* 
 	* If an OID is detected, then we use pg_lo_* to open the oid file and read the
 	* real blob from the db using the oid supplied as a parameter. If you are storing
 	* blobs using bytea, we autodetect and process it so this function is not needed.
@@ -333,91 +333,91 @@
 	* contributed by Mattia Rossi mattia at technologist.com
 	*
 	* see http://www.postgresql.org/idocs/index.php?largeobjects.html
-	*/
-	function BlobDecode( $blob)
-	{
+	*/ 
+	function BlobDecode( $blob) 
+	{ 
 		if (strlen($blob) > 24) return $blob;
-
-		@pg_exec($this->_connectionID,"begin");
+		
+		@pg_exec($this->_connectionID,"begin"); 
 		$fd = @pg_lo_open($this->_connectionID,$blob,"r");
 		if ($fd === false) {
 			@pg_exec($this->_connectionID,"commit");
 			return $blob;
 		}
-		$realblob = @pg_loreadall($fd);
-		@pg_loclose($fd);
-		@pg_exec($this->_connectionID,"commit");
+		$realblob = @pg_loreadall($fd); 
+		@pg_loclose($fd); 
+		@pg_exec($this->_connectionID,"commit"); 
 		return $realblob;
-	}
-
-	/*
+	} 
+	
+	/* 
 		See http://www.postgresql.org/idocs/index.php?datatype-binary.html
-
-		NOTE: SQL string literals (input strings) must be preceded with two backslashes
-		due to the fact that they must pass through two parsers in the PostgreSQL
+	 	
+		NOTE: SQL string literals (input strings) must be preceded with two backslashes 
+		due to the fact that they must pass through two parsers in the PostgreSQL 
 		backend.
 	*/
 	function BlobEncode($blob)
 	{
 		if (ADODB_PHPVER >= 0x4200) return pg_escape_bytea($blob);
-
+		
 		/*92=backslash, 0=null, 39=single-quote*/
 		$badch = array(chr(92),chr(0),chr(39)); # \  null  '
 		$fixch = array('\\\\134','\\\\000','\\\\047');
 		return adodb_str_replace($badch,$fixch,$blob);
-
+		
 		// note that there is a pg_escape_bytea function only for php 4.2.0 or later
 	}
-
+	
 	function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB')
 	{
 		// do not use bind params which uses qstr(), as blobencode() already quotes data
 		return $this->Execute("UPDATE $table SET $column='".$this->BlobEncode($val)."'::bytea WHERE $where");
 	}
-
+	
 	function OffsetDate($dayFraction,$date=false)
-	{
+	{		
 		if (!$date) $date = $this->sysDate;
 		return "($date+interval'$dayFraction days')";
 	}
+	
 
-
 	// for schema support, pass in the $table param "$schema.$tabname".
 	// converts field names to lowercase, $upper is ignored
-	function &MetaColumns($table,$upper=true)
+	function &MetaColumns($table,$upper=true) 
 	{
 	global $ADODB_FETCH_MODE;
-
+	
 		$schema = false;
 		$this->_findschema($table,$schema);
-
+		
 		$table = strtolower($table);
 
 		$save = $ADODB_FETCH_MODE;
 		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
 		if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-
+		
 		if ($schema) $rs =& $this->Execute(sprintf($this->metaColumnsSQL1,$table,$table,$schema));
 		else $rs =& $this->Execute(sprintf($this->metaColumnsSQL,$table,$table));
 		if (isset($savem)) $this->SetFetchMode($savem);
 		$ADODB_FETCH_MODE = $save;
-
+		
 		if ($rs === false) return false;
-
+		
 		if (!empty($this->metaKeySQL)) {
 			// If we want the primary keys, we have to issue a separate query
-			// Of course, a modified version of the metaColumnsSQL query using a
-			// LEFT JOIN would have been much more elegant, but postgres does
+			// Of course, a modified version of the metaColumnsSQL query using a 
+			// LEFT JOIN would have been much more elegant, but postgres does 
 			// not support OUTER JOINS. So here is the clumsy way.
-
+			
 			$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
-
+			
 			$rskey = $this->Execute(sprintf($this->metaKeySQL,($table)));
 			// fetch all result in once for performance.
 			$keys =& $rskey->GetArray();
 			if (isset($savem)) $this->SetFetchMode($savem);
 			$ADODB_FETCH_MODE = $save;
-
+			
 			$rskey->Close();
 			unset($rskey);
 		}
@@ -429,7 +429,7 @@
 			$rsdef = $this->Execute($sql);
 			if (isset($savem)) $this->SetFetchMode($savem);
 			$ADODB_FETCH_MODE = $save;
-
+			
 			if ($rsdef) {
 				while (!$rsdef->EOF) {
 					$num = $rsdef->fields['num'];
@@ -447,16 +447,16 @@
 			}
 			unset($rsdef);
 		}
-
+	
 		$retarr = array();
-		while (!$rs->EOF) {
+		while (!$rs->EOF) { 	
 			$fld = new ADOFieldObject();
 			$fld->name = $rs->fields[0];
 			$fld->type = $rs->fields[1];
 			$fld->max_length = $rs->fields[2];
 			if ($fld->max_length <= 0) $fld->max_length = $rs->fields[3]-4;
 			if ($fld->max_length <= 0) $fld->max_length = -1;
-
+			
 			// dannym
 			// 5 hasdefault; 6 num-of-column
 			$fld->has_default = ($rs->fields[5] == 't');
@@ -468,41 +468,41 @@
 			if ($rs->fields[4] == $this->true) {
 				$fld->not_null = true;
 			}
-
+			
 			// Freek
 			if (is_array($keys)) {
 				foreach($keys as $key) {
-					if ($fld->name == $key['column_name'] AND $key['primary_key'] == $this->true)
+					if ($fld->name == $key['column_name'] AND $key['primary_key'] == $this->true) 
 						$fld->primary_key = true;
-					if ($fld->name == $key['column_name'] AND $key['unique_key'] == $this->true)
+					if ($fld->name == $key['column_name'] AND $key['unique_key'] == $this->true) 
 						$fld->unique = true; // What name is more compatible?
 				}
 			}
-
-			if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;
+			
+			if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld;	
 			else $retarr[($upper) ? strtoupper($fld->name) : $fld->name] = $fld;
-
+			
 			$rs->MoveNext();
 		}
 		$rs->Close();
-		return $retarr;
-
+		return $retarr;	
+		
 	}
 
 	  function &MetaIndexes ($table, $primary = FALSE)
       {
          global $ADODB_FETCH_MODE;
-
+                
 				$schema = false;
 				$this->_findschema($table,$schema);
-
+				
 				if ($schema) { // requires pgsql 7.3+ - pg_namespace used.
 					$sql = '
-SELECT c.relname as "Name", i.indisunique as "Unique", i.indkey as "Columns"
-FROM pg_catalog.pg_class c
-JOIN pg_catalog.pg_index i ON i.indexrelid=c.oid
+SELECT c.relname as "Name", i.indisunique as "Unique", i.indkey as "Columns" 
+FROM pg_catalog.pg_class c 
+JOIN pg_catalog.pg_index i ON i.indexrelid=c.oid 
 JOIN pg_catalog.pg_class c2 ON c2.oid=i.indrelid
-	,pg_namespace n
+	,pg_namespace n 
 WHERE c2.relname=\'%s\' and c.relnamespace=c2.relnamespace and c.relnamespace=n.oid and n.nspname=\'%s\' AND i.indisprimary=false';
 				} else {
 	                $sql = '
@@ -512,44 +512,44 @@
 JOIN pg_catalog.pg_class c2 ON c2.oid=i.indrelid
 WHERE c2.relname=\'%s\'';
     			}
-
+				            
                 if ($primary == FALSE) {
                         $sql .= ' AND i.indisprimary=false;';
                 }
-
+                
                 $save = $ADODB_FETCH_MODE;
                 $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
                 if ($this->fetchMode !== FALSE) {
                         $savem = $this->SetFetchMode(FALSE);
                 }
-
+                
                 $rs = $this->Execute(sprintf($sql,$table,$schema));
-
+                
                 if (isset($savem)) {
                         $this->SetFetchMode($savem);
                 }
                 $ADODB_FETCH_MODE = $save;
-
+                
                 if (!is_object($rs)) {
                         return FALSE;
                 }
-
+                
                 $col_names = $this->MetaColumnNames($table);
                 $indexes = array();
-
+                
                 while ($row = $rs->FetchRow()) {
                         $columns = array();
-
+                        
                         foreach (explode(' ', $row[2]) as $col) {
                                 $columns[] = $col_names[$col - 1];
                         }
-
+                        
                         $indexes[$row[0]] = array(
                                 'unique' => ($row[1] == 't'),
                                 'columns' => $columns
                         );
                 }
-
+                
                 return $indexes;
         }
 
@@ -560,11 +560,11 @@
 	// 	$db->Connect('host1','user1','secret');
 	function _connect($str,$user='',$pwd='',$db='',$ctype=0)
 	{
-
+		
 		if (!function_exists('pg_pconnect')) return false;
-
+		
 		$this->_errorMsg = false;
-
+		
 		if ($user || $pwd || $db) {
 			$user = adodb_addslashes($user);
 			$pwd = adodb_addslashes($pwd);
@@ -582,16 +582,16 @@
 		}
 
 		//if ($user) $linea = "user=$user host=$linea password=$pwd dbname=$db port=5432";
-
+		
 		if ($ctype === 1) { // persistent
 			$this->_connectionID = pg_pconnect($str);
 		} else {
 			if ($ctype === -1) { // nconnect, we trick pgsql ext by changing the connection str
 			static $ncnt;
-
+			
 				if (empty($ncnt)) $ncnt = 1;
 				else $ncnt += 1;
-
+				
 				$str .= str_repeat(' ',$ncnt);
 			}
 			$this->_connectionID = pg_connect($str);
@@ -600,12 +600,12 @@
 		$this->Execute("set datestyle='ISO'");
 		return true;
 	}
-
+	
 	function _nconnect($argHostname, $argUsername, $argPassword, $argDatabaseName)
 	{
 	 	return $this->_connect($argHostname, $argUsername, $argPassword, $argDatabaseName,-1);
 	}
-
+	 
 	// returns true or false
 	//
 	// examples:
@@ -615,28 +615,28 @@
 	{
 		return $this->_connect($str,$user,$pwd,$db,1);
 	}
+	
 
-
 	// returns queryID or false
 	function _query($sql,$inputarr)
 	{
-
+		
 		if ($inputarr) {
 		/*
 			It appears that PREPARE/EXECUTE is slower for many queries.
-
+			
 			For query executed 1000 times:
-			"select id,firstname,lastname from adoxyz
+			"select id,firstname,lastname from adoxyz 
 				where firstname not like ? and lastname not like ? and id = ?"
-
+				
 			with plan = 1.51861286163 secs
 			no plan =   1.26903700829 secs
 
+			
 
-
 		*/
 			$plan = 'P'.md5($sql);
-
+				
 			$execp = '';
 			foreach($inputarr as $v) {
 				if ($execp) $execp .= ',';
@@ -646,10 +646,10 @@
 					$execp .= $v;
 				}
 			}
-
+			
 			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.
@@ -672,12 +672,12 @@
 					$sql .= $v.' $'.$i;
 					$i++;
 				}
-				$s = "PREPARE $plan ($params) AS ".substr($sql,0,strlen($sql)-2);
+				$s = "PREPARE $plan ($params) AS ".substr($sql,0,strlen($sql)-2);		
 				//adodb_pr($s);
 				pg_exec($this->_connectionID,$s);
 				echo $this->ErrorMsg();
 			}
-
+			
 			$rez = pg_exec($this->_connectionID,$exsql);
 		} else {
 			$this->_errorMsg = false;
@@ -692,13 +692,13 @@
 			$this->_resultid = $rez;
 			return true;
 		}
-
+		
 		return $rez;
 	}
+	
 
-
-	/*	Returns: the last error message from previous database operation	*/
-	function ErrorMsg()
+	/*	Returns: the last error message from previous database operation	*/	
+	function ErrorMsg() 
 	{
 		if ($this->_errorMsg !== false) return $this->_errorMsg;
 		if (ADODB_PHPVER >= 0x4300) {
@@ -706,7 +706,7 @@
 				$this->_errorMsg = @pg_result_error($this->_resultid);
 				if ($this->_errorMsg) return $this->_errorMsg;
 			}
-
+			
 			if (!empty($this->_connectionID)) {
 				$this->_errorMsg = @pg_last_error($this->_connectionID);
 			} else $this->_errorMsg = @pg_last_error();
@@ -716,7 +716,7 @@
 		}
 		return $this->_errorMsg;
 	}
-
+	
 	function ErrorNo()
 	{
 		$e = $this->ErrorMsg();
@@ -735,8 +735,8 @@
 		$this->_connectionID = false;
 		return true;
 	}
-
-
+	
+	
 	/*
 	* Maximum size of C field
 	*/
@@ -744,7 +744,7 @@
 	{
 		return 1000000000;  // should be 1 Gb?
 	}
-
+	
 	/*
 	* Maximum size of X field
 	*/
@@ -752,10 +752,10 @@
 	{
 		return 1000000000; // should be 1 Gb?
 	}
-
-
+	
+		
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
@@ -764,9 +764,9 @@
 	var $_blobArr;
 	var $databaseType = "postgres64";
 	var $canSeek = true;
-	function ADORecordSet_postgres64($queryID,$mode=false)
+	function ADORecordSet_postgres64($queryID,$mode=false) 
 	{
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
@@ -780,7 +780,7 @@
 		}
 		$this->ADORecordSet($queryID);
 	}
-
+	
 	function &GetRowAssoc($upper=true)
 	{
 		if ($this->fetchMode == PGSQL_ASSOC && !$upper) return $this->fields;
@@ -794,20 +794,20 @@
 		$qid = $this->_queryID;
 		$this->_numOfRows = ($ADODB_COUNTRECS)? @pg_numrows($qid):-1;
 		$this->_numOfFields = @pg_numfields($qid);
-
+		
 		// cache types for blob decode check
-		for ($i=0, $max = $this->_numOfFields; $i < $max; $i++) {
+		for ($i=0, $max = $this->_numOfFields; $i < $max; $i++) {  
 			if (pg_fieldtype($qid,$i) == 'bytea') {
 				$this->_blobArr[$i] = pg_fieldname($qid,$off);
 			}
-		}
+		}		
 	}
 
 		/* Use associative array to get fields array */
 	function Fields($colname)
 	{
 		if ($this->fetchMode != PGSQL_NUM) return @$this->fields[$colname];
-
+		
 		if (!$this->bind) {
 			$this->bind = array();
 			for ($i=0; $i < $this->_numOfFields; $i++) {
@@ -818,28 +818,28 @@
 		 return $this->fields[$this->bind[strtoupper($colname)]];
 	}
 
-	function &FetchField($fieldOffset = 0)
+	function &FetchField($fieldOffset = 0) 
 	{
 		$off=$fieldOffset; // offsets begin at 0
-
+		
 		$o= new ADOFieldObject();
 		$o->name = @pg_fieldname($this->_queryID,$off);
 		$o->type = @pg_fieldtype($this->_queryID,$off);
 		$o->max_length = @pg_fieldsize($this->_queryID,$off);
-		return $o;
+		return $o;	
 	}
 
 	function _seek($row)
 	{
 		return @pg_fetch_row($this->_queryID,$row);
 	}
-
+	
 	function _decode($blob)
 	{
 		eval('$realblob="'.adodb_str_replace(array('"','$'),array('\"','\$'),$blob).'";');
-		return $realblob;
+		return $realblob;	
 	}
-
+	
 	function _fixblobs()
 	{
 		if ($this->fetchMode == PGSQL_NUM || $this->fetchMode == PGSQL_BOTH) {
@@ -853,9 +853,9 @@
 			}
 		}
 	}
-
+	
 	// 10% speedup to move MoveNext to child class
-	function MoveNext()
+	function MoveNext() 
 	{
 		if (!$this->EOF) {
 			$this->_currentRow++;
@@ -870,23 +870,23 @@
 			$this->EOF = true;
 		}
 		return false;
-	}
-
+	}		
+	
 	function _fetch()
 	{
-
+				
 		if ($this->_currentRow >= $this->_numOfRows && $this->_numOfRows >= 0)
         	return false;
 
 		$this->fields = @pg_fetch_array($this->_queryID,$this->_currentRow,$this->fetchMode);
-
+		
 	if ($this->fields && isset($this->_blobArr)) $this->_fixblobs();
-
+			
 		return (is_array($this->fields));
 	}
 
-	function _close()
-	{
+	function _close() 
+	{ 
 		return @pg_freeresult($this->_queryID);
 	}
 
@@ -907,43 +907,43 @@
 		   		case 'BPCHAR':
 				case '_VARCHAR':
 					if ($len <= $this->blobSize) return 'C';
-
+				
 				case 'TEXT':
 					return 'X';
-
+		
 				case 'IMAGE': // user defined type
 				case 'BLOB': // user defined type
 				case 'BIT':	// This is a bit string, not a single bit, so don't return 'L'
 				case 'VARBIT':
 				case 'BYTEA':
 					return 'B';
-
+				
 				case 'BOOL':
 				case 'BOOLEAN':
 					return 'L';
-
+				
 				case 'DATE':
 					return 'D';
-
+				
 				case 'TIME':
 				case 'DATETIME':
 				case 'TIMESTAMP':
 				case 'TIMESTAMPTZ':
 					return 'T';
-
-				case 'SMALLINT':
-				case 'BIGINT':
-				case 'INTEGER':
-				case 'INT8':
+				
+				case 'SMALLINT': 
+				case 'BIGINT': 
+				case 'INTEGER': 
+				case 'INT8': 
 				case 'INT4':
 				case 'INT2':
 					if (isset($fieldobj) &&
 				empty($fieldobj->primary_key) && empty($fieldobj->unique)) return 'I';
-
+				
 				case 'OID':
 				case 'SERIAL':
 					return 'R';
-
+				
 				 default:
 				 	return 'N';
 			}

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres7.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres7.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-postgres7.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,11 +1,11 @@
 <?php
 /*
  V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
-
+  
   Postgres7 support.
   28 Feb 2001: Currently indicate that we support LIMIT
   01 Dec 2001: dannym added support for default values
@@ -14,20 +14,20 @@
 include_once(ADODB_DIR."/drivers/adodb-postgres64.inc.php");
 
 class ADODB_postgres7 extends ADODB_postgres64 {
-	var $databaseType = 'postgres7';
+	var $databaseType = 'postgres7';	
 	var $hasLimit = true;	// set to true for pgsql 6.5+ only. support pgsql/mysql SELECT * FROM TABLE LIMIT 10
 	var $ansiOuter = true;
 	var $charSet = true; //set to true for Postgres 7 and above - PG client supports encodings
-
-	function ADODB_postgres7()
+	
+	function ADODB_postgres7() 
 	{
 		$this->ADODB_postgres64();
 	}
 
-
-	// the following should be compat with postgresql 7.2,
+	
+	// the following should be compat with postgresql 7.2, 
 	// which makes obsolete the LIMIT limit,offset syntax
-	 function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
+	 function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0) 
 	 {
 		 $offsetStr = ($offset >= 0) ? " OFFSET $offset" : '';
 		 $limitStr  = ($nrows >= 0)  ? " LIMIT $nrows" : '';
@@ -35,7 +35,7 @@
 		  	$rs =& $this->CacheExecute($secs2cache,$sql."$limitStr$offsetStr",$inputarr);
 		 else
 		  	$rs =& $this->Execute($sql."$limitStr$offsetStr",$inputarr);
-
+		
 		return $rs;
 	 }
  	/*
@@ -63,9 +63,9 @@
 	c.relname = \''.strtolower($table).'\'
 	ORDER BY
 		t.tgrelid';
-
+	
 	$rs = $this->Execute($sql);
-
+	
 	if ($rs && !$rs->EOF) {
 		$arr =& $rs->GetArray();
 		$a = array();
@@ -113,13 +113,13 @@
                 } else {
                     $a[] = array($data[2] => $data[4].'='.$data[5]);
                 }
-
+                
 			}
 			return $a;
 		}
 		else return false;
     }
-
+	
  	 // 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 UNICODE database and server it on-site as WIN1251 etc.
@@ -137,7 +137,7 @@
 			return $this->charSet;
 		}
 	}
-
+	
 	// SetCharSet - switch the client encoding
 	function SetCharSet($charset_name)
 	{
@@ -151,7 +151,7 @@
 	}
 
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
@@ -159,21 +159,21 @@
 class ADORecordSet_postgres7 extends ADORecordSet_postgres64{
 
 	var $databaseType = "postgres7";
-
-
-	function ADORecordSet_postgres7($queryID,$mode=false)
+	
+	
+	function ADORecordSet_postgres7($queryID,$mode=false) 
 	{
 		$this->ADORecordSet_postgres64($queryID,$mode);
 	}
-
+	
 	 	// 10% speedup to move MoveNext to child class
-	function MoveNext()
+	function MoveNext() 
 	{
 		if (!$this->EOF) {
 			$this->_currentRow++;
 			if ($this->_numOfRows < 0 || $this->_numOfRows > $this->_currentRow) {
 				$this->fields = @pg_fetch_array($this->_queryID,$this->_currentRow,$this->fetchMode);
-
+			
 				if (is_array($this->fields)) {
 					if ($this->fields && isset($this->_blobArr)) $this->_fixblobs();
 					return true;
@@ -183,7 +183,7 @@
 			$this->EOF = true;
 		}
 		return false;
-	}
+	}		
 
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-proxy.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-proxy.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-proxy.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,30 +1,30 @@
 <?php
 /*
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
-
+  
   Synonym for csv driver.
-*/
+*/ 
 
 if (! defined("_ADODB_PROXY_LAYER")) {
 	 define("_ADODB_PROXY_LAYER", 1 );
 	 include(ADODB_DIR."/drivers/adodb-csv.inc.php");
-
+	 
 	class ADODB_proxy extends ADODB_csv {
 		var $databaseType = 'proxy';
 		var $databaseProvider = 'csv';
 	}
 	class ADORecordset_proxy extends ADORecordset_csv {
-	var $databaseType = "proxy";
-
-		function ADORecordset_proxy($id,$mode=false)
+	var $databaseType = "proxy";		
+	
+		function ADORecordset_proxy($id,$mode=false) 
 		{
 			$this->ADORecordset($id,$mode);
 		}
 	};
 } // define
-
-?>
+	
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sapdb.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sapdb.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sapdb.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,13 +1,13 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
+  
   SAPDB data driver. Requires ODBC.
 
 */
@@ -19,40 +19,40 @@
 define('ADODB_SAPDB',1);
 
 class ADODB_SAPDB extends ADODB_odbc {
-	var $databaseType = "sapdb";
+	var $databaseType = "sapdb";	
 	var $concat_operator = '||';
 	var $sysDate = 'DATE';
 	var $sysTimeStamp = 'TIMESTAMP';
 	var $fmtDate = "\\D\\A\\T\\E('Y-m-d')";	/// used by DBDate() as the default date format used by the database
 	var $fmtTimeStamp = "\\T\\I\\M\\E\\S\\T\\A\\M\\P('Y-m-d','H:i:s')"; /// used by DBTimeStamp as the default timestamp fmt.
-
+	
 	function ADODB_SAPDB()
 	{
 		//if (strncmp(PHP_OS,'WIN',3) === 0) $this->curmode = SQL_CUR_USE_ODBC;
 		$this->ADODB_odbc();
 	}
-
+	
 	/*
 		SelectLimit implementation problems:
-
+	
 	 	The following will return random 10 rows as order by performed after "WHERE rowno<10"
 	 	which is not ideal...
-
+		
 	  		select * from table where rowno < 10 order by 1
-
+	  
 	  	This means that we have to use the adoconnection base class SelectLimit when
 	  	there is an "order by".
-
+		
 		See http://listserv.sap.com/pipermail/sapdb.general/2002-January/010405.html
 	 */
-
+	
 };
+ 
 
-
-class  ADORecordSet_sapdb extends ADORecordSet_odbc {
-
-	var $databaseType = "sapdb";
-
+class  ADORecordSet_sapdb extends ADORecordSet_odbc {	
+	
+	var $databaseType = "sapdb";		
+	
 	function ADORecordSet_sapdb($id,$mode=false)
 	{
 		$this->ADORecordSet_odbc($id,$mode);
@@ -60,4 +60,4 @@
 }
 
 } //define
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sqlanywhere.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sqlanywhere.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sqlanywhere.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,10 +1,10 @@
 <?php
-/*
+/* 
 version V4.22 15 Apr 2004 (c) 2000-2004  John Lim (jlim at 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.
+  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/
@@ -30,7 +30,7 @@
 		.
 	   'VALUES (\'test\', ' . $blobVarName . ')');
 
-	 instead of loading blob from a file, you can also load from
+	 instead of loading blob from a file, you can also load from 
 	  an unformatted (raw) blob variable:
 	  $dbcon->load_blobvar_from_var($blobVarName, $varName);
 
@@ -50,9 +50,9 @@
  define('ADODB_SYBASE_SQLANYWHERE',1);
 
  class ADODB_sqlanywhere extends ADODB_odbc {
-  	var $databaseType = "sqlanywhere";
+  	var $databaseType = "sqlanywhere";	
 	var $hasInsertID = true;
-
+	
 	function ADODB_sqlanywhere()
 	{
 		$this->ADODB_odbc();
@@ -149,9 +149,9 @@
   }
  }; //class
 
- class  ADORecordSet_sqlanywhere extends ADORecordSet_odbc {
+ class  ADORecordSet_sqlanywhere extends ADORecordSet_odbc {	
 
-  var $databaseType = "sqlanywhere";
+  var $databaseType = "sqlanywhere";		
 
  function ADORecordSet_sqlanywhere($id,$mode=false)
  {

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sqlite.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sqlite.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sqlite.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,14 +1,14 @@
 <?php
 /*
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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,
+  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.
 
   Latest version is available at http://php.weblogs.com/
-
+  
   SQLite info: http://www.hwaci.com/sw/sqlite/
-
+    
   Install Instructions:
   ====================
   1. Place this in adodb/drivers
@@ -20,27 +20,27 @@
 	var $replaceQuote = "''"; // string to use to replace quotes
 	var $concat_operator='||';
 	var $_errorNo = 0;
-	var $hasLimit = true;
+	var $hasLimit = true;	
 	var $hasInsertID = true; 		/// supports autoincrement ID?
 	var $hasAffectedRows = true; 	/// supports affected rows for update/delete?
 	var $metaTablesSQL = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name";
 	var $sysDate = "adodb_date('Y-m-d')";
 	var $sysTimeStamp = "adodb_date('Y-m-d H:i:s')";
 	var $fmtTimeStamp = "'Y-m-d H:i:s'";
-
-	function ADODB_sqlite()
+	
+	function ADODB_sqlite() 
 	{
 	}
-
+	
 /*
-  function __get($name)
+  function __get($name) 
   {
   	switch($name) {
 	case 'sysDate': return "'".date($this->fmtDate)."'";
 	case 'sysTimeStamp' : return "'".date($this->sysTimeStamp)."'";
 	}
   }*/
-
+	
 	function ServerInfo()
 	{
 		$arr['version'] = sqlite_libversion();
@@ -48,27 +48,27 @@
 		$arr['encoding'] = sqlite_libencoding();
 		return $arr;
 	}
-
+	
 	function BeginTrans()
-	{
-		 if ($this->transOff) return true;
+	{	  
+		 if ($this->transOff) return true; 
 		 $ret = $this->Execute("BEGIN TRANSACTION");
 		 $this->transCnt += 1;
 		 return true;
 	}
-
-	function CommitTrans($ok=true)
-	{
-		if ($this->transOff) return true;
+	
+	function CommitTrans($ok=true) 
+	{ 
+		if ($this->transOff) return true; 
 		if (!$ok) return $this->RollbackTrans();
 		$ret = $this->Execute("COMMIT");
 		if ($this->transCnt>0)$this->transCnt -= 1;
 		return !empty($ret);
 	}
-
+	
 	function RollbackTrans()
 	{
-		if ($this->transOff) return true;
+		if ($this->transOff) return true; 
 		$ret = $this->Execute("ROLLBACK");
 		if ($this->transCnt>0)$this->transCnt -= 1;
 		return !empty($ret);
@@ -78,68 +78,68 @@
 	{
 		return sqlite_last_insert_rowid($this->_connectionID);
 	}
-
+	
 	function _affectedrows()
 	{
         return sqlite_changes($this->_connectionID);
     }
-
-	function ErrorMsg()
+	
+	function ErrorMsg() 
  	{
 		if ($this->_logsql) return $this->_errorMsg;
 		return ($this->_errorNo) ? sqlite_error_string($this->_errorNo) : '';
 	}
-
-	function ErrorNo()
+ 
+	function ErrorNo() 
 	{
 		return $this->_errorNo;
 	}
-
+	
 	function SQLDate($fmt, $col=false)
 	{
 		$fmt = $this->qstr($fmt);
 		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) 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;
+			if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] =& $fld;	
 			else $arr[strtoupper($fld->name)] =& $fld;
 		}
 		$rs->Close();
 		return $arr;
 	}
-
+	
 	function _createFunctions()
 	{
 		@sqlite_create_function($this->_connectionID, 'adodb_date', 'adodb_date', 1);
 		@sqlite_create_function($this->_connectionID, 'adodb_date2', 'adodb_date2', 2);
 	}
+	
 
-
 	// returns true or false
 	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		if (!function_exists('sqlite_open')) return false;
-
+		
 		$this->_connectionID = sqlite_open($argDatabasename);
 		if ($this->_connectionID === false) return false;
 		$this->_createFunctions();
 		return true;
 	}
-
+	
 	// returns true or false
 	function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		if (!function_exists('sqlite_popen')) return false;
-
+		
 		$this->_connectionID = sqlite_popen($argDatabasename);
 		if ($this->_connectionID === false) return false;
 		$this->_createFunctions();
@@ -153,11 +153,11 @@
 		if (!$rez) {
 			$this->_errorNo = sqlite_last_error($this->_connectionID);
 		}
-
+		
 		return $rez;
 	}
-
-	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
+	
+	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0) 
 	{
 		$offsetStr = ($offset >= 0) ? " OFFSET $offset" : '';
 		$limitStr  = ($nrows >= 0)  ? " LIMIT $nrows" : ($offset >= 0 ? ' LIMIT 999999999' : '');
@@ -165,20 +165,20 @@
 	   		$rs =& $this->CacheExecute($secs2cache,$sql."$limitStr$offsetStr",$inputarr);
 	  	else
 	   		$rs =& $this->Execute($sql."$limitStr$offsetStr",$inputarr);
-
+			
 		return $rs;
 	}
-
+	
 	/*
 		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.
 	*/
 	var $_genSeqSQL = "create table %s (id integer)";
-
+	
 	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!
 		$MAXLOOPS = 100;
@@ -186,14 +186,14 @@
 		while (--$MAXLOOPS>=0) {
 			$num = $this->GetOne("select id from $seq");
 			if ($num === false) {
-				$this->Execute(sprintf($this->_genSeqSQL ,$seq));
+				$this->Execute(sprintf($this->_genSeqSQL ,$seq));	
 				$start -= 1;
 				$num = '0';
 				$ok = $this->Execute("insert into $seq values($start)");
 				if (!$ok) return false;
-			}
+			} 
 			$this->Execute("update $seq set id=id+1 where id=$num");
-
+			
 			if ($this->affected_rows() > 0) {
 				$num += 1;
 				$this->genID = $num;
@@ -214,14 +214,14 @@
 		$start -= 1;
 		return $this->Execute("insert into $seqname values($start)");
 	}
-
+	
 	var $_dropSeqSQL = 'drop table %s';
 	function DropSequence($seqname)
 	{
 		if (empty($this->_dropSeqSQL)) return false;
 		return $this->Execute(sprintf($this->_dropSeqSQL,$seqname));
 	}
-
+	
 	// returns true or false
 	function _close()
 	{
@@ -242,8 +242,8 @@
 
 	function ADORecordset_sqlite($queryID,$mode=false)
 	{
-
-		if ($mode === false) {
+		
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
@@ -252,9 +252,9 @@
 		case ADODB_FETCH_ASSOC: $this->fetchMode = SQLITE_ASSOC; break;
 		default: $this->fetchMode = SQLITE_BOTH; break;
 		}
-
+		
 		$this->_queryID = $queryID;
-
+	
 		$this->_inited = true;
 		$this->fields = array();
 		if ($queryID) {
@@ -266,7 +266,7 @@
 			$this->_numOfFields = 0;
 			$this->EOF = true;
 		}
-
+		
 		return $this->_queryID;
 	}
 
@@ -279,7 +279,7 @@
 		$fld->max_length = -1;
 		return $fld;
 	}
-
+	
    function _initrs()
    {
 		$this->_numOfRows = @sqlite_num_rows($this->_queryID);
@@ -296,24 +296,24 @@
 				$this->bind[strtoupper($o->name)] = $i;
 			}
 		}
-
+		
 		 return $this->fields[$this->bind[strtoupper($colname)]];
 	}
-
+	
    function _seek($row)
    {
    		return sqlite_seek($this->_queryID, $row);
    }
 
-	function _fetch($ignore_fields=false)
+	function _fetch($ignore_fields=false) 
 	{
 		$this->fields = @sqlite_fetch_array($this->_queryID,$this->fetchMode);
 		return !empty($this->fields);
 	}
-
-	function _close()
+	
+	function _close() 
 	{
 	}
 
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sybase.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sybase.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-sybase.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,22 +1,22 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 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.
+  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/
-
+  
   Sybase driver contributed by Toni (toni.tunkkari at finebyte.com)
-
+  
   - MSSQL date patch applied.
-
+  
   Date patch by Toni 15 Feb 2002
 */
-
+ 
 class ADODB_sybase extends ADOConnection {
-	var $databaseType = "sybase";
+	var $databaseType = "sybase";	
 	//var $dataProvider = 'sybase';
 	var $replaceQuote = "''"; // string to use to replace quotes
 	var $fmtDate = "'Y-m-d'";
@@ -27,20 +27,20 @@
 	// see http://sybooks.sybase.com/onlinebooks/group-aw/awg0800e/dbrfen8/@ebt-link;pt=5981;uf=0?target=0;window=new;showtoc=true;book=dbrfen8
 	var $metaColumnsSQL = "SELECT c.column_name, c.column_type, c.width FROM syscolumn c, systable t WHERE t.table_name='%s' AND c.table_id=t.table_id AND t.table_type='BASE'";
 	/*
-	"select c.name,t.name,c.length from
-	syscolumns c join systypes t on t.xusertype=c.xusertype join sysobjects o on o.id=c.id
+	"select c.name,t.name,c.length from 
+	syscolumns c join systypes t on t.xusertype=c.xusertype join sysobjects o on o.id=c.id 
 	where o.name='%s'";
 	*/
-	var $concat_operator = '+';
+	var $concat_operator = '+'; 
 	var $arrayClass = 'ADORecordSet_array_sybase';
 	var $sysDate = 'GetDate()';
 	var $leftOuter = '*=';
 	var $rightOuter = '=*';
-
-	function ADODB_sybase()
-	{
+	
+	function ADODB_sybase() 
+	{			
 	}
-
+ 
 	// might require begintrans -- committrans
 	function _insertid()
 	{
@@ -52,28 +52,28 @@
 	   return $this->GetOne('select @@rowcount');
 	}
 
-
+			  
 	function BeginTrans()
-	{
-
+	{	
+	
 		if ($this->transOff) return true;
 		$this->transCnt += 1;
-
+		   
 		$this->Execute('BEGIN TRAN');
 		return true;
 	}
-
-	function CommitTrans($ok=true)
-	{
+	
+	function CommitTrans($ok=true) 
+	{ 
 		if ($this->transOff) return true;
-
+		
 		if (!$ok) return $this->RollbackTrans();
-
+	
 		$this->transCnt -= 1;
 		$this->Execute('COMMIT TRAN');
 		return true;
 	}
-
+	
 	function RollbackTrans()
 	{
 		if ($this->transOff) return true;
@@ -81,28 +81,28 @@
 		$this->Execute('ROLLBACK TRAN');
 		return true;
 	}
-
+	
 	// http://www.isug.com/Sybase_FAQ/ASE/section6.1.html#6.1.4
-	function RowLock($tables,$where)
+	function RowLock($tables,$where) 
 	{
 		if (!$this->_hastrans) $this->BeginTrans();
 		$tables = str_replace(',',' HOLDLOCK,',$tables);
 		return $this->GetOne("select top 1 null as ignore from $tables HOLDLOCK where $where");
-
-	}
-
+		
+	}	
+		
 	function SelectDB($dbName) {
 		$this->databaseName = $dbName;
 		if ($this->_connectionID) {
-			return @sybase_select_db($dbName);
+			return @sybase_select_db($dbName);		
 		}
-		else return false;
+		else return false;	
 	}
 
 	/*	Returns: the last error message from previous database operation
-		Note: This function is NOT available for Microsoft SQL Server.	*/
+		Note: This function is NOT available for Microsoft SQL Server.	*/	
 
-	function ErrorMsg()
+	function ErrorMsg() 
 	{
 		if ($this->_logsql) return $this->_errorMsg;
 		$this->_errorMsg = sybase_get_last_message();
@@ -113,36 +113,36 @@
 	function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		if (!function_exists('sybase_connect')) return false;
-
+		
 		$this->_connectionID = sybase_connect($argHostname,$argUsername,$argPassword);
 		if ($this->_connectionID === false) return false;
 		if ($argDatabasename) return $this->SelectDB($argDatabasename);
-		return true;
+		return true;	
 	}
 	// returns true or false
 	function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
 	{
 		if (!function_exists('sybase_connect')) return false;
-
+		
 		$this->_connectionID = sybase_pconnect($argHostname,$argUsername,$argPassword);
 		if ($this->_connectionID === false) return false;
 		if ($argDatabasename) return $this->SelectDB($argDatabasename);
-		return true;
+		return true;	
 	}
-
+	
 	// returns query ID if successful, otherwise false
 	function _query($sql,$inputarr)
 	{
 	global $ADODB_COUNTRECS;
-
+	
 		if ($ADODB_COUNTRECS == false && ADODB_PHPVER >= 0x4300)
 			return sybase_unbuffered_query($sql,$this->_connectionID);
 		else
 			return sybase_query($sql,$this->_connectionID);
 	}
-
+	
 	// See http://www.isug.com/Sybase_FAQ/ASE/section6.2.html#6.2.12
-	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
+	function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0) 
 	{
 		if ($secs2cache > 0) {// we do not cache rowcount, so we have to load entire recordset
 			$rs =& ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
@@ -150,32 +150,32 @@
 		}
 		$cnt = ($nrows > 0) ? $nrows : 0;
 		if ($offset > 0 && $cnt) $cnt += $offset;
-
-		$this->Execute("set rowcount $cnt");
+		
+		$this->Execute("set rowcount $cnt"); 
 		$rs =& ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
-		$this->Execute("set rowcount 0");
-
+		$this->Execute("set rowcount 0"); 
+		
 		return $rs;
 	}
 
 	// returns true or false
 	function _close()
-	{
+	{ 
 		return @sybase_close($this->_connectionID);
 	}
-
+	
 	function UnixDate($v)
 	{
 		return ADORecordSet_array_sybase::UnixDate($v);
 	}
-
+	
 	function UnixTimeStamp($v)
 	{
 		return ADORecordSet_array_sybase::UnixTimeStamp($v);
-	}
+	}	
+	
+	
 
-
-
 	# Added 2003-10-05 by Chris Phillipson
     # Used ASA SQL Reference Manual -- http://sybooks.sybase.com/onlinebooks/group-aw/awg0800e/dbrfen8/@ebt-link;pt=16756?target=%25N%15_12018_START_RESTART_N%25
     # to convert similar Microsoft SQL*Server (mssql) API into Sybase compatible version
@@ -238,7 +238,7 @@
         }
         return $s;
     }
-
+	
 	# Added 2003-10-07 by Chris Phillipson
     # Used ASA SQL Reference Manual -- http://sybooks.sybase.com/onlinebooks/group-aw/awg0800e/dbrfen8/@ebt-link;pt=5981;uf=0?target=0;window=new;showtoc=true;book=dbrfen8
     # to convert similar Microsoft SQL*Server (mssql) API into Sybase compatible version
@@ -256,7 +256,7 @@
         return false;
     }
 }
-
+	
 /*--------------------------------------------------------------------------------------
 	 Class Name: Recordset
 --------------------------------------------------------------------------------------*/
@@ -265,16 +265,16 @@
 	'JAN'=>1,'FEB'=>2,'MAR'=>3,'APR'=>4,'MAY'=>5,'JUN'=>6,
 	'JUL'=>7,'AUG'=>8,'SEP'=>9,'OCT'=>10,'NOV'=>11,'DEC'=>12);
 
-class ADORecordset_sybase extends ADORecordSet {
+class ADORecordset_sybase extends ADORecordSet {	
 
 	var $databaseType = "sybase";
 	var $canSeek = true;
 	// _mths works only in non-localised system
-	var  $_mths = array('JAN'=>1,'FEB'=>2,'MAR'=>3,'APR'=>4,'MAY'=>5,'JUN'=>6,'JUL'=>7,'AUG'=>8,'SEP'=>9,'OCT'=>10,'NOV'=>11,'DEC'=>12);
+	var  $_mths = array('JAN'=>1,'FEB'=>2,'MAR'=>3,'APR'=>4,'MAY'=>5,'JUN'=>6,'JUL'=>7,'AUG'=>8,'SEP'=>9,'OCT'=>10,'NOV'=>11,'DEC'=>12);	
 
 	function ADORecordset_sybase($id,$mode=false)
 	{
-		if ($mode === false) {
+		if ($mode === false) { 
 			global $ADODB_FETCH_MODE;
 			$mode = $ADODB_FETCH_MODE;
 		}
@@ -282,12 +282,12 @@
 		else $this->fetchMode = $mode;
 		return $this->ADORecordSet($id,$mode);
 	}
-
-	/*	Returns: an object containing field information.
+	
+	/*	Returns: an object containing field information. 
 		Get column information in the Recordset object. fetchField() can be used in order to obtain information about
 		fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retrieved by
 		fetchField() is retrieved.	*/
-	function &FetchField($fieldOffset = -1)
+	function &FetchField($fieldOffset = -1) 
 	{
 		if ($fieldOffset != -1) {
 			$o = @sybase_fetch_field($this->_queryID, $fieldOffset);
@@ -299,20 +299,20 @@
 		if ($o && !isset($o->type)) $o->type = ($o->numeric) ? 'float' : 'varchar';
 		return $o;
 	}
-
+	
 	function _initrs()
 	{
 	global $ADODB_COUNTRECS;
 		$this->_numOfRows = ($ADODB_COUNTRECS)? @sybase_num_rows($this->_queryID):-1;
 		$this->_numOfFields = @sybase_num_fields($this->_queryID);
 	}
-
-	function _seek($row)
+	
+	function _seek($row) 
 	{
 		return @sybase_data_seek($this->_queryID, $row);
-	}
+	}		
 
-	function _fetch($ignore_fields=false)
+	function _fetch($ignore_fields=false) 
 	{
 		if ($this->fetchMode == ADODB_FETCH_NUM) {
 			$this->fields = @sybase_fetch_row($this->_queryID);
@@ -332,19 +332,19 @@
 
 		return false;
 	}
-
+	
 	/*	close() only needs to be called if you are worried about using too much memory while your script
 		is running. All associated result memory for the specified result identifier will automatically be freed.	*/
 	function _close() {
-		return @sybase_free_result($this->_queryID);
+		return @sybase_free_result($this->_queryID);		
 	}
-
+	
 	// sybase/mssql uses a default date like Dec 30 2000 12:00AM
 	function UnixDate($v)
 	{
 		return ADORecordSet_array_sybase::UnixDate($v);
 	}
-
+	
 	function UnixTimeStamp($v)
 	{
 		return ADORecordSet_array_sybase::UnixTimeStamp($v);
@@ -356,25 +356,25 @@
 	{
 		$this->ADORecordSet_array($id);
 	}
-
+	
 		// sybase/mssql uses a default date like Dec 30 2000 12:00AM
 	function UnixDate($v)
 	{
 	global $ADODB_sybase_mths;
-
+	
 		//Dec 30 2000 12:00AM
 		if (!ereg( "([A-Za-z]{3})[-/\. ]+([0-9]{1,2})[-/\. ]+([0-9]{4})"
 			,$v, $rr)) return parent::UnixDate($v);
-
+			
 		if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+		
 		$themth = substr(strtoupper($rr[1]),0,3);
 		$themth = $ADODB_sybase_mths[$themth];
 		if ($themth <= 0) return false;
 		// h-m-s-MM-DD-YY
 		return  mktime(0,0,0,$themth,$rr[2],$rr[3]);
 	}
-
+	
 	function UnixTimeStamp($v)
 	{
 	global $ADODB_sybase_mths;
@@ -383,11 +383,11 @@
 		if (!ereg( "([A-Za-z]{3})[-/\. ]([0-9 ]{1,2})[-/\. ]([0-9]{4}) +([0-9]{1,2}):([0-9]{1,2}) *([apAP]{0,1})"
 			,$v, $rr)) return parent::UnixTimeStamp($v);
 		if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0;
-
+		
 		$themth = substr(strtoupper($rr[1]),0,3);
 		$themth = $ADODB_sybase_mths[$themth];
 		if ($themth <= 0) return false;
-
+		
 		switch (strtoupper($rr[6])) {
 		case 'P':
 			if ($rr[4]<12) $rr[4] += 12;

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-vfp.inc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-vfp.inc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/adodb/drivers/adodb-vfp.inc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,13 +1,13 @@
 <?php
-/*
+/* 
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim at 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.
+  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/
-
+  
   Microsoft Visual FoxPro data driver. Requires ODBC. Works only on MS Windows.
 */
 
@@ -17,7 +17,7 @@
 if (!defined('ADODB_VFP')){
 define('ADODB_VFP',1);
 class ADODB_vfp extends ADODB_odbc {
-	var $databaseType = "vfp";
+	var $databaseType = "vfp";	
 	var $fmtDate = "{^Y-m-d}";
 	var $fmtTimeStamp = "{^Y-m-d, h:i:sA}";
 	var $replaceQuote = "'+chr(39)+'" ;
@@ -31,20 +31,20 @@
 	var $ansiOuter = true;
 	var $hasTransactions = false;
 	var $curmode = SQL_CUR_USE_ODBC ; // See sqlext.h, SQL_CUR_DEFAULT == SQL_CUR_USE_DRIVER == 2L
-
+	
 	function ADODB_vfp()
 	{
 		$this->ADODB_odbc();
 	}
-
+	
 	function Time()
 	{
 		return time();
 	}
-
-
+	
+	
 	function BeginTrans() { return false;}
-
+	
 	// quote string to be sent back to database
 	function qstr($s,$nofixquotes=false)
 	{
@@ -52,24 +52,24 @@
 		return "'".$s."'";
 	}
 
-
+	
 	// TOP requires ORDER BY for VFP
 	function &SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0)
 	{
 		$this->hasTop = preg_match('/ORDER[ \t\r\n]+BY/is',$sql) ? 'top' : false;
 		return ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
 	}
+	
 
 
-
 };
+ 
 
+class  ADORecordSet_vfp extends ADORecordSet_odbc {	
+	
+	var $databaseType = "vfp";		
 
-class  ADORecordSet_vfp extends ADORecordSet_odbc {
-
-	var $databaseType = "vfp";
-
-
+	
 	function ADORecordSet_vfp($id,$mode=false)
 	{
 		return $this->ADORecordSet_odbc($id,$mode);
@@ -87,19 +87,19 @@
 			if ($len <= $this->blobSize) return 'C';
 		case 'M':
 			return 'X';
-
+			 
 		case 'D': return 'D';
-
+		
 		case 'T': return 'T';
-
+		
 		case 'L': return 'L';
-
+		
 		case 'I': return 'I';
-
+		
 		default: return 'N';
 		}
 	}
 }
 
 } //define
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mssql.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mssql.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mssql.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -27,7 +27,7 @@
 
         $this->_prefix = isset($dbparams['prefix']) ? $dbparams['prefix'] : '';
     }
-
+  
     /**
      * Pack tables.
      */
@@ -112,5 +112,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mssqlnative.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mssqlnative.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mssqlnative.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -27,7 +27,7 @@
         $this->_prefix = isset($dbparams['prefix']) ? $dbparams['prefix'] : '';
 
     }
-
+  
     /**
      * Pack tables.
      */
@@ -111,7 +111,7 @@
                 if ($relation) {
                     $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto, relation)"
                                   . " VALUES ($pageid, $linkid, $relation)");
-                } else {
+                } else {            
                     $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto)"
                                   . " VALUES ($pageid, $linkid)");
                 }
@@ -199,7 +199,7 @@
                     if ($relation) {
                         $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto, relation)"
                                       . " VALUES ($pageid, $linkid, $relation)");
-                    } else {
+                    } else {            
                         $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto)"
                                       . " VALUES ($pageid, $linkid)");
                     }
@@ -244,5 +244,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mysql.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mysql.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_mysql.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -36,7 +36,7 @@
     function WikiDB_backend_ADODB_mysql($dbparams) {
         $this->WikiDB_backend_ADODB($dbparams);
         if (!$this->_dbh->_connectionID) return;
-
+      
         $this->_serverinfo = $this->_dbh->ServerInfo();
         if (!empty($this->_serverinfo['version'])) {
             $arr = explode('.',$this->_serverinfo['version']);
@@ -62,7 +62,7 @@
             }
         }
     }
-
+  
     /**
      * Kill timed out processes. ( so far only called on about every 50-th save. )
      */
@@ -109,7 +109,7 @@
             if (!$result or $result[0] == 0) {
                 trigger_error( "WARNING: Couldn't obtain application lock " . $lock . "\n<br />",
                                E_USER_WARNING);
-                return;
+                return;                        
             }
     	}
         if (DO_FULL_LOCK) {
@@ -166,7 +166,7 @@
                 return $cache[$pagename];
             }
         }
-
+      
 	// attributes play this game.
         if ($pagename === '') return 0;
 
@@ -199,10 +199,10 @@
     function set_versiondata($pagename, $version, $data) {
         $dbh = &$this->_dbh;
         $version_tbl = $this->_table_names['version_tbl'];
-
+      
         $minor_edit = (int) !empty($data['is_minor_edit']);
         unset($data['is_minor_edit']);
-
+      
         $mtime = (int)$data['mtime'];
         unset($data['mtime']);
         assert(!empty($mtime));
@@ -210,7 +210,7 @@
         @$content = (string) $data['%content'];
         unset($data['%content']);
         unset($data['%pagedata']);
-
+      
         $this->lock(array('page','recent','version','nonempty'));
         $dbh->BeginTrans( );
         $dbh->CommitLock($version_tbl);
@@ -229,7 +229,7 @@
         else $dbh->RollbackTrans( );
         $this->unlock(array('page','recent','version','nonempty'));
     }
-
+  
 };
 
 // Local Variables:
@@ -238,5 +238,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_oci8po.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_oci8po.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_oci8po.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -30,7 +30,7 @@
 
         $this->_prefix = isset($dbparams['prefix']) ? $dbparams['prefix'] : '';
     }
-
+  
     /**
      * Pack tables.
      */
@@ -96,7 +96,7 @@
                . "OR DBMS_LOB.INSTR(content, '$word') > 0";
     }
     */
-
+  
     /**
      * Serialize data
      */
@@ -136,7 +136,7 @@
                           $entry->user,
                           $entry->request_method,
                           $entry->request,
-                          $entry->request_uri,
+                          $entry->request_uri,  
                           $entry->request_args,
                           $entry->_ncsa_time($entry->time),
                           $entry->status,
@@ -172,5 +172,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_postgres7.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_postgres7.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_postgres7.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -161,5 +161,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_sqlite.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_sqlite.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/ADODB_sqlite.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -26,7 +26,7 @@
         }
         $this->WikiDB_backend_ADODB($dbparams);
     }
-
+  
     function _get_pageid($pagename, $create_if_missing = false) {
         $dbh = &$this->_dbh;
         $page_tbl = $this->_table_names['page_tbl'];
@@ -41,7 +41,7 @@
 
         $row = $dbh->GetRow($query);
         if (! $row ) {
-            // atomic version
+            // atomic version 
             // TODO: we have auto-increment since sqlite-2.3.4
             //   http://www.sqlite.org/faq.html#q1
             $rs = $dbh->Execute(sprintf("INSERT INTO $page_tbl"
@@ -62,5 +62,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -40,7 +40,7 @@
             $ErrorManager->pushErrorHandler(new WikiMethodCb($this, '_pear_notice_filter'));
             $this->_pearerrhandler = true;
         }
-
+      
         // Open connection to database
         $this->_dsn = $dbparams['dsn'];
 	$this->_dbparams = $dbparams;
@@ -59,7 +59,7 @@
                           isset($dbparams['_tryroot_from_upgrade']) // hack!
                             ? E_USER_WARNING : E_USER_ERROR);
             if (isset($dbparams['_tryroot_from_upgrade']))
-                return;
+                return;              
         }
         $dbh->setErrorHandling(PEAR_ERROR_CALLBACK,
                                array($this, '_pear_error_callback'));
@@ -84,9 +84,9 @@
                     'maxversion'   => "MAX(version)",
                     'notempty'     => "<>''",
                     'iscontent'    => "content<>''");
-
+      
     }
-
+  
     /**
      * Close database connection.
      */
@@ -120,7 +120,7 @@
                                     . "   AND pagename='%s'",
                                     $dbh->escapeSimple($pagename)));
     }
-
+      
     function get_all_pagenames() {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
@@ -136,7 +136,7 @@
                             . " FROM $nonempty_tbl, $page_tbl"
                             . " WHERE $nonempty_tbl.id=$page_tbl.id");
     }
-
+  
     function increaseHitCount($pagename) {
         $dbh = &$this->_dbh;
         // Hits is the only thing we can update in a fast manner.
@@ -192,7 +192,7 @@
             $data = array();
             $this->_get_pageid($pagename, true); // Creates page record
         }
-
+      
         $hits = !empty($data['hits']) ? (int)$data['hits'] : 0;
         unset($data['hits']);
 
@@ -239,7 +239,7 @@
     }
 
     function _get_pageid($pagename, $create_if_missing = false) {
-
+      
         // check id_cache
         global $request;
         $cache =& $request->_dbi->_cache->_id_cache;
@@ -254,7 +254,7 @@
 
         $dbh = &$this->_dbh;
         $page_tbl = $this->_table_names['page_tbl'];
-
+      
         $query = sprintf("SELECT id FROM $page_tbl WHERE pagename='%s'",
                          $dbh->escapeSimple($pagename));
 
@@ -291,7 +291,7 @@
     function get_previous_version($pagename, $version) {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
-
+      
         return
             (int)$dbh->getOne(sprintf("SELECT version"
                                       . " FROM $version_tbl, $page_tbl"
@@ -305,7 +305,7 @@
                                       $dbh->escapeSimple($pagename),
                                       $version));
     }
-
+  
     /**
      * Get version data.
      *
@@ -321,7 +321,7 @@
 
         assert(is_string($pagename) and $pagename != "");
         assert($version > 0);
-
+      
         //trigger_error("GET_REVISION $pagename $version $want_content", E_USER_NOTICE);
         // FIXME: optimization: sometimes don't get page data?
         if ($want_content) {
@@ -358,10 +358,10 @@
                 base64_decode($query_result['versiondata']);
         }
         $data = $this->_unserialize($query_result['versiondata']);
-
+      
         $data['mtime'] = $query_result['mtime'];
         $data['is_minor_edit'] = !empty($query_result['minor_edit']);
-
+      
         if (isset($query_result['content']))
             $data['%content'] = $query_result['content'];
         elseif ($query_result['have_content'])
@@ -387,10 +387,10 @@
     function set_versiondata($pagename, $version, $data) {
         $dbh = &$this->_dbh;
         $version_tbl = $this->_table_names['version_tbl'];
-
+      
         $minor_edit = (int) !empty($data['is_minor_edit']);
         unset($data['is_minor_edit']);
-
+      
         $mtime = (int)$data['mtime'];
         unset($data['mtime']);
         assert(!empty($mtime));
@@ -399,7 +399,7 @@
         unset($data['%content']);
 
         unset($data['%pagedata']);
-
+      
         $this->lock();
         $id = $this->_get_pageid($pagename, true);
 
@@ -415,10 +415,10 @@
 
         $this->_update_recent_table($id);
         $this->_update_nonempty_table($id);
-
+      
         $this->unlock();
     }
-
+  
     /**
      * Delete an old revision of a page.
      */
@@ -469,7 +469,7 @@
     function purge_page($pagename) {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
-
+      
         $this->lock();
         if ( ($id = $this->_get_pageid($pagename, false)) ) {
             $dbh->query("DELETE FROM $nonempty_tbl WHERE id=$id");
@@ -543,7 +543,7 @@
 	}
         $this->unlock();
     }
-
+  
     /**
      * Find pages which link to or are linked from a page.
      *
@@ -589,7 +589,7 @@
         } else {
             $result = $dbh->query($sql);
         }
-
+      
         return new WikiDB_backend_PearDB_iter($this, $result);
     }
 
@@ -672,7 +672,7 @@
         }
         return new WikiDB_backend_PearDB_iter($this, $result, $options);
     }
-
+      
     /**
      * Title search.
      * Todo: exclude
@@ -691,7 +691,7 @@
         if (!class_exists($searchclass))
             $searchclass = "WikiDB_backend_PearDB_search";
         $searchobj = new $searchclass($search, $dbh);
-
+      
         $table = "$nonempty_tbl, $page_tbl";
         $join_clause = "$nonempty_tbl.id=$page_tbl.id";
         $fields = $this->page_tbl_fields;
@@ -709,7 +709,7 @@
             $callback = new WikiMethodCb($searchobj, "_pagename_match_clause");
         }
         $search_clause = $search->makeSqlClauseObj($callback);
-
+      
         $sql = "SELECT $fields FROM $table"
             . " WHERE $join_clause"
             . "  AND ($search_clause)"
@@ -720,7 +720,7 @@
          } else {
              $result = $dbh->query($sql);
          }
-
+      
         $iter = new WikiDB_backend_PearDB_iter($this, $result);
         $iter->stoplisted = @$searchobj->stoplisted;
         return $iter;
@@ -810,8 +810,8 @@
         $pick = array();
         if ($since)
             $pick[] = "mtime >= $since";
-
-
+	
+      
         if ($include_all_revisions) {
             // Include all revisions of each page.
             $table = "$page_tbl, $version_tbl";
@@ -831,7 +831,7 @@
             $join_clause = "$page_tbl.id=$recent_tbl.id";
             $table .= ", $version_tbl";
             $join_clause .= " AND $version_tbl.id=$page_tbl.id";
-
+          
             if ($exclude_major_revisions) {
                 // Include only most recent minor revision
                 $pick[] = 'version=latestminor';
@@ -916,7 +916,7 @@
     function rename_page ($pagename, $to) {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
-
+      
         $this->lock();
         if (($id = $this->_get_pageid($pagename, false)) ) {
             if ($new = $this->_get_pageid($to, false)) {
@@ -976,7 +976,7 @@
                     //. "  AND content<>''"
                     . "  AND content $notempty"
                     . ( $pageid ? " AND $recent_tbl.id=$pageid" : ""));
-
+      
         $this->unlock();
     }
 
@@ -1000,7 +1000,7 @@
     function _lock_tables($write_lock) {
         trigger_error("virtual", E_USER_ERROR);
     }
-
+  
     /**
      * Release a write lock on the tables in the SQL database.
      *
@@ -1044,7 +1044,7 @@
     function _unserialize($data) {
         return empty($data) ? array() : unserialize($data);
     }
-
+  
     /**
      * Callback for PEAR (DB) errors.
      *
@@ -1055,7 +1055,7 @@
     function _pear_error_callback($error) {
         if ($this->_is_false_error($error))
             return;
-
+      
         $this->_dbh->setErrorHandling(PEAR_ERROR_PRINT);	// prevent recursive loops.
         $this->close();
         trigger_error($this->_pear_error_message($error), E_USER_ERROR);
@@ -1084,13 +1084,13 @@
             //" <--kludge for brain-dead syntax coloring
             return false;
         }
-
+      
         if (! in_array('ismanip', get_class_methods('DB'))) {
             // Pear shipped with PHP 4.0.4pl1 (and before, presumably)
             // does not have the DB::isManip method.
             return true;
         }
-
+      
         if (DB::isManip($query)) {
             // If Pear thinks it's an isManip then it wouldn't have thrown
             // the error we're testing for....
@@ -1187,7 +1187,7 @@
             // This shouldn't happen, I thought.
             $backend->_pear_error_callback($query_result);
         }
-
+      
         $this->_backend = &$backend;
         $this->_result = $query_result;
         $this->_options = $field_list;
@@ -1198,7 +1198,7 @@
             return false;
         return $this->_result->numRows();
     }
-
+  
     function next() {
         if (!$this->_result)
             return false;
@@ -1208,7 +1208,7 @@
             $this->free();
             return false;
         }
-
+      
         return $record;
     }
 
@@ -1247,7 +1247,7 @@
             $this->free();
             return false;
         }
-
+      
         $pagedata = $backend->_extract_page_data($record);
         $rec = array('pagename' => $record['pagename'],
                      'pagedata' => $pagedata);
@@ -1256,7 +1256,7 @@
             $rec['versiondata'] = $backend->_extract_version_data($record);
             $rec['version'] = $record['version'];
         }
-
+      
         return $rec;
     }
 }
@@ -1273,5 +1273,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_ffpgsql.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_ffpgsql.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_ffpgsql.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -109,7 +109,7 @@
             $data = array();
             $this->_get_pageid($pagename, true); // Creates page record
         }
-
+      
         if (isset($data['hits'])) {
              $hits = (int)$data['hits'];
              unset($data['hits']);
@@ -159,7 +159,7 @@
 
         // assert(is_string($pagename) and $pagename != "");
         // assert($version > 0);
-
+      
         //trigger_error("GET_REVISION $pagename $version $want_content", E_USER_NOTICE);
         // FIXME: optimization: sometimes don't get page data?
         if ($want_content) {
@@ -194,7 +194,7 @@
     }
 
     function _get_pageid($pagename, $create_if_missing = false) {
-
+      
         // check id_cache
         global $request;
         $cache =& $request->_dbi->_cache->_id_cache;
@@ -210,7 +210,7 @@
         $dbh = &$this->_dbh;
         $page_tbl = $this->_table_names['page_tbl'];
         $pagename = PAGE_PREFIX.$pagename;
-
+      
         $query = sprintf("SELECT id FROM $page_tbl WHERE pagename='%s'",
                          $dbh->escapeSimple($pagename));
 
@@ -236,7 +236,7 @@
     function purge_page($pagename) {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
-
+      
         $this->lock();
         if ( ($id = $this->_get_pageid($pagename, false)) ) {
             $dbh->query("DELETE FROM $nonempty_tbl WHERE id=$id");
@@ -305,7 +305,7 @@
         } else {
             $result = $dbh->query($sql);
         }
-
+      
         return new WikiDB_backend_PearDB_iter($this, $result);
     }
 
@@ -429,8 +429,8 @@
         $pick = array();
         if ($since)
             $pick[] = "mtime >= $since";
-
-
+	
+      
         if ($include_all_revisions) {
             // Include all revisions of each page.
             $table = "$page_tbl, $version_tbl";
@@ -450,7 +450,7 @@
             $join_clause = "$page_tbl.id=$recent_tbl.id";
             $table .= ", $version_tbl";
             $join_clause .= " AND $version_tbl.id=$page_tbl.id";
-
+          
             if ($exclude_major_revisions) {
                 // Include only most recent minor revision
                 $pick[] = 'version=latestminor';
@@ -531,7 +531,7 @@
     function rename_page ($pagename, $to) {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
-
+      
         $this->lock();
         if (($id = $this->_get_pageid($pagename, false)) ) {
             if ($new = $this->_get_pageid($to, false)) {
@@ -591,7 +591,7 @@
         if (!class_exists($searchclass))
             $searchclass = "WikiDB_backend_PearDB_search";
         $searchobj = new $searchclass($search, $dbh);
-
+      
         $table = "$nonempty_tbl, $page_tbl";
         $join_clause = "$nonempty_tbl.id=$page_tbl.id";
         $fields = $this->page_tbl_fields;
@@ -618,7 +618,7 @@
             $search_clause = "substring(plugin_wiki_page.pagename from 0 for $len) = '$pat') AND (";
             $search_clause .= $search->makeSqlClauseObj($callback);
         }
-
+      
         $sql = "SELECT $fields FROM $table"
             . " WHERE $join_clause"
             . "  AND ($search_clause)"
@@ -629,7 +629,7 @@
          } else {
              $result = $dbh->query($sql);
          }
-
+      
         $iter = new WikiDB_backend_PearDB_iter($this, $result);
         $iter->stoplisted = @$searchobj->stoplisted;
         return $iter;
@@ -706,5 +706,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_mysql.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_mysql.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_mysql.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -42,7 +42,7 @@
             }
         }
     }
-
+  
     /**
      * Kill timed out processes. ( so far only called on about every 50-th save. )
      */
@@ -67,10 +67,10 @@
     function set_versiondata($pagename, $version, $data) {
         $dbh = &$this->_dbh;
         $version_tbl = $this->_table_names['version_tbl'];
-
+      
         $minor_edit = (int) !empty($data['is_minor_edit']);
         unset($data['is_minor_edit']);
-
+      
         $mtime = (int)$data['mtime'];
         unset($data['mtime']);
         assert(!empty($mtime));
@@ -78,7 +78,7 @@
         @$content = (string) $data['%content'];
         unset($data['%content']);
         unset($data['%pagedata']);
-
+      
         $this->lock();
         $id = $this->_get_pageid($pagename, true);
         // requires PRIMARY KEY (id,version)!
@@ -163,7 +163,7 @@
                     . ( $pageid ? " AND $recent_tbl.id=$pageid" : ""));
     }
     */
-
+ 
     /**
      * Pack tables.
      */
@@ -231,5 +231,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_oci8.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_oci8.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_oci8.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -48,7 +48,7 @@
      */
     function _lock_tables($write_lock=true) {
         $dbh = &$this->_dbh;
-
+      
         // Not sure if we really need to lock tables here, the Oracle row
         // locking mechanism should be more than enough
         // For the time being, lets stay on the safe side and lock...
@@ -89,7 +89,7 @@
                           $entry->user,
                           $entry->request_method,
                           $entry->request,
-                          $entry->request_uri,
+                          $entry->request_uri,  
                           $entry->request_args,
                           $entry->_ncsa_time($entry->time),
                           $entry->status,
@@ -125,5 +125,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_pgsql.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_pgsql.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_pgsql.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -42,7 +42,7 @@
             return true;        // Ignore error
         return false;
     }
-
+          
     /**
      * Pack tables.
      * NOTE: Only the table owner can do this. Either fix the schema or setup autovacuum.
@@ -107,10 +107,10 @@
     function _todo_set_versiondata($pagename, $version, $data) {
         $dbh = &$this->_dbh;
         $version_tbl = $this->_table_names['version_tbl'];
-
+      
         $minor_edit = (int) !empty($data['is_minor_edit']);
         unset($data['is_minor_edit']);
-
+      
         $mtime = (int)$data['mtime'];
         unset($data['mtime']);
         assert(!empty($mtime));
@@ -118,7 +118,7 @@
         @$content = (string) $data['%content'];
         unset($data['%content']);
         unset($data['%pagedata']);
-
+      
         $this->lock();
         $id = $this->_get_pageid($pagename, true);
         $dbh->query(sprintf("DELETE FROM version WHERE id=%d AND version=%d", $id, $version));
@@ -147,7 +147,7 @@
     function _todo_rename_page ($pagename, $to) {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
-
+      
         $this->lock();
         if (($id = $this->_get_pageid($pagename, false)) ) {
             if ($new = $this->_get_pageid($to, false)) {
@@ -216,7 +216,7 @@
         if (!class_exists($searchclass))
             $searchclass = "WikiDB_backend_PearDB_search";
         $searchobj = new $searchclass($search, $dbh);
-
+      
         $table = "$nonempty_tbl, $page_tbl";
         $join_clause = "$nonempty_tbl.id=$page_tbl.id";
         $fields = $this->page_tbl_fields;
@@ -240,7 +240,7 @@
             $callback = new WikiMethodCb($searchobj, "_pagename_match_clause");
             $search_clause = $search->makeSqlClauseObj($callback);
         }
-
+      
         $sql = "SELECT $fields FROM $table"
             . " WHERE $join_clause"
             . "  AND ($search_clause)"
@@ -251,7 +251,7 @@
          } else {
              $result = $dbh->query($sql);
          }
-
+      
         $iter = new WikiDB_backend_PearDB_iter($this, $result);
         $iter->stoplisted = @$searchobj->stoplisted;
         return $iter;
@@ -291,7 +291,7 @@
  see             |   42 |     69
  default         |   39 |    124
     */
-
+  
     /**
      * use tsearch2. See schemas/psql-tsearch2.sql and /usr/share/postgresql/contrib/tsearch2.sql
      * TODO: don't parse the words into nodes. rather replace "[ +]" with & and "-" with "!" and " or " with "|"
@@ -323,5 +323,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_sqlite.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_sqlite.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/PearDB_sqlite.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -91,12 +91,12 @@
    }
 
 };
-
+  
 // Local Variables:
 // mode: php
 // tab-width: 8
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/cvs.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/cvs.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/cvs.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -95,12 +95,12 @@
             // doesn't exist, need to create it and the replace the wiki
             // document directory.
             $this->_mkdir( $this->_repository, 0775 );
-
+  
             // assume that the repository is a local directory, prefix :local:
             if ( !ereg( "^:local:", $this->_repository ) ) {
                 $this->_repository = ":local:" . $this->_repository;
             }
-
+          
             $cmdLine = sprintf( "cvs -d \"%s\" init", $this->_repository);
             $this->_execCommand( $cmdLine, $cmdOutput, true );
 
@@ -109,14 +109,14 @@
                                ."%s V R", $this->_docDir, $this->_repository,
                                $this->_module_name );
             $this->_execCommand( $cmdLine, $cmdOutput, true );
-
+          
             // remove the wiki directory and check it out from the
             // CVS repository
             $cmdLine = sprintf( "rm -fr %s; cd %s; cvs -d \"%s\" co %s",
                                 $this->_docDir, dirname($this->_docDir),
                                 $this->_repository, $this->_module_name);
             $this->_execCommand( $cmdLine, $cmdOutput, true );
-
+          
             // add the default pages using the update_pagedata
             $metaData = array();
             $metaData[$AUTHOR] = "PhpWiki -- CVS Backend";
@@ -126,7 +126,7 @@
                 while ( $entry = readdir( $d ) ) {
                     $filename = $dbparam[CVS_PAGE_SOURCE] . "/" . $entry;
                     $this->_cvsDebug( sprintf("Found [%s] in [%s]", $entry, $dbparam[CVS_PAGE_SOURCE]) );
-
+                  
                     if ( is_file( $filename ) ) {
                         $metaData[CMD_CONTENT] = join('',file($filename));
                         $this->update_pagedata( $entry, $metaData );
@@ -134,7 +134,7 @@
                 }
                 closedir( $d );
             }
-
+          
             // ensure that the results of the is_dir are cleared
             clearstatcache();
         }
@@ -151,7 +151,7 @@
         $metaFile = $this->_docDir . "/CVS/_" . $pagename;
 
         if ( file_exists( $metaFile ) ) {
-
+          
             $megaHash =
                  unserialize(join( '',$this->_readFileWithPath($metaFile)));
 
@@ -258,7 +258,7 @@
     function get_versiondata($pagename, $version, $want_content = false)
     {
         $this->_cvsDebug( "get_versiondata: [$pagename] [$version] [$want_content]" );
-
+    
         $filedata = "";
         if ( $want_content ) {
             // retrieve the version from the repository
@@ -266,7 +266,7 @@
                                $this->_repository, $version,
                                $this->_module_name, $pagename );
             $this->_execCommand( $cmdLine, $filedata, true );
-
+      
             // TODO: DEBUG: 5 is a magic number here, depending on the
             // TODO: DEBUG: version of cvs used here, 5 might have to
             // TODO: DEBUG: change. Basically find a more reliable way of
@@ -302,7 +302,7 @@
         foreach ( $rVal as $key => $value ) {
             $this->_cvsDebug( "$key == [$value]" );
         }
-
+    
         return $rVal;
     }
 
@@ -321,14 +321,14 @@
         $this->_cvsDebug( "delete_page [$pagename]") ;
         $filename = $this->_docDir . "/" . $pagename;
         $metaFile = $this->_docDir . "/CVS/_" . $pagename;
-
+      
         // obtain a write block before deleting the file
         if ( $this->_deleteFile( $filename ) == false ) {
             return false;
         }
-
+      
         $this->_deleteFile( $metaFile );
-
+      
         $this->_removePage( $pagename );
 
         return true;
@@ -439,7 +439,7 @@
             arsort( $mp, SORT_NUMERIC );
         }
         $returnVal = array();
-
+      
         while ( (list($key, $val) = each($a)) && $limit > 0 ) {
             $returnVal[] = $key;
             $limit--;
@@ -474,7 +474,7 @@
             }
         } else if ( isset( $params['since'] ) ) {
             while ( (list($key, $val) = each($a)) ) {
-
+              
                 if ( $val > $params['since'] ) {
                     $returnVal[] = $key;
                 }
@@ -546,7 +546,7 @@
         $this->_execCommand( $cmdLine, $cmdOutput, true );
         return true;
     }
-
+  
     //
     // ..-.-..-.-..-.-.. .--..-......-.--. --.-....----.....
     // The rest are all internal methods, not to be used
@@ -628,7 +628,7 @@
         $cmdLine = sprintf("cd %s; cvs remove %s 2>&1; cvs commit -m '%s' "
                            ."%s 2>&1", $this->_docDir, $pagename,
                            "remove page", $pagename );
-
+      
         $this->_execCommand( $cmdLine, $cmdRemoveOutput, true );
     }
 
@@ -702,7 +702,7 @@
         else {
             $rVal = true;
         }
-
+    
         return ($rVal && @mkdir( $path, $mode ) );
     }
 
@@ -722,7 +722,7 @@
     function _deleteFile( $filename )
     {
         if( $fd = fopen($filename, 'a') ) {
-
+          
             $locked = flock($fd,2);  // Exclusive blocking lock
 
             if (!$locked) {
@@ -767,7 +767,7 @@
         if ( $this->_debug_file == "" ) {
             return;
         }
-
+      
         if ( !file_exists( $this->_debug_file  ) ) {
             $this->_createFile( $this->_debug_file, 0755 );
         }
@@ -778,7 +778,7 @@
                 fclose( $fdlock );
                 return;
             }
-
+          
             $fdappend = @fopen( $this->_debug_file, 'a' );
             fwrite( $fdappend, ($msg . "\n") );
             fclose( $fdappend );
@@ -899,7 +899,7 @@
         $val = str_replace( "\\}", "}", $val );
         $val = str_replace( "\\;", ";", $val );
         $val = str_replace( "\\\"", "\"", $val );
-
+      
         return $val;
     }
 
@@ -983,7 +983,7 @@
         // TODO: searching files.
         $cmdLine = sprintf( "grep -E -i '%s' %s > /dev/null 2>&1",
                             $searchString, $fileName );
-
+      
         return ( WikiDB_backend_cvs::_execCommand( $cmdLine, $cmdOutput,
                                                    false ) == 0 );
     }
@@ -1020,5 +1020,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/dba.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/dba.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/dba.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -41,5 +41,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/dbaBase.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/dbaBase.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/dbaBase.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -38,7 +38,7 @@
   *
  *  Separate hit table, so we don't have to update the whole page entry
  *  each time we get a hit. Maybe not so important though.
- */
+ */   
 
 require_once('lib/DbaPartition.php');
 
@@ -60,7 +60,7 @@
     function sortable_columns() {
         return array('pagename','mtime'/*,'author_id','author'*/);
     }
-
+  
     function close() {
         $this->_db->close();
     }
@@ -81,7 +81,7 @@
         $this->_linkdb->rebuild();
         $this->optimize();
     }
-
+  
     function check($args=false) {
     	// cleanup v?Pagename UNKNOWN0x0
     	$errs = array();
@@ -124,7 +124,7 @@
         $data = unserialize($packed);
         return $data;
     }
-
+          
     function update_pagedata($pagename, $newdata) {
         $result = $this->_pagedb->get($pagename);
         if ($result) {
@@ -135,7 +135,7 @@
             $latestversion = $flags = 0;
             $data = array();
         }
-
+      
         foreach ($newdata as $key => $val) {
             if (empty($val))
                 unset($data[$key]);
@@ -177,7 +177,7 @@
             return $vdata;
         }
     }
-
+      
     /**
      * Can be undone and is seen in RecentChanges.
      * See backend.php
@@ -246,7 +246,7 @@
         $this->_pagedb->delete($pagename);
 	return true;
     }
-
+          
     /**
      * Delete an old revision of a page.
      */
@@ -257,7 +257,7 @@
 
         assert($version > 0);
         assert($version <= $latest);
-
+      
         $versdb->set((int)$version . ":$pagename", false);
 
         if ($version == $latest) {
@@ -300,7 +300,7 @@
             list(,,$pagedata) = explode(':',$pdata,3);
         else
             $pagedata = serialize(array());
-
+      
         $pagedb->set($pagename, (int)$latest . ':' . (int)$flags . ":$pagedata");
     }
 
@@ -378,7 +378,7 @@
                      ? $this->_linkdb->found_relations : 0
 		   ));
     }
-
+  
     /**
      * @access public
      *
@@ -719,7 +719,7 @@
             return $linksonly;
         }
     }
-
+  
     // fixed: relations ready
     function set_links($page, $links) {
 
@@ -730,14 +730,14 @@
             $links = array();
         }
         $this->_set_links('o', $page, $links);
-
+      
         /* Now for the backlink update we squash the linkto hashes into a simple array */
         $newlinks = array();
         foreach ($links as $hash) {
             if (!empty($hash['linkto']) and !in_array($hash['linkto'], $newlinks))
                  // for attributes it's empty
                 $newlinks[] = $hash['linkto'];
-            elseif (is_string($hash) and !in_array($hash, $newlinks))
+            elseif (is_string($hash) and !in_array($hash, $newlinks))    
                 $newlinks[] = $hash;
         }
         //$newlinks = array_unique($newlinks);
@@ -831,7 +831,7 @@
  	//if ($errs) $this->rebuild();
         return isset($errs) ? $errs : false;
     }
-
+  
     /* TODO: Add another lrRelationName key for relations.
      * lrRelationName: frompage => topage
      */
@@ -842,14 +842,14 @@
         sort($backlinks);
         $this->_set_links('i', $page, $backlinks);
     }
-
+      
     function _add_backlink($page, $linkedfrom) {
         $backlinks = $this->_get_links('i', $page);
         $backlinks[] = $linkedfrom;
         sort($backlinks);
         $this->_set_links('i', $page, $backlinks);
     }
-
+  
     function _delete_backlink($page, $linkedfrom) {
         $backlinks = $this->_get_links('i', $page);
         foreach ($backlinks as $key => $backlink) {
@@ -858,7 +858,7 @@
         }
         $this->_set_links('i', $page, $backlinks);
     }
-
+  
     function _has_link($which, $page, $link) {
         $links = $this->_get_links($which, $page);
         // since links are always sorted, break if >
@@ -871,7 +871,7 @@
         }
         return false;
     }
-
+  
     function _get_links($which, $page) {
         $data = $this->_db->get($which . $page);
         return $data ? unserialize($data) : array();
@@ -892,5 +892,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/AllRevisionsIter.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/AllRevisionsIter.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/AllRevisionsIter.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,6 +1,6 @@
 <?php // -*-php-*-
 // $Id: AllRevisionsIter.php 7956 2011-03-03 17:08:31Z vargenau $
-
+  
 /**
  * An iterator which returns all revisions of page.
  *
@@ -22,7 +22,7 @@
         $this->_pagename = $pagename;
         $this->_lastversion = -1;
     }
-
+  
     /**
      * Get next revision in sequence.
      *
@@ -42,10 +42,10 @@
         if ($version)
             $vdata = $backend->get_versiondata($pagename, $version);
         //$backend->unlock();
-
+      
         if ($version == 0)
             return false;
-
+          
 	if (is_string($vdata) and !empty($vdata)) {
     	    $vdata1 =  @unserialize($vdata);
     	    if (empty($vdata1)) {
@@ -58,7 +58,7 @@
         $rev = array('versiondata' => $vdata,
                      'pagename' => $pagename,
                      'version' => $version);
-
+      
         if (!empty($vdata['%pagedata'])) {
             $rev['pagedata'] = $vdata['%pagedata'];
         }
@@ -73,5 +73,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/BackLinkIter.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/BackLinkIter.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/BackLinkIter.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -17,7 +17,7 @@
         $this->_backend = &$backend;
         $this->_target = $pagename;
     }
-
+  
     function next() {
         while ($page = $this->_pages->next()) {
             $pagename = $page['pagename'];
@@ -30,7 +30,7 @@
             }
         }
     }
-
+  
     function free() {
         $this->_pages->free();
     }

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/MostPopularIter.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/MostPopularIter.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/MostPopularIter.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -42,7 +42,7 @@
     function next() {
         return array_shift($this->_pages);
     }
-
+  
     function free() {
         unset($this->_pages);
     }

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/MostRecentIter.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/MostRecentIter.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/MostRecentIter.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -57,11 +57,11 @@
             array_splice($this->_revisions, $limit);
         }
     }
-
+  
     function next() {
         return array_shift($this->_revisions);
     }
-
+  
     function free() {
         unset($this->_revisions);
     }
@@ -85,5 +85,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/TextSearchIter.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/TextSearchIter.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend/dumb/TextSearchIter.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -27,14 +27,14 @@
     function _get_content(&$page) {
         $backend = &$this->_backend;
         $pagename = $page['pagename'];
-
+      
         if (!isset($page['versiondata'])) {
             $version = $backend->get_latest_version($pagename);
             $page['versiondata'] = $backend->get_versiondata($pagename, $version, true);
         }
         return $page['versiondata']['%content'];
     }
-
+      
     function _match(&$page) {
         $text = $page['pagename'];
         if ($result = $this->_search->match($text)) { // first match the pagename only
@@ -71,7 +71,7 @@
                 }*/
                 if (is_array($page))
 		    $page['score'] = $score;
-		else
+		else  
 		    $page->score = $score;
                 return $page;
             }
@@ -90,5 +90,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/backend.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/backend.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/backend.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,4 +1,5 @@
 <?php
+// $Id: backend.php 8080 2011-05-19 19:14:34Z vargenau $
 /*
  * Copyright 2004-2010 Reini Urban
  *
@@ -49,7 +50,7 @@
     //:serial
 
      (types are scalars: strings, ints, bools)
-*/
+*/   
 
 /**
  * A WikiDB_backend handles the storage and retrieval of data for a WikiDB.
@@ -115,8 +116,8 @@
     function update_pagedata($pagename, $newdata) {
         trigger_error("virtual", E_USER_ERROR);
     }
+  
 
-
     /**
      * Get the current version number for a page.
      *
@@ -127,7 +128,7 @@
     function get_latest_version($pagename) {
         trigger_error("virtual", E_USER_ERROR);
     }
-
+  
     /**
      * Get preceding version number.
      *
@@ -139,7 +140,7 @@
     function get_previous_version($pagename, $version) {
         trigger_error("virtual", E_USER_ERROR);
     }
-
+  
     /**
      * Get revision meta-data and content.
      *
@@ -266,7 +267,7 @@
         }
         $this->set_versiondata($pagename, $version, $data);
     }
-
+  
     /**
      * Set links for page.
      *
@@ -277,7 +278,7 @@
     function set_links($pagename, $links) {
         trigger_error("virtual", E_USER_ERROR);
     }
-
+      
     /**
      * Find pages which link to or are linked from a page.
      *
@@ -303,7 +304,7 @@
         include_once('lib/WikiDB/backend/dumb/AllRevisionsIter.php');
         return new WikiDB_backend_dumb_AllRevisionsIter($this, $pagename);
     }
-
+  
     /**
      * Get all pages in the database.
      *
@@ -326,7 +327,7 @@
     function get_all_pages($include_defaulted, $orderby=false, $limit='', $exclude='') {
         trigger_error("virtual", E_USER_ERROR);
     }
-
+      
     /**
      * Title or full text search.
      *
@@ -522,7 +523,7 @@
         $search = strtolower(trim($search));
         if (!$search)
             return array(array(),array());
-
+      
         $words = preg_split('/\s+/', $search);
         $exclude = array();
         foreach ($words as $key => $word) {
@@ -556,7 +557,7 @@
             return array(0, $limit);
         }
     }
-
+  
     /**
      * Handle sortby requests for the DB iterator and table header links.
      * Prefix the column with + or - like "+pagename","-mtime", ...
@@ -696,7 +697,7 @@
     	if (!empty($this->_pages))
 	    return count($this->_pages);
 	else
-	    return 0;
+	    return 0;  
     }
 
     function asArray() {
@@ -710,7 +711,7 @@
             return $result;
     	}
     }
-
+  
     /**
      * limit - if empty the pagelist iterator will do nothing.
      * Some backends limit the result set itself (dba, file, flatfile),

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/cvs.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/cvs.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/cvs.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -16,11 +16,11 @@
  */
 class WikiDB_cvs
 extends WikiDB
-{
+{  
     var $_backend;
 
     /**
-     * Constructor requires the DB parameters.
+     * Constructor requires the DB parameters. 
      */
     function WikiDB_cvs( $dbparams ) {
         if (loadPhpExtension('cvsclient'))
@@ -29,4 +29,4 @@
             $this->_backend = new WikiDB_backend_cvs( $dbparams );
     }
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/WikiDB/dba.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiDB/dba.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiDB/dba.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -24,5 +24,5 @@
 // c-basic-offset: 4
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
-// End:
+// End: 
 ?>

Modified: trunk/src/plugins/wiki/www/lib/WikiTheme.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiTheme.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiTheme.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,4 +1,4 @@
-<?php // $Id: WikiTheme.php 8071 2011-05-18 14:56:14Z vargenau $
+<?php // $Id: WikiTheme.php 8170 2011-11-02 13:08:16Z vargenau $
 /* Copyright (C) 2002,2004,2005,2006,2008,2009,2010 $ThePhpWikiProgrammingTeam
  *
  * This file is part of PhpWiki.
@@ -446,7 +446,7 @@
 
         $mtime = $revision->get('mtime');
         if ($mtime <= EPOCH)
-            return fmt("Never edited");
+            return _("Never edited");
 
         if ($show_version == 'auto')
             $show_version = !$revision->isCurrent();
@@ -459,7 +459,7 @@
             if ($show_version)
                 return fmt("Version %s, saved on %s", $revision->getVersion(), $date);
             else
-                return fmt("Last edited %s", $date);
+                return fmt("Last edited on %s", $date);
         }
 
         if ($this->_showModTime)
@@ -1016,9 +1016,6 @@
             }
             $pagename = $page->getName();
         }
-        elseif (is_numeric($page_or_rev)) {
-            $version = $page_or_rev;
-        }
         else {
             $pagename = (string) $page_or_rev;
         }

Modified: trunk/src/plugins/wiki/www/lib/WikiUserNew.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiUserNew.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WikiUserNew.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-//$Id: WikiUserNew.php 8072 2011-05-18 15:45:03Z vargenau $
+//$Id: WikiUserNew.php 8160 2011-10-03 12:42:28Z vargenau $
 /* Copyright (C) 2004,2005,2006,2007,2009,2010 $ThePhpWikiProgrammingTeam
  * Copyright (C) 2009-2010 Marc-Etienne Vargenau, Alcatel-Lucent
  * Copyright (C) 2009-2010 Roger Guignard, Alcatel-Lucent
@@ -1779,7 +1779,7 @@
             return;
         if (!empty($value) and !$verified) {
             list($ok,$msg) = ValidateMail($value);
-            if ($ok and mail($value,"[".WIKI_NAME ."] "._("Email Verification"),
+            if ($ok and mail($value,"[".WIKI_NAME ."] "._("E-mail address confirmation"),
                      sprintf(_("Welcome to %s!\nYour email account is verified and\nwill be used to send page change notifications.\nSee %s"),
                              WIKI_NAME, WikiURL($GLOBALS['request']->getArg('pagename'),'',true)))) {
                 $this->set('emailVerified',1);

Modified: trunk/src/plugins/wiki/www/lib/WysiwygEdit/FCKeditor.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WysiwygEdit/FCKeditor.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WysiwygEdit/FCKeditor.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -61,28 +61,28 @@
         $out = HTML(
 		    JavaScript("
 var oFCKeditor = new FCKeditor( '$htmltextid' ) ;
-oFCKeditor.Value	= '" . $textarea->_content[0]->asXML() . "';"
+oFCKeditor.Value	= '" . $textarea->_content[0]->asXML() . "';" 
 . $this->_jsdefault . "
 oFCKeditor.Create();"),
-		    HTML::div(array("id"    => $this->_wikitextid,
+		    HTML::div(array("id"    => $this->_wikitextid, 
 				    'style' => 'display:none'),
 			      $wikitext),
 		    "\n");
 	return $out;
     }
-
+    
     /* textarea only */
     function Textarea_Replace ($textarea, $wikitext, $name='edit[content]') {
         $htmltextid = $this->_htmltextid;
         $textarea->SetAttr('id', $htmltextid);
         $out = HTML($textarea,
-		    HTML::div(array("id"    => $this->_wikitextid,
+		    HTML::div(array("id"    => $this->_wikitextid, 
 				    'style' => 'display:none'),
 			      $wikitext),
 		    "\n");
 	return $out;
     }
-
+    
     /* via the PHP object */
     function Textarea_PHP ($textarea, $wikitext, $name='edit[content]') {
         global $LANG;
@@ -98,8 +98,8 @@
 	$this->oFCKeditor->Config['AutoDetectLanguage']	= true ;
 	$this->oFCKeditor->Config['DefaultLanguage'] = $LANG;
 	$this->oFCKeditor->Create();
-
-	return HTML::div(array("id"   => $this->_wikitextid,
+	
+	return HTML::div(array("id"   => $this->_wikitextid, 
 			      'style' => 'display:none'),
 			      $wikitext);
     }

Modified: trunk/src/plugins/wiki/www/lib/WysiwygEdit/Wikiwyg.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WysiwygEdit/Wikiwyg.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WysiwygEdit/Wikiwyg.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php
-// $Id: Wikiwyg.php 7956 2011-03-03 17:08:31Z vargenau $
+// $Id: Wikiwyg.php 8157 2011-10-03 12:38:40Z vargenau $
 /**
  * Wikiwyg is compatible with most internet browsers which
  * include: IE 5.5+ (Windows), Firefox 1.0+, Mozilla 1.3+
@@ -38,7 +38,7 @@
                 (Javascript('', array('src' => $this->BasePath . '/' . $js,
                                       'language' => 'JavaScript')));
         }
-        $doubleClickToEdit = ($GLOBALS['request']->getPref('doubleClickEdit') or ENABLE_DOUBLECLICKEDIT)
+        $doubleClickToEdit = ($GLOBALS['request']->getPref('doubleClickEdit') or ENABLE_DOUBLECLICKEDIT) 
             ? 'true' : 'false';
 	if ($GLOBALS['request']->getArg('mode') && $GLOBALS['request']->getArg('mode') == 'wysiwyg'){
             return JavaScript($this->_jsdefault . "
@@ -64,7 +64,7 @@
 		       ],
 		styleSelector: [
 		       'label', 'p', 'h2', 'h3', 'h4', 'pre'
-				],
+				], 
 		controlLabels: {
 	               save:     '"._("Apply changes")."',
 		       cancel:   '"._("Exit toolbar")."',
@@ -72,12 +72,12 @@
 		       h3:       '"._("Title 2")."',
 		       h4:       '"._("Title 3")."',
 		       verbatim: '"._("Verbatim")."',
-                       toc:   '"._("Table of content")."',
-                       wikitext:   '"._("Insert Wikitext section")."',
-                       sup:      '"._("Sup")."',
+                       toc:   '"._("Table of Contents")."', 
+                       wikitext:   '"._("Insert Wikitext section")."', 
+                       sup:      '"._("Sup")."', 
                        sub:      '"._("Sub")."',
-                       preview:  '"._("Preview")."',
-                       save_button:'"._("Save")."'
+                       preview:  '"._("Preview")."',   
+                       save_button:'"._("Save")."'   
 	              }
             },
             wysiwyg: {
@@ -97,12 +97,12 @@
 
     function Textarea ($textarea, $wikitext, $name='edit[content]') {
         global $request;
-
+    
         $htmltextid = $this->_htmltextid;
         $textarea->SetAttr('id', $htmltextid);
         $iframe0 = new RawXml('<iframe id="iframe0" src="blank.htm" height="0" width="0" frameborder="0"></iframe>');
         if ($request->getArg('mode') and $request->getArg('mode') == 'wysiwyg'){
-	    $out = HTML(HTML::div(array('class' => 'hint'),
+	    $out = HTML(HTML::div(array('class' => 'hint'), 
                                   _("Warning: This Wikiwyg editor has only Beta quality!")),
                         $textarea,
                         $iframe0,
@@ -122,8 +122,8 @@
         return $text;
     }
 
-    /*
-     * No special PHP HTML->Wikitext conversion needed. This is done in js thanksfully.
+    /* 
+     * No special PHP HTML->Wikitext conversion needed. This is done in js thanksfully. 
      * Avoided in editpage.php: PageEditor->getContent
      */
     function ConvertAfter($text) {
@@ -145,8 +145,8 @@
     }
 
     function convert() {
-        require_once("lib/BlockParser.php");
-	$xmlcontent = TransformText($this->_wikitext, 2.0, $this->_request->getArg('pagename'));
+        require_once("lib/BlockParser.php");       
+	$xmlcontent = TransformText($this->_wikitext, 2.0, $this->_request->getArg('pagename')); 
 	$this->_html = $xmlcontent->AsXML();
 
 	$this->replace_inside_html();
@@ -165,7 +165,7 @@
 	if ($charset != 'utf-8') {
  	    if ($charset == 'iso-8959-1') {
  	        $this->_html = utf8_decode($this->_html);
-	    } else {
+	    } else {    
                 // check for iconv support
                 loadPhpExtension("iconv");
 	        $this->_html = iconv("UTF-8", $charset, $this->_html);
@@ -180,19 +180,19 @@
     function replace_known_plugins() {
       // If match a plugin
       $pattern = '/\&lt\;\?plugin\s+RichTable(.*)\?\&gt\;/Umsi';
-      $replace_string = "replace_rich_table";
+      $replace_string = "replace_rich_table";       
       $this->_html = preg_replace_callback($pattern,
 					   $replace_string,
 					   $this->_html);
     }
-
+    
     // Replace unknown plugins by keyword Wikitext { tag }
     function replace_unknown_plugins() {
         $pattern = '/(\&lt\;\?plugin[^?]*\?\&gt\;)/Usi';
-	$replace_string =
+	$replace_string = 
 	  '<p><div style="background-color:#D3D3D3;font-size:smaller;">Wikitext {
  <br> \1 <br>}</div><br></p>';
-
+       
 	$this->_html = preg_replace($pattern,
 				    $replace_string,
 				    $this->_html);
@@ -202,51 +202,51 @@
     function clean_links() {
         // Existing links
         // FIXME: use VIRTUAL_PATH
-        $pattern = '/\<a href\=\"index.php\?pagename\=(\w+)\"([^>])*\>/Umsi';
-        $replace_string = '<a href="\1">';
+        $pattern = '/\<a href\=\"index.php\?pagename\=(\w+)\"([^>])*\>/Umsi';      
+        $replace_string = '<a href="\1">';      
         $this->_html = preg_replace($pattern,
                                     $replace_string,
                                     $this->_html) ;
         // Non existing links
         $pattern = '/\<a href\=\"index.php\?pagename\=([^"]*)(&action){1}([^>])*\>/Umsi';
         $replace_string = '<a href="\1">';
-
+	
         $this->_html = preg_replace($pattern,
                                     $replace_string,
                                     $this->_html) ;
 
-        // Clean underline
+        // Clean underline 
         $pattern = '/\<u\>(.*)\<\/u\>(\<a href="(.*))[?"]{1}.*\>.*\<\/a\>/Umsi';
-        $replace_string =
+        $replace_string = 
             '<span>\2" style="color:blue;">\1</a></span>';
-
+	
         $this->_html = preg_replace($pattern,
                                     $replace_string,
                                     $this->_html) ;
     }
-
+    
     // Put unknown tags in Wikitext {}
     function replace_tags() {
         // Replace old table format ( non plugin )
         $pattern = '/(\ {0,4}(?:\S.*)?\|\S+\s*$.*?\<\/p\>)/ms';
-        $replace_string =
+        $replace_string = 
             '<p><div style="background-color:#D3D3D3;font-size:smaller;">Wikitext {
  <br> \1 <br>}</div><br></p>';
-
+      
         $this->_html = preg_replace($pattern,
                                     $replace_string,
                                     $this->_html);
 }
-
-    // Replace \n by <br> only in
+    
+    // Replace \n by <br> only in 
     // <?plugin ? > tag to keep formatting
     function clean_plugin() {
         $pattern = '/(\&lt\;\?plugin.*\?\&gt\;)/Umsei';
 	$replace_string = 'preg_replace("/\n/Ums","<br>","\1")';
-
+	
 	$this->_html = preg_replace($pattern,
 				    $replace_string,
-				    $this->_html) ;
+				    $this->_html) ; 
 
     }
 
@@ -256,43 +256,43 @@
  	$replace_string = '\1 \2 \3';
  	$this->_html = preg_replace($pattern,
  				    $replace_string,
- 				    $this->_html) ;
-    }
+ 				    $this->_html) ; 
+    } 
 }
 
 // This is called to replace the RichTable plugin by an html table
-// $matched contains html <p> tags so
+// $matched contains html <p> tags so 
 // they are deleted before the conversion.
 function replace_rich_table($matched) {
     $plugin = $matched[1];
 
     $unknown_options = "/colspan|rowspan|width|height/";
-
+  
     // if the plugin contains one of the options bellow
     // it won't be converted
     if (preg_match($unknown_options,$plugin))
-        return $matched[0]."\n";
+        return $matched[0]."\n";   
     else {
         //Replace unused <p...>
         $pattern = '/\<p.*\>/Umsi';
         $replace_string = "";
-
+    
         $plugin = preg_replace($pattern,
                                $replace_string,
-                               $plugin) ;
-
+                               $plugin) ; 
+    
         //replace unused </p> by \n
         $pattern = '/\<\/p\>/Umsi';
         $replace_string = "\n";
-
+    
         $plugin = preg_replace($pattern,
                                $replace_string,
-                               $plugin) ;
-
+                               $plugin) ; 
+    
         $plugin = "<?plugin RichTable ".$plugin." ?>";
-
-        require_once("lib/BlockParser.php");
-        $xmlcontent = TransformText($plugin, 2.0, $GLOBALS['request']->getArg('pagename'));
+    
+        require_once("lib/BlockParser.php"); 
+        $xmlcontent = TransformText($plugin, 2.0, $GLOBALS['request']->getArg('pagename')); 
         return $xmlcontent->AsXML();
   }
 }

Modified: trunk/src/plugins/wiki/www/lib/WysiwygEdit/htmlarea2.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WysiwygEdit/htmlarea2.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WysiwygEdit/htmlarea2.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -26,7 +26,7 @@
   document.write('<scr' + 'ipt src=\"' +_editor_url+ 'editor.js\"');
   document.write(' language=\"Javascript1.2\"></scr' + 'ipt>');
 } else {
-  document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>');
+  document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); 
 }
  ",
 		    array('version' => 'JavaScript1.2',

Modified: trunk/src/plugins/wiki/www/lib/WysiwygEdit/htmlarea3.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WysiwygEdit/htmlarea3.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WysiwygEdit/htmlarea3.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -19,7 +19,7 @@
         return new RawXml('
 <script type="text/javascript" src="'.DATA_PATH.'/themes/default/htmlarea3/htmlarea.js"></script>
 <script type="text/javascript" src="'.DATA_PATH.'/themes/default/htmlarea3/lang/en.js"></script>
-<script type="text/javascript" src="'.DATA_PATH.'/themes/default/htmlarea3/dialog.js"></script>
+<script type="text/javascript" src="'.DATA_PATH.'/themes/default/htmlarea3/dialog.js"></script> 
 <style type="text/css">
 @import url('.DATA_PATH.'/themes/default/htmlarea3/htmlarea.css);
 </style>
@@ -32,7 +32,7 @@
   // comment the following two lines to see how customization works
   editor.generate();
   return false;
-
+  
   // BEGIN: code that adds custom buttons
   var cfg = editor.config; // this is the default configuration
   function clickHandler(editor, buttonId) {
@@ -56,7 +56,7 @@
   cfg.registerButton("my-date", "Insert date/time", _editor_url+"ed_custom.gif", false, clickHandler);
   cfg.registerButton("my-bold-em", "Toggle bold/italic", _editor_url+"ed_custom.gif", false, clickHandler);
   cfg.registerButton("my-hilite", "Hilite selection", _editor_url+"ed_custom.gif", false, clickHandler);
-
+  
   cfg.registerButton("my-sample", "Class: sample", _editor_url+"ed_custom.gif", false,
     function(editor) {
       if (HTMLArea.is_ie) {
@@ -78,11 +78,11 @@
       }
     }
   );
-
+  
   //cfg.pageStyle = "body { background-color: #efd; } .hilite { background-color: yellow; } "+
   //                ".sample { color: green; font-family: monospace; }";
   // add the new button to the toolbar
-  //cfg.toolbar.push(["linebreak", "my-toc", "my-date", "my-bold-em", "my-hilite", "my-sample"]);
+  //cfg.toolbar.push(["linebreak", "my-toc", "my-date", "my-bold-em", "my-hilite", "my-sample"]); 
   // END: code that adds custom buttons
 
   editor.generate();

Modified: trunk/src/plugins/wiki/www/lib/WysiwygEdit/spaw.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WysiwygEdit/spaw.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WysiwygEdit/spaw.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -35,7 +35,7 @@
               $width='100%',              // width
               $height='300px',            // height
               $css_stylesheet='',         // css stylesheet file for content
-              $dropdown_data=''           // data for dropdowns (style, font, etc.)
+              $dropdown_data=''           // data for dropdowns (style, font, etc.) 
         */
         $this->SPAW = new SPAW_Wysiwyg($id, $textarea->_content);
         $textarea->SetAttr('id', $name);

Modified: trunk/src/plugins/wiki/www/lib/WysiwygEdit/tinymce.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WysiwygEdit/tinymce.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/WysiwygEdit/tinymce.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,7 +1,7 @@
 <?php
 // $Id: tinymce.php 7956 2011-03-03 17:08:31Z vargenau $
 /**
- * Multiple browser support, currently Mozilla (PC, Mac and Linux),
+ * Multiple browser support, currently Mozilla (PC, Mac and Linux), 
  * MSIE (PC) and FireFox (PC, Mac and Linux) and some limited Safari support.
  *
  * Download: http://tinymce.moxiecode.com/
@@ -55,7 +55,7 @@
     // name ignored
     function Textarea($textarea, $wikitext, $name='edit[content]') {
         $out = HTML($textarea,
-                    HTML::div(array("id" => $this->_wikitextid,
+                    HTML::div(array("id" => $this->_wikitextid, 
                                     'style'=>'display:none'),
                                          $wikitext),"\n");
         //TODO: maybe some more custom links

Modified: trunk/src/plugins/wiki/www/lib/XMLRPC/utils.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/XMLRPC/utils.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/XMLRPC/utils.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,39 +1,39 @@
 <?php
 /*
-  This file is part of, or distributed with, libXMLRPC - a C library for
+  This file is part of, or distributed with, libXMLRPC - a C library for 
   xml-encoded function calls.
 
   Author: Dan Libby (dan at libby.com)
   Epinions.com may be contacted at feedback at epinions-inc.com
 */
 
-/*
-  Copyright 2001 Epinions, Inc.
+/*  
+  Copyright 2001 Epinions, Inc. 
 
-  Subject to the following 3 conditions, Epinions, Inc.  permits you, free
-  of charge, to (a) use, copy, distribute, modify, perform and display this
-  software and associated documentation files (the "Software"), and (b)
-  permit others to whom the Software is furnished to do so as well.
+  Subject to the following 3 conditions, Epinions, Inc.  permits you, free 
+  of charge, to (a) use, copy, distribute, modify, perform and display this 
+  software and associated documentation files (the "Software"), and (b) 
+  permit others to whom the Software is furnished to do so as well.  
 
-  1) The above copyright notice and this permission notice shall be included
-  without modification in all copies or substantial portions of the
-  Software.
+  1) The above copyright notice and this permission notice shall be included 
+  without modification in all copies or substantial portions of the 
+  Software.  
 
-  2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
-  ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
-  IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
-  PURPOSE OR NONINFRINGEMENT.
+  2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF 
+  ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY 
+  IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR 
+  PURPOSE OR NONINFRINGEMENT.  
 
-  3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
-  SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT
-  OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING
-  NEGLIGENCE), EVEN IF EPINIONS, INC.  IS AWARE OF THE POSSIBILITY OF SUCH
-  DAMAGES.
+  3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, 
+  SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT 
+  OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING 
+  NEGLIGENCE), EVEN IF EPINIONS, INC.  IS AWARE OF THE POSSIBILITY OF SUCH 
+  DAMAGES.    
 
 */
 
 
-/* xmlrpc utilities (xu)
+/* xmlrpc utilities (xu) 
  * author: Dan Libby (dan at libby.com)
  */
 
@@ -52,14 +52,14 @@
       }
       if (substr(PHP_OS,0,3) == 'WIN')
           $bSuccess = dl("php_xmlrpc.dll");
-      else
+      else    
           $bSuccess = dl($xmlrpc_php_dir . "xmlrpc-epi-php.so");
    }
    return $bSuccess;
 }
 
 /* generic function to call an http server with post method */
-function xu_query_http_post($request, $host, $uri, $port, $debug,
+function xu_query_http_post($request, $host, $uri, $port, $debug, 
                             $timeout, $user, $pass, $secure=false) {
     $response_buf = "";
     if ($host && $uri && $port) {
@@ -81,13 +81,13 @@
                     base64_encode($user . ":" . $pass) . "\r\n";
             }
 
-            $http_request =
+            $http_request = 
                 "POST $uri HTTP/1.0\r\n" .
                 "User-Agent: xmlrpc-epi-php/0.2 (PHP)\r\n" .
                 "Host: $host:$port\r\n" .
                 $auth .
                 "Content-Type: text/xml\r\n" .
-                "Content-Length: $content_len\r\n" .
+                "Content-Length: $content_len\r\n" . 
                 "\r\n" .
                 $request;
 
@@ -148,7 +148,7 @@
     }
     return $retval;
 }
-
+ 
 /**
  * @param params   a struct containing 3 or more of these key/val pairs:
  * @param host		 remote host (required)
@@ -158,7 +158,7 @@
  * @param args	    arguments to send (parameters to remote xmlrpc server)
  * @param debug	 debug level (0 none, 1, some, 2 more)
  * @param timeout	 timeout in secs.  (0 = never)
- * @param user		 user name for authentication.
+ * @param user		 user name for authentication.  
  * @param pass		 password for authentication
  * @param secure	 secure. wether to use fsockopen_ssl. (requires special php build).
  * @param output	 array. xml output options. can be null.  details below:
@@ -219,7 +219,7 @@
 }
 
 /* call an xmlrpc method on a remote http server. legacy support. */
-function xu_rpc_http($method, $args, $host, $uri="/", $port=80, $debug=false,
+function xu_rpc_http($method, $args, $host, $uri="/", $port=80, $debug=false, 
                      $timeout=0, $user=false, $pass=false, $secure=false) {
 	return xu_rpc_http_concise(
 		array(

Modified: trunk/src/plugins/wiki/www/lib/diff.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/diff.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/diff.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,4 +1,5 @@
 <?php // -*-php-*-
+// $Id: diff.php 8085 2011-05-20 10:53:54Z vargenau $
 // diff.php
 //
 // PhpWiki diff output code.

Modified: trunk/src/plugins/wiki/www/lib/display.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/display.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/display.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php
-// $Id: display.php 8086 2011-05-20 12:58:49Z vargenau $
+// $Id: display.php 8173 2011-11-04 09:23:48Z vargenau $
 /* Copyright (C) 2004-2011 $ThePhpWikiProgrammingTeam
  *
  * This file is part of PhpWiki.
@@ -295,8 +295,13 @@
                                            RedirectorLink($redirect_from)));
     // abuse the $redirected template var for some status update notice
     } elseif ($request->getArg('errormsg')) {
-        $redirect_message = $request->getArg('errormsg');
+        $redirect_message = HTML::p(array('class' => 'error'),
+                                          $request->getArg('errormsg'));
         $request->setArg('errormsg', false);
+    } elseif ($request->getArg('warningmsg')) {
+        $redirect_message = HTML::p(array('class' => 'warning_msg'),
+                                          $request->getArg('warningmsg'));
+        $request->setArg('errormsg', false);
     }
 
     $request->appendValidators(array('pagerev' => $revision->getVersion(),

Modified: trunk/src/plugins/wiki/www/lib/fpdf/japanese.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/fpdf/japanese.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/fpdf/japanese.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -47,7 +47,7 @@
         $registry=array('ordering'=>'Japan1','supplement'=>2);
         $this->AddCIDFonts($family,$name,$cw,$CMap,$registry);
     }
-
+    
     function AddSJIShwFont($family='SJIS-hw')
     {
         //Add SJIS font with half-width Latin
@@ -101,7 +101,7 @@
         else
             parent::MultiCell($w,$h,$txt,$border,$align,$fill);
     }
-
+  
     function SJISMultiCell($w,$h,$txt,$border=0,$align='L',$fill=0)
     {
         //Output text with automatic or explicit line breaks

Modified: trunk/src/plugins/wiki/www/lib/loadsave.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/loadsave.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/loadsave.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-// $Id: loadsave.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: loadsave.php 8192 2011-11-29 09:52:45Z vargenau $
 
 /*
  * Copyright 1999,2000,2001,2002,2004,2005,2006,2007 $ThePhpWikiProgrammingTeam
@@ -904,7 +904,7 @@
     // remove invalid backend specific chars. utf8 issues mostly
     $pagename_check = new WikiPagename($pageinfo['pagename']);
     if (!$pagename_check->isValid()) {
-        PrintXML(HTML::p(HTML::strong(_("Invalid pagename!")." ".$pageinfo['pagename'])));
+        PrintXML(HTML::p(HTML::strong(sprintf(_("'%s': Bad page name"), $pageinfo['pagename']))));
         return;
     }
     $pagename = $pagename_check->getName();
@@ -1073,35 +1073,29 @@
     $mesg = HTML::div();
     $pagename = $request->getArg('pagename');
     $version = $request->getArg('version');
-    if (!$version) {
-        PrintXML(HTML::p(fmt("Revert")," ",WikiLink($pagename)),
-                 HTML::p(_("missing required version argument")));
-        return;
-    }
     $dbi =& $request->_dbi;
     $page = $dbi->getPage($pagename);
+    if (!$version) {
+        $request->redirect(WikiURL($page,
+                           array('warningmsg' => _('Revert: missing required version argument'))));
+        // noreturn
+    }
     $current = $page->getCurrentRevision();
     $currversion = $current->getVersion();
     if ($currversion == 0) {
-        $mesg->pushContent(' ', _("no page content"));
-        PrintXML(HTML::p(fmt("Revert")," ",WikiLink($pagename)),
-                 $mesg);
-        flush();
-        return;
+        $request->redirect(WikiURL($page,
+                           array('errormsg' => _('No revert: no page content'))));
+        // noreturn
     }
     if ($currversion == $version) {
-        $mesg->pushContent(' ', _("same version page"));
-        PrintXML(HTML::p(fmt("Revert")," ",WikiLink($pagename)),
-                 $mesg);
-        flush();
-        return;
+        $request->redirect(WikiURL($page,
+                           array('warningmsg' => _('No revert: same version page'))));
+        // noreturn
     }
     if ($request->getArg('cancel')) {
-        $mesg->pushContent(' ', _("Cancelled"));
-        PrintXML(HTML::p(fmt("Revert")," ",WikiLink($pagename)),
-                 $mesg);
-        flush();
-        return;
+        $request->redirect(WikiURL($page,
+                           array('warningmsg' => _('Revert cancelled'))));
+        // noreturn
     }
     if (!$request->getArg('verify')) {
         $mesg->pushContent(HTML::p(fmt("Are you sure to revert %s to version $version?", WikiLink($pagename))),
@@ -1126,6 +1120,7 @@
     $content = $rev->getPackedContent();
     $versiondata = $rev->_data;
     $versiondata['summary'] = sprintf(_("revert to version %d"), $version);
+    $versiondata['mtime'] = time();
     $new = $page->save($content, $currversion + 1, $versiondata);
     $dbi->touch();
 

Modified: trunk/src/plugins/wiki/www/lib/main.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/main.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/main.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-// $Id: main.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: main.php 8205 2011-11-30 17:04:01Z vargenau $
 /*
  * Copyright 1999-2008 $ThePhpWikiProgrammingTeam
  * Copyright (C) 2008-2010 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -763,10 +763,18 @@
         require_once("lib/Template.php");
         $page = $this->getPage();
         $pagename = $page->getName();
+        if (strlen($pagename) > MAX_PAGENAME_LENGTH) {
+            $pagename = substr($pagename, 0, MAX_PAGENAME_LENGTH-1) . '…';
+            $CONTENT = HTML::div(array('class' => 'error'),
+                                    _('Page name too long'));
+            GeneratePage($CONTENT, $pagename);
+            $this->finish();
+        }
         if (preg_match("/[<\[\{\|\"\}\]>]/", $pagename, $matches) > 0) {
             $CONTENT = HTML::div(
                          array('class' => 'error'),
-                         _("Illegal character '"). $matches[0] . _("' in page name."));
+                         sprintf(_("Illegal character '%s' in page name."),
+                                 $matches[0]));
             GeneratePage($CONTENT, $pagename);
             $this->finish();
         }
@@ -1026,7 +1034,7 @@
             require_once("lib/plugin/_WikiTranslation.php");
             $trans = new WikiPlugin__WikiTranslation();
             $trans->lang = $LANG;
-        $default = $trans->translate_to_en($action, $LANG);
+            $default = $trans->translate_to_en($action, $LANG);
             if ($default and isActionPage($default))
                 return $cache[$action] = $default;
         } else {

Modified: trunk/src/plugins/wiki/www/lib/nusoap/nusoap.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/nusoap/nusoap.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/nusoap/nusoap.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -75,7 +75,7 @@
      * @access   public
      */
     var $XMLSchemaVersion = 'http://www.w3.org/2001/XMLSchema';
-
+	
     /**
      *  set default encoding
      *
@@ -104,9 +104,9 @@
      * @var      typemap
      * @access   public
      */
-    var $typemap =
+    var $typemap = 
         array(
-              'http://www.w3.org/2001/XMLSchema' =>
+              'http://www.w3.org/2001/XMLSchema' => 
               array(
                     'string'=>'string','boolean'=>'boolean','float'=>'double','double'=>'double','decimal'=>'double',
                     'duration'=>'','dateTime'=>'string','time'=>'string','date'=>'string','gYearMonth'=>'',
@@ -116,7 +116,7 @@
                     'IDREF'=>'','IDREFS'=>'','ENTITY'=>'','ENTITIES'=>'','integer'=>'integer','nonPositiveInteger'=>'integer',
                     'negativeInteger'=>'integer','long'=>'integer','int'=>'integer','short'=>'integer','byte'=>'integer','nonNegativeInteger'=>'integer',
                     'unsignedLong'=>'','unsignedInt'=>'','unsignedShort'=>'','unsignedByte'=>'','positiveInteger'=>''),
-              'http://www.w3.org/1999/XMLSchema' =>
+              'http://www.w3.org/1999/XMLSchema' => 
               array(
                     'i4'=>'','int'=>'integer','boolean'=>'boolean','string'=>'string','double'=>'double',
                     'float'=>'double','dateTime'=>'string',
@@ -125,7 +125,7 @@
               'http://schemas.xmlsoap.org/soap/encoding/' => array('base64'=>'string','array'=>'array','Array'=>'array'),
               'http://xml.apache.org/xml-soap' => array('Map')
               );
-
+    
     /**
      *  entities to convert
      *
@@ -345,7 +345,7 @@
         }
         return $xml;
     }
-
+    
     /**
     * serialize message
     *
@@ -402,7 +402,7 @@
             return $str;
         }
     }
-
+    
     /**
      * returns the prefix part of a prefixed string
      * returns false, if not prefixed
@@ -450,7 +450,7 @@
             '([0-9]{2}):'.	// minutes mm:
             '([0-9]{2})(\.[0-9]*)?'. // seconds ss.ss...
             '(Z|[+\-][0-9]{2}:?[0-9]{2})?'; // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's
-
+        
         if(ereg($eregStr,$datestr,$regs)){
             return sprintf('%04d-%02d-%02dT%02d:%02d:%02dZ',$regs[1],$regs[2],$regs[3],$regs[4],$regs[5],$regs[6]);
         }
@@ -512,7 +512,7 @@
     var $faultactor;
     var $faultstring;
     var $faultdetail;
-
+    
     /**
      * constructor
      *
@@ -527,7 +527,7 @@
         $this->faultstring = $faultstring;
         $this->faultdetail = $faultdetail;
     }
-
+    
     /**
      * serialize a fault
      *
@@ -568,7 +568,7 @@
 * @access   public
 */
 class XMLSchema extends nusoap_base  {
-
+	
 	// files
 	var $schema = '';
 	var $xml = '';
@@ -581,7 +581,7 @@
 	var $position;
 	var $depth = 0;
 	var $depth_array = array();
-
+    
 	/**
 	* constructor
 	*
@@ -672,7 +672,7 @@
 				$this->debug('XML parse error: '.$errstr);
 				$this->setError('Parser error: '.$errstr);
 	    	}
-
+            
 			xml_parser_free($this->parser);
 		} else{
 			$this->debug('no xml passed to parseString()!!');
@@ -689,7 +689,7 @@
 	* @access   private
 	*/
 	function schemaStartElement($parser, $name, $attrs) {
-
+		
             // position in the total number of elements, starting from 0
             $pos = $this->position++;
             $depth = $this->depth++;
@@ -703,7 +703,7 @@
             } else {
         	$prefix = '';
             }
-
+		
             // loop thru attributes, expanding, and registering namespace declarations
             if(count($attrs) > 0){
                 foreach($attrs as $k => $v){
@@ -752,7 +752,7 @@
                     $aname = $attrs['ref'];
                     $this->attributes[$attrs['ref']] = $attrs;
                 }
-
+                
                 if(isset($this->currentComplexType)){
                     $this->complexTypes[$this->currentComplexType]['attrs'][$aname] = $attrs;
                 } elseif(isset($this->currentElement)){
@@ -876,7 +876,7 @@
          * @access   public
          */
 	function serializeSchema(){
-
+            
             $schemaPrefix = $this->getPrefixFromNamespace($this->XMLSchemaVersion);
             $xml = '';
             // complex types
@@ -1048,7 +1048,7 @@
             //$this->setError("No namespace registered for prefix '$prefix'");
             return false;
 	}
-
+        
 	/**
          * returns the prefix for a given namespace (or prefix)
          * or false if no prefixes registered for the given namespace
@@ -1164,12 +1164,12 @@
             }
             return $buffer;
 	}
-
+	
 	/**
 	* adds an XML Schema complex type to the WSDL types
-	*
+	* 
 	* example: array
-	*
+	* 
 	* addType(
 	* 	'ArrayOfstring',
 	* 	'complexType',
@@ -1179,9 +1179,9 @@
 	* 	array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'string[]'),
 	* 	'xsd:string'
 	* );
-	*
+	* 
 	* example: PHP associative array ( SOAP Struct )
-	*
+	* 
 	* addType(
 	* 	'SOAPStruct',
 	* 	'complexType',
@@ -1189,7 +1189,7 @@
 	* 	'all',
 	* 	array('myVar'=> array('name'=>'myVar','type'=>'string')
 	* );
-	*
+	* 
 	* @param name
 	* @param typeClass (complexType|simpleType|attribute)
 	* @param phpType: currently supported are array and struct (php assoc array)
@@ -1298,7 +1298,7 @@
     var $outgoing_payload = '';
     var $incoming_payload = '';
     var $useSOAPAction = true;
-
+	
     /**
      * constructor
      */
@@ -1316,9 +1316,9 @@
             $this->port = 80;
         }
     }
-
+    
     function connect($timeout){
-
+	
         // proxy
         if($this->proxyhost != '' && $this->proxyport != ''){
             $host = $this->proxyhost;
@@ -1333,7 +1333,7 @@
             $host = 'ssl://'.$host;
             $port = 443;
         }
-
+	
         $this->debug("connection params: $host, $port");
         // timeout
         if($timeout > 0){
@@ -1341,7 +1341,7 @@
         } else {
             $fp = fsockopen($host, $port, $this->errno, $this->error_str);
         }
-
+	
         // test pointer
         if(!$fp) {
             $this->debug('Couldn\'t open socket connection to server '.$this->url.', Error: '.$this->error_str);
@@ -1350,7 +1350,7 @@
         }
         return $fp;
     }
-
+	
     /**
      * send the SOAP message via HTTP
      *
@@ -1366,7 +1366,7 @@
             return false;
         }
         $this->debug('socket connected');
-
+	
         // start building outgoing payload:
         // swap url for path if going through a proxy
         if($this->proxyhost != '' && $this->proxyport != ''){
@@ -1401,14 +1401,14 @@
         $this->outgoing_payload .= "\r\n";
         // add data
         $this->outgoing_payload .= $data;
-
+		
         // send payload
         if(!fputs($fp, $this->outgoing_payload, strlen($this->outgoing_payload))) {
             $this->setError('couldn\'t write message data to socket');
             $this->debug('Write error');
         }
         $this->debug('wrote data to socket');
-
+		
         // get response
         $this->incoming_payload = '';
         //$strlen = 0;
@@ -1417,20 +1417,20 @@
             //$strlen += strlen($data);
         }
         $this->debug('received '.strlen($this->incoming_payload).' bytes of data from server');
-
+	
         // close filepointer
         fclose($fp);
         $this->debug('closed socket');
-
+		
         // connection was closed unexpectedly
         if($this->incoming_payload == ''){
             $this->setError('no response from server');
             return false;
         }
-
+		
         $this->debug('received incoming payload: '.strlen($this->incoming_payload));
         $data = $this->incoming_payload."\r\n\r\n\r\n\r\n";
-
+		
         // remove 100 header
         if(ereg('^HTTP/1.1 100',$data)){
             if($pos = strpos($data,"\r\n\r\n") ){
@@ -1439,7 +1439,7 @@
                 $data = ltrim(substr($data,$pos));
             }
         }//
-
+		
         // separate content from HTTP headers
         if( $pos = strpos($data,"\r\n\r\n") ){
             $lb = "\r\n";
@@ -1463,7 +1463,7 @@
         }
         //print "headers: <pre>$header_data</pre><br>";
         //print "data: <pre>$data</pre><br>";
-
+		
         // decode transfer-encoding
         if(isset($headers['Transfer-Encoding']) && $headers['Transfer-Encoding'] == 'chunked'){
             //$timer->setMarker('starting to decode chunked content');
@@ -1474,7 +1474,7 @@
             //$timer->setMarker('finished decoding of chunked content');
             //print "<pre>\nde-chunked:\n---------------\n$data\n\n---------------\n</pre>";
         }
-
+		
         // decode content-encoding
         if(isset($headers['Content-Encoding']) && $headers['Content-Encoding'] != ''){
             if($headers['Content-Encoding'] == 'deflate' || $headers['Content-Encoding'] == 'gzip'){
@@ -1495,7 +1495,7 @@
                 }
             }
         }
-
+		
         if(strlen($data) == 0){
             $this->debug('no data after headers!');
             $this->setError('no data present after HTTP headers');
@@ -1505,7 +1505,7 @@
         return $data;
     }
 
-
+    
     /**
      * send the SOAP message via HTTPS 1.0 using CURL
      *
@@ -1543,17 +1543,17 @@
         }
         // persistent connection
         //curl_setopt($ch, CURL_HTTP_VERSION_1_1, true);
-
+		
         // set timeout
         if($timeout != 0){
             curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
         }
-
+		
         $credentials = '';
         if($this->username != '') {
             $credentials = 'Authorization: Basic '.base64_encode("$this->username:$this->password").'\r\n';
         }
-
+		
         if($this->encoding != ''){
             if(function_exists('gzdeflate')){
                 $encoding_headers = "Accept-Encoding: $this->encoding\r\n".
@@ -1563,13 +1563,13 @@
 		}
             }
         }
-
+		
         if($this->proxyhost && $this->proxyport){
             $this->outgoing_payload = "POST $this->url HTTP/$this->protocol_version\r\n";
         } else {
             $this->outgoing_payload = "POST $this->path HTTP/$this->protocol_version\r\n";
         }
-
+		
         $this->outgoing_payload .=
             "User-Agent: $this->title v$this->version\r\n".
             "Host: ".$this->host."\r\n".
@@ -1579,7 +1579,7 @@
             "Content-Length: ".strlen($data)."\r\n".
             "SOAPAction: \"$this->soapaction\""."\r\n\r\n".
             $data;
-
+        
         // set payload
         curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $this->outgoing_payload);
         //$t->setMarker('set curl options, executing...');
@@ -1606,7 +1606,7 @@
         // close curl
         curl_close($ch);
         //$t->setMarker('closed curl');
-
+		
         // remove 100 header
         if(ereg('^HTTP/1.1 100',$data)){
             if($pos = strpos($data,"\r\n\r\n") ){
@@ -1615,7 +1615,7 @@
                 $data = ltrim(substr($data,$pos));
             }
         }//
-
+		
         // separate content from HTTP headers
         if( $pos = strpos($data,"\r\n\r\n") ){
             $lb = "\r\n";
@@ -1640,7 +1640,7 @@
             $this->setError('no data present after HTTP headers.');
             return false;
         }
-
+		
         // decode transfer-encoding
         if($headers['Transfer-Encoding'] == 'chunked'){
             if(!$data = $this->decodeChunked($data)){
@@ -1669,7 +1669,7 @@
         $this->incoming_payload = $header_data."\r\n\r\n".$data;
         return $data;
     }
-
+	
     /**
      * if authenticating, set user credentials here
      *
@@ -1681,7 +1681,7 @@
         $this->username = $username;
         $this->password = $password;
     }
-
+	
     /**
      * set the soapaction value
      *
@@ -1691,7 +1691,7 @@
     function setSOAPAction($soapaction) {
         $this->soapaction = $soapaction;
     }
-
+	
     /**
      * use http encoding
      *
@@ -1702,7 +1702,7 @@
         $this->encoding = $enc;
         $this->protocol_version = '1.1';
     }
-
+	
     /**
      * set proxy info here
      *
@@ -1714,7 +1714,7 @@
         $this->proxyhost = $proxyhost;
         $this->proxyport = $proxyport;
     }
-
+	
     /**
      * decode a string that is encoded w/ "chunked' transfer encoding
      * as defined in RFC2068 19.4.6
@@ -1727,7 +1727,7 @@
         // length := 0
         $length = 0;
         $new = '';
-
+	
         // read chunk-size, chunk-extension (if any) and CRLF
         // get the position of the linebreak
         $chunkend = strpos($buffer,"\r\n") + 2;
@@ -1736,9 +1736,9 @@
         $chunkstart = $chunkend;
         // while (chunk-size > 0) {
         while ($chunk_size > 0) {
-
+			
             $chunkend = strpos( $buffer, "\r\n", $chunkstart + $chunk_size);
-
+            
             // Just in case we got a broken connection
             if ($chunkend == FALSE) {
                 $chunk = substr($buffer,$chunkstart);
@@ -1747,7 +1747,7 @@
                 $length += strlen($chunk);
                 break;
             }
-
+			
             // read chunk-data and CRLF
             $chunk = substr($buffer,$chunkstart,$chunkend-$chunkstart);
             // append chunk-data to entity-body
@@ -1756,7 +1756,7 @@
             $length += strlen($chunk);
             // read chunk-size and CRLF
             $chunkstart = $chunkend + 2;
-
+			
             $chunkend = strpos($buffer,"\r\n",$chunkstart)+2;
             if ($chunkend == FALSE) {
                 break; //Just in case we got a broken connection
@@ -1799,7 +1799,7 @@
     var $wsdl = false;
     var $externalWSDLURL = false;
     var $debug_flag = true;
-
+	
     /**
      * constructor
      * the optional parameter is a path to a WSDL file that you'd like to bind the server instance to.
@@ -1808,7 +1808,7 @@
      * @access   public
      */
     function soap_server($wsdl=false){
-
+        
         // turn on debugging?
         global $debug;
         if(isset($debug)){
@@ -1824,7 +1824,7 @@
             }
         }
     }
-
+    
     /**
      * processes request and returns response
      *
@@ -1852,12 +1852,12 @@
                 exit();
             }
         }
-
+		
         // print web interface
         if($data == '' && $this->wsdl){
             print $this->webDescription();
         } else {
-
+			
             // $response is the serialized response message
             $response = $this->parse_request($data);
             $this->debug('server sending...');
@@ -2105,7 +2105,7 @@
         if(false == $use) {
             $use = "encoded";
         }
-
+		
         $this->operations[] = array($name => array());
         $this->operations[$name] = array(
                                          'name' => $name,
@@ -2270,11 +2270,11 @@
         if(false == $namespace) {
             $namespace = "http://$SERVER_NAME/soap/$serviceName";
         }
-
+        
         if(false == $endpoint) {
             $endpoint = "http://$SERVER_NAME$SCRIPT_NAME";
         }
-
+        
         $this->wsdl = new wsdl;
         $this->wsdl->serviceName = $serviceName;
         $this->wsdl->endpoint = $endpoint;
@@ -2297,13 +2297,13 @@
 
 /**
  * parses a WSDL file, allows access to it's data, other utility methods
- *
+ * 
  * @author   Dietrich Ayala <dietrich at ganx4.com>
  * @version  v 0.6.3
- * @access public
+ * @access public 
  */
 class wsdl extends XMLSchema {
-    var $wsdl;
+    var $wsdl; 
     // define internal arrays of bindings, ports, operations, messages, etc.
     var $message = array();
     var $complexTypes = array();
@@ -2319,9 +2319,9 @@
     var $opData = array();
     var $status = '';
     var $documentation = false;
-    var $endpoint = '';
+    var $endpoint = ''; 
     // array of wsdl docs to import
-    var $import = array();
+    var $import = array(); 
     // parser vars
     var $parser;
     var $position = 0;
@@ -2331,37 +2331,37 @@
     // for getting wsdl
     var $proxyhost = '';
     var $proxyport = '';
-
+    
     /**
      * constructor
-     *
+     * 
      * @param string $wsdl WSDL document URL
-     * @access public
+     * @access public 
      */
     function wsdl($wsdl = '',$proxyhost=false,$proxyport=false){
         $this->wsdl = $wsdl;
         $this->proxyhost = $proxyhost;
         $this->proxyport = $proxyport;
-
+        
         // parse wsdl file
         if ($wsdl != "") {
             $this->debug('initial wsdl file: ' . $wsdl);
             $this->parseWSDL($wsdl);
-        }
+        } 
         // imports
         if (sizeof($this->import) > 0) {
             foreach($this->import as $ns => $url) {
                 $this->debug('importing wsdl from ' . $url);
                 $this->parseWSDL($url);
-            }
-        }
-    }
+            } 
+        } 
+    } 
 
     /**
      * parses the wsdl document
-     *
+     * 
      * @param string $wsdl path or URL
-     * @access private
+     * @access private 
      */
     function parseWSDL($wsdl = '')
     {
@@ -2369,15 +2369,15 @@
             $this->debug('no wsdl passed to parseWSDL()!!');
             $this->setError('no wsdl passed to parseWSDL()!!');
             return false;
-        }
+        } 
 
         $this->debug('getting ' . $wsdl);
-
+        
         // parse $wsdl for url format
         $wsdl_props = parse_url($wsdl);
 
         if (isset($wsdl_props['host'])) {
-
+        	
             // get wsdl
             $tr = new soap_transport_http($wsdl);
             $tr->request_method = 'GET';
@@ -2397,7 +2397,7 @@
             }
             unset($tr);
             /* $wsdl seems to be a valid url, not a file path, do an fsockopen/HTTP GET
-            $fsockopen_timeout = 30;
+            $fsockopen_timeout = 30; 
             // check if a port value is supplied in url
             if (isset($wsdl_props['port'])) {
                 // yes
@@ -2413,8 +2413,8 @@
                     case ('http') :
                     default :
                         $wsdl_url_port = 80;
-                }
-            }
+                } 
+            } 
             // FIXME: should implement SSL/TLS support here if CURL is available
             if ($fp = fsockopen($wsdl_props['host'], $wsdl_url_port, $fsockopen_errnum, $fsockopen_errstr, $fsockopen_timeout)) {
                 // perform HTTP GET for WSDL file
@@ -2422,7 +2422,7 @@
                 $sHeader = "GET " . $wsdl_props['path'];
                 if (isset($wsdl_props['query'])) {
                     $sHeader .= "?" . $wsdl_props['query'];
-                }
+                } 
                 $sHeader .= " HTTP/1.0\r\n";
 
                 if (isset($wsdl_props['user'])) {
@@ -2436,12 +2436,12 @@
                     // do nothing, just read/skip past HTTP headers
                     // FIXME: should actually detect HTTP response code, and act accordingly if error
                     // HTTP headers end with extra CRLF before content body
-                }
+                } 
                 // read in WSDL just like regular fopen()
                 $wsdl_string = '';
                 while ($data = fread($fp, 32768)) {
                     $wsdl_string .= $data;
-                }
+                } 
                 fclose($fp);
             } else {
                 $this->setError('bad path to WSDL file.');
@@ -2454,21 +2454,21 @@
                 $wsdl_string = '';
                 while ($data = fread($fp, 32768)) {
                     $wsdl_string .= $data;
-                }
+                } 
                 fclose($fp);
             } else {
                 $this->setError('bad path to WSDL file.');
                 return false;
-            }
+            } 
         }
         // end new code added
         // Create an XML parser.
-        $this->parser = xml_parser_create();
+        $this->parser = xml_parser_create(); 
         // Set the options for parsing the XML data.
         // xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
-        xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
+        xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0); 
         // Set the object for the parser.
-        xml_set_object($this->parser, $this);
+        xml_set_object($this->parser, $this); 
         // Set the element handlers for the parser.
         xml_set_element_handler($this->parser, 'start_element', 'end_element');
         xml_set_character_data_handler($this->parser, 'character_data');
@@ -2483,7 +2483,7 @@
             $this->debug('XML parse error: ' . $errstr);
             $this->setError('Parser error: ' . $errstr);
             return false;
-        }
+        } 
         // free the parser
         xml_parser_free($this->parser);
         // catch wsdl parse errors
@@ -2495,11 +2495,11 @@
             if (isset($bindingData['operations']) && is_array($bindingData['operations'])) {
                 foreach($bindingData['operations'] as $operation => $data) {
                     $this->debug('post-parse data gathering for ' . $operation);
-                    $this->bindings[$binding]['operations'][$operation]['input'] =
-						isset($this->bindings[$binding]['operations'][$operation]['input']) ?
+                    $this->bindings[$binding]['operations'][$operation]['input'] = 
+						isset($this->bindings[$binding]['operations'][$operation]['input']) ? 
 						array_merge($this->bindings[$binding]['operations'][$operation]['input'], $this->portTypes[ $bindingData['portType'] ][$operation]['input']) :
 						$this->portTypes[ $bindingData['portType'] ][$operation]['input'];
-                    $this->bindings[$binding]['operations'][$operation]['output'] =
+                    $this->bindings[$binding]['operations'][$operation]['output'] = 
 						isset($this->bindings[$binding]['operations'][$operation]['output']) ?
 						array_merge($this->bindings[$binding]['operations'][$operation]['output'], $this->portTypes[ $bindingData['portType'] ][$operation]['output']) :
 						$this->portTypes[ $bindingData['portType'] ][$operation]['output'];
@@ -2515,19 +2515,19 @@
                     $this->bindings[$binding]['operations'][$operation]['transport'] = isset($bindingData['transport']) ? $bindingData['transport'] : '';
                     $this->bindings[$binding]['operations'][$operation]['documentation'] = isset($this->portTypes[ $bindingData['portType'] ][$operation]['documentation']) ? $this->portTypes[ $bindingData['portType'] ][$operation]['documentation'] : '';
                     $this->bindings[$binding]['operations'][$operation]['endpoint'] = isset($bindingData['endpoint']) ? $bindingData['endpoint'] : '';
-                }
-            }
+                } 
+            } 
         }
         return true;
-    }
+    } 
 
     /**
      * start-element handler
-     *
+     * 
      * @param string $parser XML parser object
      * @param string $name element name
      * @param string $attrs associative array of attributes
-     * @access private
+     * @access private 
      */
     function start_element($parser, $name, $attrs)
     {
@@ -2538,19 +2538,19 @@
         } else {
             // position in the total number of elements, starting from 0
             $pos = $this->position++;
-            $depth = $this->depth++;
+            $depth = $this->depth++; 
             // set self as current value for this depth
             $this->depth_array[$depth] = $pos;
-            $this->message[$pos] = array('cdata' => '');
+            $this->message[$pos] = array('cdata' => ''); 
             // get element prefix
             if (ereg(':', $name)) {
                 // get ns prefix
-                $prefix = substr($name, 0, strpos($name, ':'));
+                $prefix = substr($name, 0, strpos($name, ':')); 
                 // get ns
-                $namespace = isset($this->namespaces[$prefix]) ? $this->namespaces[$prefix] : '';
+                $namespace = isset($this->namespaces[$prefix]) ? $this->namespaces[$prefix] : ''; 
                 // get unqualified name
                 $name = substr(strstr($name, ':'), 1);
-            }
+            } 
 
             if (count($attrs) > 0) {
                 foreach($attrs as $k => $v) {
@@ -2560,23 +2560,23 @@
                             $this->namespaces[$ns_prefix] = $v;
                         } else {
                             $this->namespaces['ns' . (count($this->namespaces) + 1)] = $v;
-                        }
+                        } 
                         if ($v == 'http://www.w3.org/2001/XMLSchema' || $v == 'http://www.w3.org/1999/XMLSchema') {
                             $this->XMLSchemaVersion = $v;
                             $this->namespaces['xsi'] = $v . '-instance';
-                        }
-                    } //
+                        } 
+                    } //  
                     // expand each attribute
                     $k = strpos($k, ':') ? $this->expandQname($k) : $k;
                     if ($k != 'location' && $k != 'soapAction' && $k != 'namespace') {
                         $v = strpos($v, ':') ? $this->expandQname($v) : $v;
-                    }
+                    } 
                     $eAttrs[$k] = $v;
-                }
+                } 
                 $attrs = $eAttrs;
             } else {
                 $attrs = array();
-            }
+            } 
             // find status, register data
             switch ($this->status) {
                 case 'message':
@@ -2584,11 +2584,11 @@
                     	if (isset($attrs['type'])) {
 		                    $this->debug("msg " . $this->currentMessage . ": found part $attrs[name]: " . implode(',', $attrs));
 		                    $this->messages[$this->currentMessage][$attrs['name']] = $attrs['type'];
-            			}
+            			} 
 			            if (isset($attrs['element'])) {
 			                $this->messages[$this->currentMessage][$attrs['name']] = $attrs['element'];
-			            }
-        			}
+			            } 
+        			} 
         			break;
 			    case 'portType':
 			        switch ($name) {
@@ -2597,25 +2597,25 @@
 			                $this->debug("portType $this->currentPortType operation: $this->currentPortOperation");
 			                if (isset($attrs['parameterOrder'])) {
 			                	$this->portTypes[$this->currentPortType][$attrs['name']]['parameterOrder'] = $attrs['parameterOrder'];
-			        		}
+			        		} 
 			        		break;
 					    case 'documentation':
 					        $this->documentation = true;
-					        break;
+					        break; 
 					    // merge input/output data
 					    default:
 					        $m = isset($attrs['message']) ? $this->getLocalPart($attrs['message']) : '';
 					        $this->portTypes[$this->currentPortType][$this->currentPortOperation][$name]['message'] = $m;
 					        break;
-					}
+					} 
 			    	break;
 				case 'binding':
 				    switch ($name) {
-				        case 'binding':
+				        case 'binding': 
 				            // get ns prefix
 				            if (isset($attrs['style'])) {
 				            $this->bindings[$this->currentBinding]['prefix'] = $prefix;
-					    	}
+					    	} 
 					    	$this->bindings[$this->currentBinding] = array_merge($this->bindings[$this->currentBinding], $attrs);
 					    	break;
 						case 'header':
@@ -2624,17 +2624,17 @@
 						case 'operation':
 						    if (isset($attrs['soapAction'])) {
 						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['soapAction'] = $attrs['soapAction'];
-						    }
+						    } 
 						    if (isset($attrs['style'])) {
 						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['style'] = $attrs['style'];
-						    }
+						    } 
 						    if (isset($attrs['name'])) {
 						        $this->currentOperation = $attrs['name'];
 						        $this->debug("current binding operation: $this->currentOperation");
 						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['name'] = $attrs['name'];
 						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['binding'] = $this->currentBinding;
 						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation]['endpoint'] = isset($this->bindings[$this->currentBinding]['endpoint']) ? $this->bindings[$this->currentBinding]['endpoint'] : '';
-						    }
+						    } 
 						    break;
 						case 'input':
 						    $this->opStatus = 'input';
@@ -2647,9 +2647,9 @@
 						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus] = array_merge($this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus], $attrs);
 						    } else {
 						        $this->bindings[$this->currentBinding]['operations'][$this->currentOperation][$this->opStatus] = $attrs;
-						    }
+						    } 
 						    break;
-					}
+					} 
 					break;
 				case 'service':
 					switch ($name) {
@@ -2657,7 +2657,7 @@
 					        $this->currentPort = $attrs['name'];
 					        $this->debug('current port: ' . $this->currentPort);
 					        $this->ports[$this->currentPort]['binding'] = $this->getLocalPart($attrs['binding']);
-
+					
 					        break;
 					    case 'address':
 					        $this->ports[$this->currentPort]['location'] = $attrs['location'];
@@ -2665,15 +2665,15 @@
 					        $this->bindings[ $this->ports[$this->currentPort]['binding'] ]['bindingType'] = $namespace;
 					        $this->bindings[ $this->ports[$this->currentPort]['binding'] ]['endpoint'] = $attrs['location'];
 					        break;
-					}
+					} 
 					break;
-			}
+			} 
 		// set status
 		switch ($name) {
 			case "import":
 			    if (isset($attrs['location'])) {
 			    	$this->import[$attrs['namespace']] = $attrs['location'];
-				}
+				} 
 				break;
 			case 'types':
 				$this->status = 'schema';
@@ -2695,11 +2695,11 @@
 			    		$this->currentBinding = $this->getLocalPart($attrs['name']);
 					} else {
 			    		$this->currentBinding = $attrs['name'];
-					}
+					} 
 					$this->status = 'binding';
 					$this->bindings[$this->currentBinding]['portType'] = $this->getLocalPart($attrs['type']);
 					$this->debug("current binding: $this->currentBinding of portType: " . $attrs['type']);
-				}
+				} 
 				break;
 			case 'service':
 				$this->serviceName = $attrs['name'];
@@ -2709,70 +2709,70 @@
 			case 'definitions':
 				foreach ($attrs as $name => $value) {
 					$this->wsdl_info[$name] = $value;
-				}
+				} 
 				break;
-			}
-		}
-	}
+			} 
+		} 
+	} 
 
     /**
      * end-element handler
-     *
+     * 
      * @param string $parser XML parser object
      * @param string $name element name
-     * @access private
+     * @access private 
      */
-    function end_element($parser, $name){
+    function end_element($parser, $name){ 
         // unset schema status
         if (ereg('types$', $name) || ereg('schema$', $name)) {
             $this->status = "";
-        }
+        } 
         if ($this->status == 'schema') {
             $this->schemaEndElement($parser, $name);
         } else {
             // bring depth down a notch
             $this->depth--;
-        }
+        } 
         // end documentation
         if ($this->documentation) {
             $this->portTypes[$this->currentPortType][$this->currentPortOperation]['documentation'] = $this->documentation;
             $this->documentation = false;
-        }
-    }
+        } 
+    } 
 
     /**
      * element content handler
-     *
+     * 
      * @param string $parser XML parser object
      * @param string $data element content
-     * @access private
+     * @access private 
      */
     function character_data($parser, $data)
     {
         $pos = isset($this->depth_array[$this->depth]) ? $this->depth_array[$this->depth] : 0;
         if (isset($this->message[$pos]['cdata'])) {
             $this->message[$pos]['cdata'] .= $data;
-        }
+        } 
         if ($this->documentation) {
             $this->documentation .= $data;
-        }
-    }
-
+        } 
+    } 
+	
     function getBindingData($binding)
     {
         if (is_array($this->bindings[$binding])) {
             return $this->bindings[$binding];
-        }
+        } 
     }
-
+	
     /**
      * returns an assoc array of operation names => operation data
      * NOTE: currently only supports multiple services of differing binding types
      * This method needs some work
-     *
+     * 
      * @param string $bindingType eg: soap, smtp, dime (only soap is currently supported)
-     * @return array
-     * @access public
+     * @return array 
+     * @access public 
      */
     function getOperations($bindingType = 'soap')
     {
@@ -2786,17 +2786,17 @@
                 // get binding
                 return $this->bindings[ $portData['binding'] ]['operations'];
             }
-        }
+        } 
         return array();
-    }
-
+    } 
+	
     /**
      * returns an associative array of data necessary for calling an operation
-     *
+     * 
      * @param string $operation , name of operation
      * @param string $bindingType , type of binding eg: soap
-     * @return array
-     * @access public
+     * @return array 
+     * @access public 
      */
     function getOperationData($operation, $bindingType = 'soap')
     {
@@ -2813,44 +2813,44 @@
                     if ($operation == $bOperation) {
                         $opData = $this->bindings[ $portData['binding'] ]['operations'][$operation];
                         return $opData;
-                    }
-                }
+                    } 
+                } 
             }
-        }
+        } 
     }
-
+	
     /**
      * serialize the parsed wsdl
-     *
+     * 
      * @return string , serialization of WSDL
-     * @access public
+     * @access public 
      */
     function serialize()
     {
         $xml = '<?xml version="1.0"?><definitions';
         foreach($this->namespaces as $k => $v) {
             $xml .= " xmlns:$k=\"$v\"";
-        }
+        } 
         // 10.9.02 - add poulter fix for wsdl and tns declarations
         if (isset($this->namespaces['wsdl'])) {
             $xml .= " xmlns=\"" . $this->namespaces['wsdl'] . "\"";
-        }
+        } 
         if (isset($this->namespaces['tns'])) {
             $xml .= " targetNamespace=\"" . $this->namespaces['tns'] . "\"";
-        }
-        $xml .= '>';
+        } 
+        $xml .= '>'; 
         // imports
         if (sizeof($this->import) > 0) {
             foreach($this->import as $ns => $url) {
                 $xml .= '<import location="' . $url . '" namespace="' . $ns . '" />';
-            }
-        }
+            } 
+        } 
         // types
         if (count($this->complexTypes)>=1) {
             $xml .= '<types>';
             $xml .= $this->serializeSchema();
             $xml .= '</types>';
-        }
+        } 
         // messages
         if (count($this->messages) >= 1) {
             foreach($this->messages as $msgName => $msgParts) {
@@ -2866,17 +2866,17 @@
                         foreach($this->typemap as $ns => $types) {
                             if (isset($types[$partType])) {
                                 $typePrefix = $this->getPrefixFromNamespace($ns);
-                            }
-                        }
+                            } 
+                        } 
                         if (!isset($typePrefix)) {
                             die("$partType has no namespace!");
-                        }
-                    }
+                        } 
+                    } 
                     $xml .= '<part name="' . $partName . '" type="' . $typePrefix . ':' . $this->getLocalPart($partType) . '" />';
-                }
+                } 
                 $xml .= '</message>';
-            }
-        }
+            } 
+        } 
         // bindings & porttypes
         if (count($this->bindings) >= 1) {
             $binding_xml = '';
@@ -2894,17 +2894,17 @@
                     $portType_xml .= '<operation name="' . $opParts['name'] . '"';
                     if (isset($opParts['parameterOrder'])) {
                         $portType_xml .= ' parameterOrder="' . $opParts['parameterOrder'] . '"';
-                    }
+                    } 
                     $portType_xml .= '>';
                     $portType_xml .= '<input message="tns:' . $opParts['input']['message'] . '"/>';
                     $portType_xml .= '<output message="tns:' . $opParts['output']['message'] . '"/>';
                     $portType_xml .= '</operation>';
-                }
+                } 
                 $portType_xml .= '</portType>';
                 $binding_xml .= '</binding>';
-            }
+            } 
             $xml .= $portType_xml . $binding_xml;
-        }
+        } 
         // services
         $xml .= '<service name="' . $this->serviceName . '">';
         if (count($this->ports) >= 1) {
@@ -2912,32 +2912,32 @@
                 $xml .= '<port name="' . $pName . '" binding="tns:' . $attrs['binding'] . '">';
                 $xml .= '<soap:address location="' . $attrs['location'] . '"/>';
                 $xml .= '</port>';
-            }
-        }
+            } 
+        } 
         $xml .= '</service>';
         return $xml . '</definitions>';
-    }
-
+    } 
+	
     /**
      * serialize a PHP value according to a WSDL message definition
-     *
+     * 
      * TODO
      * - multi-ref serialization
      * - validate PHP values against type definitions, return errors if invalid
-     *
+     * 
      * @param string $ type name
      * @param mixed $ param value
      * @return mixed new param or false if initial value didn't validate
      */
     function serializeRPCParameters($operation, $direction, $parameters)
     {
-        $this->debug('in serializeRPCParameters with operation '.$operation.', direction '.$direction.' and '.count($parameters).' param(s), and xml schema version ' . $this->XMLSchemaVersion);
-
+        $this->debug('in serializeRPCParameters with operation '.$operation.', direction '.$direction.' and '.count($parameters).' param(s), and xml schema version ' . $this->XMLSchemaVersion); 
+                
         if ($direction != 'input' && $direction != 'output') {
             $this->debug('The value of the \$direction argument needs to be either "input" or "output"');
             $this->setError('The value of the \$direction argument needs to be either "input" or "output"');
             return false;
-        }
+        } 
         if (!$opData = $this->getOperationData($operation)) {
             $this->debug('Unable to retrieve WSDL data for operation: ' . $operation);
             $this->setError('Unable to retrieve WSDL data for operation: ' . $operation);
@@ -2947,7 +2947,7 @@
         // set input params
         $xml = '';
         if (isset($opData[$direction]['parts']) && sizeof($opData[$direction]['parts']) > 0) {
-
+			
             $use = $opData[$direction]['use'];
             $this->debug("use=$use");
             $this->debug('got ' . count($opData[$direction]['parts']) . ' part(s)');
@@ -2967,17 +2967,17 @@
             }
         }
         return $xml;
-    }
-
+    } 
+	
     /**
      * serializes a PHP value according a given type definition
-     *
+     * 
      * @param string $name , name of type (part)
      * @param string $type , type of type, heh (type or element)
      * @param mixed $value , a native PHP value (parameter value)
      * @param string $use , use for part (encoded|literal)
      * @return string serialization
-     * @access public
+     * @access public 
      */
     function serializeType($name, $type, $value, $use='encoded')
     {
@@ -2987,25 +2987,25 @@
             $uqType = substr($type, strrpos($type, ':') + 1);
             $ns = substr($type, 0, strrpos($type, ':'));
             $this->debug("got a prefixed type: $uqType, $ns");
-
+			
             if($ns == $this->XMLSchemaVersion ||
                ($this->getNamespaceFromPrefix($ns)) == $this->XMLSchemaVersion){
-
+				
                 if ($uqType == 'boolean' && !$value) {
                     $value = 0;
                 } elseif ($uqType == 'boolean') {
                     $value = 1;
-                }
+                } 
                 if ($this->charencoding && $uqType == 'string' && gettype($value) == 'string') {
                     $value = htmlspecialchars($value);
-                }
+                } 
                 // it's a scalar
                 if ($use == 'literal') {
                     return "<$name>$value</$name>";
                 } else {
                     return "<$name xsi:type=\"" . $this->getPrefixFromNamespace($this->XMLSchemaVersion) . ":$uqType\">$value</$name>";
                 }
-            }
+            } 
         } else {
             $uqType = $type;
         }
@@ -3018,7 +3018,7 @@
             //}
         }
         $phpType = $typeDef['phpType'];
-        $this->debug("serializeType: uqType: $uqType, ns: $ns, phptype: $phpType, arrayType: " . (isset($typeDef['arrayType']) ? $typeDef['arrayType'] : '') );
+        $this->debug("serializeType: uqType: $uqType, ns: $ns, phptype: $phpType, arrayType: " . (isset($typeDef['arrayType']) ? $typeDef['arrayType'] : '') ); 
         // if php type == struct, map value to the <all> element names
         if ($phpType == 'struct') {
             if (isset($typeDef['element']) && $typeDef['element']) {
@@ -3035,9 +3035,9 @@
             } else {
                 $xml = "<$elementName$elementNS xsi:type=\"" . $this->getPrefixFromNamespace($ns) . ":$uqType\">";
             }
-
+			
             if (isset($this->complexTypes[$uqType]['elements']) && is_array($this->complexTypes[$uqType]['elements'])) {
-
+			
                 //if (is_array($this->complexTypes[$uqType]['elements'])) {
                 // toggle whether all elements are present - ideally should validate against schema
                 if(count($this->complexTypes[$uqType]['elements']) != count($value)){
@@ -3063,7 +3063,7 @@
                             $xml .= $this->serialize_val($v, $eName, $this->getLocalPart($attrs['type']), null, $this->getNamespaceFromPrefix($this->getPrefix($attrs['type'])), false, $use);
                         }
                     }
-                }
+                } 
             }
             $xml .= "</$elementName>";
         } elseif ($phpType == 'array') {
@@ -3073,11 +3073,11 @@
                 foreach($value as $v) {
                     $cols = ',' . sizeof($v);
                     $nv = array_merge($nv, $v);
-                }
+                } 
                 $value = $nv;
             } else {
                 $cols = '';
-            }
+            } 
             if (is_array($value) && sizeof($value) >= 1) {
                 $contents = '';
                 foreach($value as $k => $v) {
@@ -3087,7 +3087,7 @@
                         $contents .= $this->serializeType('item', $typeDef['arrayType'], $v, $use);
                     } else {
                         $contents .= $this->serialize_val($v, 'item', $typeDef['arrayType'], null, $this->XMLSchemaVersion, false, $use);
-                    }
+                    } 
                 }
                 $this->debug('contents: '.$this->varDump($contents));
             } else {
@@ -3110,17 +3110,17 @@
         $this->debug('returning: '.$this->varDump($xml));
         return $xml;
     }
-
+	
     /**
      * register a service with the server
-     *
-     * @param string $methodname
+     * 
+     * @param string $methodname 
      * @param string $in assoc array of input values: key = param name, value = param type
      * @param string $out assoc array of output values: key = param name, value = param type
-     * @param string $namespace
-     * @param string $soapaction
+     * @param string $namespace 
+     * @param string $soapaction 
      * @param string $style (rpc|literal)
-     * @access public
+     * @access public 
      */
     function addOperation($name, $in = false, $out = false, $namespace = false, $soapaction = false, $style = 'rpc', $use = 'encoded', $documentation = '')
     {
@@ -3128,7 +3128,7 @@
             $encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/';
 	} else {
             $encodingStyle = '';
-	}
+	} 
 	// get binding
 	$this->bindings[ $this->serviceName . 'Binding' ]['operations'][$name] =
 	array(
@@ -3151,7 +3151,7 @@
                                 'parts' => $out),
               'namespace' => $namespace,
               'transport' => 'http://schemas.xmlsoap.org/soap/http',
-              'documentation' => $documentation);
+              'documentation' => $documentation); 
 	// add portTypes
 	// add messages
         if($in)
@@ -3164,7 +3164,7 @@
                     $this->messages[$name.'Request'][$pName] = $pType;
                 }
             }
-
+        
         if($out)
             {
                 foreach($out as $pName => $pType)
@@ -3176,8 +3176,8 @@
                 }
             }
 	return true;
-    }
-}
+    } 
+} 
 
 ?><?php
 
@@ -3648,7 +3648,7 @@
     var $endpointType = '';
     var $persistentConnection = false;
     var $defaultRpcParams = false;
-
+	
     /**
      * fault related variables
      *
@@ -3675,10 +3675,10 @@
         if ($wsdl){
             $this->endpointType = 'wsdl';
             $this->wsdlFile = $this->endpoint;
-
+			
             // instantiate wsdl object and parse wsdl file
             $this->debug('instantiating wsdl class with doc: '.$endpoint);
-            $this->wsdl = new wsdl($this->wsdlFile,$this->proxyhost,$this->proxyport);
+            $this->wsdl =& new wsdl($this->wsdlFile,$this->proxyhost,$this->proxyport);
             $this->debug("wsdl debug: \n".$this->wsdl->debug_str);
             $this->wsdl->debug_str = '';
             // catch errors
@@ -3716,7 +3716,7 @@
         $this->faultstring = '';
         $this->faultcode = '';
         $this->opData = array();
-
+		
         $this->debug("call: $operation, $params, $namespace, $soapAction, $headers, $rpcParams");
         $this->debug("endpointType: $this->endpointType");
         // if wsdl, get operation data and process parameters
@@ -3735,7 +3735,7 @@
                 $this->wsdl->namespaces['nu'] = $namespace;
             }
             // serialize payload
-
+			
             if($opData['input']['use'] == 'literal') {
                 if (is_null($rpcParams)) {
                     $rpcParams = $this->defaultRpcParams;
@@ -3792,7 +3792,7 @@
         } else {
             $this->return = $return;
             $this->debug('sent message successfully and got a(n) '.gettype($return).' back');
-
+            
             // fault?
             if(is_array($return) && isset($return['faultcode'])){
                 $this->debug('got fault');
@@ -3885,7 +3885,7 @@
 						$response = $http->sendHTTPS($msg,$timeout);
 					} else {
 						$this->setError('CURL Extension, or OpenSSL extension w/ PHP version >= 4.3 is required for HTTPS');
-					}
+					}								
 				} else {
 					$this->setError('no http/s in endpoint url');
 				}
@@ -3990,7 +3990,7 @@
             $this->username = $username;
             $this->password = $password;
 	}
-
+	
 	/**
          * use HTTP encoding
          *
@@ -4000,7 +4000,7 @@
 	function setHTTPEncoding($enc='gzip, deflate'){
             $this->http_encoding = $enc;
 	}
-
+	
 	/**
          * use HTTP persistent connections if possible
          *
@@ -4009,7 +4009,7 @@
 	function useHTTPPersistentConnection(){
             $this->persistentConnection = true;
 	}
-
+	
 	/**
          * gets the default RPC parameter setting.
          * If true, default is that call params are like RPC even for document style.
@@ -4032,7 +4032,7 @@
 	function setDefaultRpcParams($rpcParams) {
             $this->defaultRpcParams = $rpcParams;
 	}
-
+	
 	/**
          * dynamically creates proxy class, allowing user to directly call methods from wsdl
          *

Modified: trunk/src/plugins/wiki/www/lib/pear/Cache/Container/file.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/Cache/Container/file.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/Cache/Container/file.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -65,18 +65,18 @@
     * @var  string
     */
     var $filename_prefix = '';
-
-
+    
+    
     /**
     * List of cache entries, used within a gc run
-    *
+    * 
     * @var array
     */
     var $entries;
-
+    
     /**
     * Total number of bytes required by all cache entries, used within a gc run.
-    *
+    * 
     * @var  int
     */
     var $total_size = 0;
@@ -85,7 +85,7 @@
     /**
     * Max Line Length of userdata
     *
-    * If set to 0, it will take the default
+    * If set to 0, it will take the default 
     * ( 1024 in php 4.2, unlimited in php 4.3)
     * see http://ch.php.net/manual/en/function.fgets.php
     * for details
@@ -102,7 +102,7 @@
      function Cache_Container_file($options = '') {
         if (is_array($options))
             $this->setOptions($options, array_merge($this->allowed_options, array('cache_dir', 'filename_prefix', 'max_userdata_linelength')));
-
+        
         clearstatcache();
         if ($this->cache_dir)
         {
@@ -120,7 +120,7 @@
         }
         $this->entries = array();
         $this->group_dirs = array();
-
+                    
     } // end func contructor
 
     function fetch($id, $group) {
@@ -252,27 +252,27 @@
 
         $ok = $this->doGarbageCollection($maxlifetime, $this->cache_dir);
 
-        // check the space used by the cache entries
+        // check the space used by the cache entries        
         if ($this->total_size > $this->highwater) {
-
+        
             krsort($this->entries);
             reset($this->entries);
-
+            
             while ($this->total_size > $this->lowwater && list($lastmod, $entry) = each($this->entries)) {
                 if (@unlink($entry['file']))
                     $this->total_size -= $entry['size'];
                 else
                     new CacheError("Can't delete {$entry["file"]}. Check the permissions.");
             }
-
+            
         }
-
+        
         $this->entries = array();
         $this->total_size = 0;
-
+        
         return $ok;
     } // end func garbageCollection
-
+    
     /**
     * Does the recursive gc procedure, protected.
     *
@@ -282,7 +282,7 @@
     * @throws   Cache_Error
     */
     function doGarbageCollection($maxlifetime, $dir) {
-
+           
         if (!($dh = opendir($dir)))
             return new Cache_Error("Can't access cache directory '$dir'. Check permissions and path.", __FILE__, __LINE__);
 
@@ -305,10 +305,10 @@
             $expire = fgets($fh, 11);
             fclose($fh);
             $lastused = filemtime($file);
-
+            
             $this->entries[$lastused] = array('file' => $file, 'size' => filesize($file));
             $this->total_size += filesize($file);
-
+            
             // remove if expired
             if (( ($expire && $expire <= time()) || ($lastused <= (time() - $maxlifetime)) ) && !unlink($file))
                 new Cache_Error("Can't unlink cache file '$file', skipping. Check permissions and path.", __FILE__, __LINE__);
@@ -383,6 +383,6 @@
 
         return $num_removed;
     } // end func deleteDir
-
+    
 } // end class file
 ?>

Modified: trunk/src/plugins/wiki/www/lib/pear/Cache/Container/imgfile.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/Cache/Container/imgfile.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/Cache/Container/imgfile.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -53,18 +53,18 @@
     * @var  string
     */
     var $filename_prefix = '';
-
-
+    
+    
     /**
     * List of cache entries, used within a gc run
-    *
+    * 
     * @var array
     */
     var $entries;
-
+    
     /**
     * Total number of bytes required by all cache entries, used within a gc run.
-    *
+    * 
     * @var  int
     */
     var $total_size = 0;
@@ -77,7 +77,7 @@
      function Cache_Container_file($options = '') {
         if (is_array($options))
             $this->setOptions($options, array_merge($this->allowed_options, array('cache_dir', 'filename_prefix')));
-
+        
         clearstatcache();
         if ($this->cache_dir)
         {
@@ -87,7 +87,7 @@
                 $this->cache_dir = realpath( getcwd() . '/' . $this->cache_dir) . '/';
 
             // check if a trailing slash is in cache_dir
-            if (!substr($this->cache_dir,-1) )
+            if (!substr($this->cache_dir,-1) ) 
                  $this->cache_dir .= '/';
 
             if  (!file_exists($this->cache_dir) || !is_dir($this->cache_dir))
@@ -95,7 +95,7 @@
         }
         $this->entries = array();
         $this->group_dirs = array();
-
+                    
     } // end func contructor
 
     function fetch($id, $group) {
@@ -129,7 +129,7 @@
         // touch without second param produced stupid entries...
         touch($file,time());
         clearstatcache();
-
+        
         return array($expire, $cachedata, $userdata);
     } // end func fetch
 
@@ -232,27 +232,27 @@
 
         $ok = $this->doGarbageCollection($maxlifetime, $this->cache_dir);
 
-        // check the space used by the cache entries
+        // check the space used by the cache entries        
         if ($this->total_size > $this->highwater) {
-
+        
             krsort($this->entries);
             reset($this->entries);
-
+            
             while ($this->total_size > $this->lowwater && list($lastmod, $entry) = each($this->entries)) {
                 if (@unlink($entry['file']))
                     $this->total_size -= $entry['size'];
                 else
                     new CacheError("Can't delete {$entry["file"]}. Check the permissions.");
             }
-
+            
         }
-
+        
         $this->entries = array();
         $this->total_size = 0;
-
+        
         return $ok;
     } // end func garbageCollection
-
+    
     /**
     * Does the recursive gc procedure, protected.
     *
@@ -262,7 +262,7 @@
     * @throws   Cache_Error
     */
     function doGarbageCollection($maxlifetime, $dir) {
-
+           
         if (!($dh = opendir($dir)))
             return new Cache_Error("Can't access cache directory '$dir'. Check permissions and path.", __FILE__, __LINE__);
 
@@ -296,13 +296,13 @@
                 $x = filesize($file.'.img');
             $this->entries[$lastused] = array('file' => $file, 'size' => filesize($file)+$x);
             $this->total_size += filesize($file)+$x;
-
+            
             // remove if expired
             if ( ($expire && $expire <= time()) || ($lastused <= (time() - $maxlifetime)) ) {
-                $ok = unlink($file);
+                $ok = unlink($file);               
                 if ( file_exists($file.'.img') )
                     $ok = $ok && unlink($file.'.img');
-                if (!$ok)
+                if (!$ok)            
                     new Cache_Error("Can't unlink cache file '$file', skipping. Check permissions and path.", __FILE__, __LINE__);
             }
 //JOHANNES END
@@ -377,6 +377,6 @@
 
         return $num_removed;
     } // end func deleteDir
-
+    
 } // end class file
 ?>

Modified: trunk/src/plugins/wiki/www/lib/pear/Cache/Container/trifile.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/Cache/Container/trifile.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/Cache/Container/trifile.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -46,14 +46,14 @@
         $file = $this->getFilename($id, $group);
         if (!file_exists($file))
             return array(NULL, NULL, NULL);
-
+        
         return array(
                 file_get_contents($this->_getExpFile($file)),
                 file_get_contents($file),
                 file_get_contents($this->_getUDFile($file))
         );
     }
-
+    
     /**
      * Get the file to store cache data in.
      *
@@ -66,7 +66,7 @@
         $file = basename($file);
         return $dir.'/.'.$file;
     }
-
+    
     /**
      * Get the file to store expiration data in.
      *
@@ -77,7 +77,7 @@
     {
         return $this->_getFile($file).'.exp';
     }
-
+    
     /**
      * Get the file to store user data in.
      *
@@ -88,7 +88,7 @@
     {
         return $this->_getFile($file).'.dat';
     }
-
+    
     /**
      * Cache file
      *
@@ -128,20 +128,20 @@
         // Save data
         if (!($fh = @fopen($file, 'wb')))
             return new Cache_Error("Can't access '$file' to store cache data. Check access rights and path.", __FILE__, __LINE__);
-
+        
         if ($this->fileLocking) {
             flock($fh, LOCK_EX);
         }
-
+        
         fwrite($fh, $data);
-
+        
         if($this->fileLocking) {
             flock($fh, LOCK_UN);
         }
-
+        
         fclose($fh);
         return true;
     }
 }
 
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/pear/Cache/Container.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/Cache/Container.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/Cache/Container.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -23,21 +23,21 @@
 
 /**
 * Common base class of all cache storage container.
-*
-* To speed up things we do a preload you should know about, otherwise it might
+* 
+* To speed up things we do a preload you should know about, otherwise it might 
 * play you a trick. The Cache controller classes (Cache/Cache, Cache/Output, ...)
 * usually do something like is (isCached($id) && !isExpired($id)) return $container->load($id).
-* if you implement isCached(), isExpired() and load() straight ahead, each of this
-* functions will result in a storage medium (db, file,...) access. This generates too much load.
-* Now, a simple speculative preload should saves time in most cases. Whenever
+* if you implement isCached(), isExpired() and load() straight ahead, each of this 
+* functions will result in a storage medium (db, file,...) access. This generates too much load. 
+* Now, a simple speculative preload should saves time in most cases. Whenever 
 * one of the mentioned methods is invoked we preload the cached dataset into class variables.
 * That means that we have only one storage medium access for the sequence
 *  (isCached($id) && !isExpired($id)) return $container->load($id).
-* The bad thing is that the preloaded data might be outdated meanwhile, which is
-* unlikely but for you power users, be warned. If you do not want the preload
-* you should switch it off by setting the class variable $preload to false. Anyway, this is
+* The bad thing is that the preloaded data might be outdated meanwhile, which is 
+* unlikely but for you power users, be warned. If you do not want the preload 
+* you should switch it off by setting the class variable $preload to false. Anyway, this is 
 * not recommended!
-*
+* 
 * @author   Ulf Wendel <ulf.wendel at phpdoc.de>
 * @version  $Id: Container.php 6184 2008-08-22 10:33:41Z vargenau $
 * @package  Cache
@@ -71,28 +71,28 @@
 
     /**
     * Expiration timestamp of a preloaded dataset.
-    *
+    * 
     * @var  integer 0 means never, endless
     */
     var $expires = 0;
 
     /**
     * Value of a preloaded dataset.
-    *
+    * 
     * @var  string
     */
     var $cachedata = '';
 
     /**
     * Preloaded userdata field.
-    *
+    * 
     * @var  string
     */
     var $userdata = '';
 
     /**
     * Flag indicating that the dataset requested for preloading is unknown.
-    *
+    *  
     * @var  boolean
     */
     var $unknown = true;
@@ -103,21 +103,21 @@
     * @var  string  base64 or slash
     */
     var $encoding_mode = 'base64';
-
+    
     /**
     * Highwater mark - maximum space required by all cache entries.
-    *
+    * 
     * Whenever the garbage collection runs it checks the amount of space
     * required by all cache entries. If it's more than n (highwater) bytes
     * the garbage collection deletes as many entries as necessary to reach the
-    * lowwater mark.
-    *
+    * lowwater mark. 
+    * 
     * @var  int
     * @see  lowwater
     */
-    var $highwater = 2048000;
-
-
+    var $highwater = 2048000; 
+    
+    
     /**
     * Lowwater mark
     *
@@ -125,19 +125,19 @@
     * @see  highwater
     */
     var $lowwater = 1536000;
-
-
+    
+    
     /**
     * Options that can be set in every derived class using it's constructor.
-    *
+    * 
     * @var  array
     */
     var $allowed_options = array('encoding_mode', 'highwater', 'lowwater');
-
-
+    
+    
     /**
     * Loads a dataset from the cache.
-    *
+    * 
     * @param    string  dataset ID
     * @param    string  cache group
     * @return   mixed   dataset value or NULL on failure
@@ -167,7 +167,7 @@
         if ($this->preload) {
             if ($this->id != $id || $this->group != $group)
                 $this->preload($id, $group);
-
+                
             return $this->userdata;
         } else {
             list( , , $userdata) = $this->fetch($id, $group);
@@ -177,25 +177,25 @@
 
     /**
     * Checks if a dataset is expired.
-    *
+    * 
     * @param    string  dataset ID
     * @param    string  cache group
     * @param    integer maximum age timestamp
-    * @return   boolean
+    * @return   boolean 
     * @access   public
     */
     function isExpired($id, $group, $max_age) {
         if ($this->preload) {
           if ($this->id != $id || $this->group != $group)
             $this->preload($id, $group);
-
+          
           if ($this->unknown)
             return false;
         } else {
             // check if at all it is cached
             if (!$this->isCached($id, $group))
                 return false;
-
+                
             // I'm lazy...
             list($this->expires, , ) = $this->fetch($id, $group);
         }
@@ -250,7 +250,7 @@
 
     /**
     * Stores a dataset.
-    *
+    * 
     * @param    string  dataset ID
     * @param    mixed   data to store
     * @param    mixed   userdefined expire date
@@ -271,13 +271,13 @@
 
     /**
     * Removes a dataset.
-    *
+    * 
     * @param    string  dataset ID
     * @param    string  cache group
-    * @return   boolean
+    * @return   boolean  
     * @access   public
     * @abstract
-    */
+    */     
     function remove($id, $group) {
         $this->flushPreload($id, $group);
         return NULL;
@@ -285,7 +285,7 @@
 
     /**
     * Flushes the cache - removes all caches datasets from the cache.
-    *
+    * 
     * @param    string      If a cache group is given only the group will be flushed
     * @return   integer     Number of removed datasets, -1 on failure
     * @access   public
@@ -298,10 +298,10 @@
 
     /**
     * Checks if a dataset exists.
-    *
+    * 
     * @param    string  dataset ID
     * @param    string  cache group
-    * @return   boolean
+    * @return   boolean 
     * @access   public
     * @abstract
     */
@@ -311,7 +311,7 @@
 
     /**
     * Starts the garbage collection.
-    *
+    * 
     * @access   public
     * @abstract
     */
@@ -325,11 +325,11 @@
     * @param    string  dataset ID
     * @param    string  cache group
     * @return   boolean
-    */
+    */ 
     function preload($id, $group) {
         // whatever happens, remember the preloaded ID
         $this->id = $id;
-        $this->group = $group;
+        $this->group = $group;        
 
         list($this->expires, $this->cachedata, $this->userdata) = $this->fetch($id, $group);
 
@@ -349,10 +349,10 @@
     * Flushes the internal preload buffer.
     *
     * save(), remove() and flush() must call this method
-    * to preevent differences between the preloaded values and
+    * to preevent differences between the preloaded values and 
     * the real cache contents.
     *
-    * @param    string  dataset ID, if left out the preloaded values will be flushed.
+    * @param    string  dataset ID, if left out the preloaded values will be flushed. 
     *                   If given the preloaded values will only be flushed if they are
     *                   equal to the given id and group
     * @param    string  cache group
@@ -372,7 +372,7 @@
 
     /**
     * Imports the requested datafields as object variables if allowed
-    *
+    * 
     * @param    array   List of fields to be imported as object variables
     * @param    array   List of allowed datafields
     */
@@ -380,25 +380,25 @@
         foreach ($allowed as $k => $field)
             if (isset($requested[$field]))
                 $this->$field = $requested[$field];
-
+                
     } // end func setOptions
 
     /**
     * Encodes the data for the storage container.
-    *
+    * 
     * @var  mixed data to encode
     */
     function encode($data) {
-        if ('base64' == $this->encoding_mode)
+        if ('base64' == $this->encoding_mode) 
             return base64_encode(serialize($data));
-        else
+        else 
             return serialize($data);
     } // end func encode
 
-
+    
     /**
     * Decodes the data from the storage container.
-    *
+    * 
     * @var  mixed
     */
     function decode($data) {
@@ -408,7 +408,7 @@
             return unserialize($data);
     } // end func decode
 
-
+    
     /**
     * Translates human readable/relative times in unixtime
     *
@@ -448,8 +448,8 @@
             $second = substr($expires, 12, 2);
             return mktime($hour, $minute, $second, $month, $day, $year);
         }
-
+        
     } // end func getExpireAbsolute
-
+    
 } // end class Container
 ?>

Modified: trunk/src/plugins/wiki/www/lib/pear/Cache/Error.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/Cache/Error.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/Cache/Error.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -21,7 +21,7 @@
 
 /**
 * Cache Error class
-*
+* 
 * @package Cache
 */
 class Cache_Error extends PEAR_Error {
@@ -29,23 +29,23 @@
 
   /**
   * Prefix of all error messages.
-  *
+  * 
   * @var  string
   */
   var $error_message_prefix = 'Cache-Error: ';
-
+  
   /**
   * Creates an cache error object.
-  *
+  * 
   * @param  string  error message
   * @param  string  file where the error occured
   * @param  string  linenumber where the error occured
   */
   function Cache_Error($msg, $file = __FILE__, $line = __LINE__) {
-
+    
     $this->PEAR_Error(sprintf("%s [%s on line %d].", $msg, $file, $line));
-
+    
   } // end func Cache_Error
-
+  
 } // end class Cache_Error
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/pear/Cache/Graphics.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/Cache/Graphics.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/Cache/Graphics.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -21,20 +21,20 @@
 
 /**
 * Graphics disk cache.
-*
-* The usual way to create images is to pass some arguments that describe the image
-* to a script that dynamically creates an image. For every image of a page
+* 
+* The usual way to create images is to pass some arguments that describe the image 
+* to a script that dynamically creates an image. For every image of a page 
 * a new PHP interpreter gets started. This is a good way to kill your webserver.
-*
-* When dealing with dynamically generated images you should not call another script
+* 
+* When dealing with dynamically generated images you should not call another script 
 * to generate the images but generate the images by the script that produces the page
 * that contains the images. This is a major improvement but it's only half the way.
-*
+* 
 * There's no need to rerender an image on every request. A simple disk cache can reduce
-* the computation time dramatically. This is what the class graphics_cache is for.
-*
+* the computation time dramatically. This is what the class graphics_cache is for. 
+* 
 * Usage:
-*
+* 
 * // create an instance of the graphics cache
 * $cache = new graphics_cache;
 *
@@ -42,16 +42,16 @@
 *
 * // compute an ID for your image based on typical parameters
 * $id = m5d( $size, $colors, $label);
-*
+* 
 * // check if it's cached
 * if (!($link = $cache->getImageLink($id, 'gif'))) {
-*
+*  
 *   // hmmm, it's not cached, create it
 *   ...
 *   // cacheImageLink() and cacheImage() make the ImageGIF() call!
 *   // cacheImage() returns the value of ImageGIF() [etc.], cacheImageLink() returns a URL
 *   $link = $cache->cacheImageLink($id, $img, 'gif');
-*
+* 
 * }
 *
 * // Ok, let's build the ImageLink
@@ -60,8 +60,8 @@
 *
 * // for cacheImage():
 * // header('Content-type: image/gif'); print $cache->cacheImage($id, $img, 'gif');
+* 
 *
-*
 * The class requires PHP 4.0.2+ [ImageType()]. Note that cacheImage() works with
 * the output buffer. Modify it if required!
 *
@@ -74,11 +74,11 @@
 
     /**
     * Cache URL prefix.
-    *
+    * 
     * Make sure that the cache URL prefix points to the $cache_dir, otherwise
-    * your links will be broken. Use setCacheURL to specify the cache_url and
+    * your links will be broken. Use setCacheURL to specify the cache_url and 
     * setCacheDir() for the cache_dir.
-    *
+    * 
     * @var  string
     * @see  setCacheURL(), setCacheDir()
     */
@@ -87,10 +87,10 @@
     /**
     * Directory where cached files get stored.
     * s
-    * Make sure that the cache_dir is writable and offers enough space. Check
+    * Make sure that the cache_dir is writable and offers enough space. Check 
     * also if your cache_url points to the directory. Use setCacheDir() to set
     * the variable.
-    *
+    * 
     * @var  string
     * @see  setCacheDir(), setCacheURL()
     */
@@ -98,15 +98,15 @@
 
     /**
     * Nameprefix of cached files.
-    *
-    * Per default the prefix "graphics_" gets used. You might use this
+    * 
+    * Per default the prefix "graphics_" gets used. You might use this 
     * for versioning or to ease (manual) clean ups.
     *
     * @var      string
     */
     var $cache_file_prefix = 'graphics_';
-
-
+    
+    
     /**
     * Cache container group.
     *
@@ -114,59 +114,59 @@
     */
     var $cache_group = 'graphics';
 
-
+    
     /**
     * Mapping from supported image type to a ImageType() constant.
-    *
+    * 
     * Referr to the PHP manual for more informations on ImageType()
-    *
+    * 
     * @var  array
     * @link http://www.php.net/ImageType
     */
     var $imagetypes = array(
-                                'gif'   => IMG_GIF,
+                                'gif'   => IMG_GIF, 
                                 'jpg'   => IMG_JPG,
                                 'png'   => IMG_PNG,
                                 'wbmp'  => IMG_WBMP
                             );
 
-
+                            
     /**
     * Instantiates a cache file container.
     *
     */
     function Cache_Graphics() {
-
+    
         $this->Cache('file', array('cache_dir' => $this->cache_dir, 'filename_prefix' => $this->cache_file_prefix));
-
+        
     } // end constructor
 
-
+    
     /**
     * Returns the content of a cached image file.
-    *
+    * 
     * This function can be used to send the image directly to the browser.
     * Make sure that you send a correspondending header before sending the image itself.
     *
-    * Always try to get the image from the cache before you compute it. See
+    * Always try to get the image from the cache before you compute it. See 
     * the class docs for an example.
     *
     * @param    string  Image-ID
     * @param    string  Image type: gif, jpg, png, wbmp
     * @return   string  Image file contents if a cached file exists otherwise an empty string
     * @see      cacheImage()
-    */
+    */                                    
     function getImage($id, $format = 'png') {
         $id = $this->generateID($id, $format);
-
+        
         return $this->get($id, $this->cache_group);
     } // end func getImage
 
-
+    
     /**
     * Returns an array with a link to the cached image and the image file path.
-    *
-    * Always try to get the image from the cache before you compute it. See
+    * 
+    * Always try to get the image from the cache before you compute it. See 
     * the class docs for an example.
     *
     * @param    string  Image-ID
@@ -177,21 +177,21 @@
     */
     function getImageLink($id, $format = 'png') {
         $id = $this->generateID($id, $format);
-        if (!$this->container->idExists($id, $this->cache_group))
+        if (!$this->container->idExists($id, $this->cache_group)) 
             return array();
 
         $file = $this->cache_url . $this->cache_file_prefix . $id;
 
         return array($this->container->getFilename($id, $this->cache_group), $file);
     } // end func getImageLink
+    
 
-
     /**
     * Create an image from the given image handler, cache it and return the file content.
     *
     * Always try to retrive the image from the cache before you compute it.
-    *
-    * Warning: this function uses the output buffer. If you expect collisions
+    * 
+    * Warning: this function uses the output buffer. If you expect collisions 
     * modify the code.
     *
     * @param    string  Image-ID. Used as a part of the cache filename.
@@ -199,9 +199,9 @@
     *                   based on characteristic values such as the color, size etc.
     * @param    string  Image handler to create the image from.
     * @param    string  Image type: gif, jpg, png, wbmp. Also used as filename suffix.
-    *                   If an unsupported type is requested the functions tries to
+    *                   If an unsupported type is requested the functions tries to 
     *                   fallback to a supported type before throwing an exeption.
-    * @return   string  Image content returned by ImageGIF/...
+    * @return   string  Image content returned by ImageGIF/... 
     * @throws   Cache_Error
     * @access   public
     * @see      getImage()
@@ -228,10 +228,10 @@
         if ($image = $this->get($id, $this->cache_group))
             return $image;
 
-        // save the image to the output buffer, write it to disk and
+        // save the image to the output buffer, write it to disk and 
         // return the image.
         ob_end_clean();
-        ob_start();
+        ob_start(); 
 
         if (strtoupper($format) == "JPG") {
             $genFormat = "JPEG";
@@ -253,8 +253,8 @@
 
         return $image;
     } // end func cacheImage
+    
 
-
     /**
     * Create an image from the given image handler, cache it and return a url and the file path of the image.
     *
@@ -265,7 +265,7 @@
     *                   based on characteristic values such as the color, size etc.
     * @param    string  Image handler to create the image from.
     * @param    string  Image type: gif, jpg, png, wbmp. Also used as filename suffix.
-    *                   If an unsupported type is requested the functions tries to
+    *                   If an unsupported type is requested the functions tries to 
     *                   fallback to a supported type before throwing an exeption.
     * @return   array  [ full path to the image file, image url ]
     * @throws   Cache_Error
@@ -281,7 +281,7 @@
         // Check if the requested image type is supported by the GD lib.
         // If not, try a callback to the first available image type.
         if (!isset($this->imagetypes[$format]) || !($types & $this->imagetypes[$format])) {
-            foreach ($this->imagetypes as $supported => $bitmask)
+            foreach ($this->imagetypes as $supported => $bitmask) 
                 if ($types & $bitmask)
                     new Cache_Error("The build in GD lib does not support the image type $format. Fallback to $supported.", __FILE__, __LINE__);
                 else
@@ -308,29 +308,29 @@
         return array($ffile, $url);
     } // end func cacheImageLink
 
-
+    
     /**
-    * Sets the URL prefix used when rendering HTML Tags.
-    *
-    * Make sure that the URL matches the cache directory,
+    * Sets the URL prefix used when rendering HTML Tags. 
+    * 
+    * Make sure that the URL matches the cache directory, 
     * otherwise you'll get broken links.
-    *
+    * 
     * @param    string
     * @access   public
     * @see      setCacheDir()
     */
     function setCacheURL($cache_url) {
-        if ($cache_url && '/' != substr($cache_url, 1))
+        if ($cache_url && '/' != substr($cache_url, 1)) 
             $cache_url .= '/';
-
+            
         $this->cache_url = $cache_url;
-
+        
     } // end func setCacheURL
 
-
+    
     /**
     * Sets the directory where to cache generated Images
-    *
+    * 
     * @param    string
     * @access   public
     * @see      setCacheURL()
@@ -342,12 +342,12 @@
         $this->cache_dir = $cache_dir;
         $this->container->cache_dir = $cache_dir;
     } // end func setCacheDir
-
-
+    
+    
     function generateID($variable, $format = 'png') {
       return md5(serialize($variable)) . '.' . $format;
     } // end func generateID
-
-
+    
+    
 } // end class Cache_Graphics
 ?>

Modified: trunk/src/plugins/wiki/www/lib/pear/Cache.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/Cache.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/Cache.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -24,16 +24,16 @@
 /**
 * Cache is a base class for cache implementations.
 *
-* The pear cache module is a generic data cache which can be used to
+* The pear cache module is a generic data cache which can be used to 
 * cache script runs. The idea behind the cache is quite simple. If you have
 * the same input parameters for whatever tasks/algorithm you use you'll
 * usually get the same output. So why not caching templates, functions calls,
 * graphic generation etc. Caching certain actions e.g. XSLT tranformations
-* saves you lots of time.
+* saves you lots of time. 
 *
-* The design of the cache reminds of PHPLibs session implementation. A
-* (PHPLib: session) controller uses storage container (PHPLib: ct_*.inc) to save
-* certain data (PHPLib: session data). In contrast to the session stuff it's up to
+* The design of the cache reminds of PHPLibs session implementation. A 
+* (PHPLib: session) controller uses storage container (PHPLib: ct_*.inc) to save 
+* certain data (PHPLib: session data). In contrast to the session stuff it's up to 
 * you to generate an ID for the data to cache. If you're using the output cache
 * you might use the script name as a seed for cache::generateID(), if your using the
 * function cache you'd use an array with all function parameters.
@@ -98,7 +98,7 @@
     * @access   public
     */
     var $gc_probability = 1;
-
+    
     /**
     * Garbage collection: delete all entries not use for n seconds.
     *

Modified: trunk/src/plugins/wiki/www/lib/pear/DB/Pager.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/DB/Pager.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/DB/Pager.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -22,7 +22,7 @@
 //
 // $Id: Pager.php 8075 2011-05-18 16:10:53Z vargenau $
 ///
-// Based on DB_Pager 0.7 from the pear.php.net repository.
+// Based on DB_Pager 0.7 from the pear.php.net repository. 
 // The only modifications made have been modification of the include paths.
 //
 // From Pear CVS: Id: Pager.php,v 1.3 2002/05/12 13:59:40 cox Exp

Modified: trunk/src/plugins/wiki/www/lib/pear/DB/common.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/DB/common.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/DB/common.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1145,7 +1145,7 @@
             if (DB::isError($result) || $result === DB_OK) {
                 return $result;
             } else {
-                $tmp = new DB_result($this, $result);
+                $tmp =& new DB_result($this, $result);
                 return $tmp;
             }
         }

Modified: trunk/src/plugins/wiki/www/lib/pear/DB/dbase.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/DB/dbase.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/DB/dbase.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -106,7 +106,7 @@
     {
         // emulate result resources
         $this->res_row[$this->result] = 0;
-        $tmp = new DB_result($this, $this->result++);
+        $tmp =& new DB_result($this, $this->result++);
         return $tmp;
     }
 

Modified: trunk/src/plugins/wiki/www/lib/pear/DB/ibase.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/DB/ibase.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/DB/ibase.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -406,7 +406,7 @@
         if ($this->manip_query[(int)$stmt]) {
             $tmp = DB_OK;
         } else {
-            $tmp = new DB_result($this, $res);
+            $tmp =& new DB_result($this, $res);
         }
         return $tmp;
     }

Modified: trunk/src/plugins/wiki/www/lib/pear/DB/ifx.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/DB/ifx.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/DB/ifx.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -223,7 +223,7 @@
         } else {
             return 0;
         }
-
+        
     }
 
     // }}}

Modified: trunk/src/plugins/wiki/www/lib/pear/DB/ldap.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/DB/ldap.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/DB/ldap.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -25,8 +25,8 @@
 //
 // $Id: ldap.php 8075 2011-05-18 16:10:53Z vargenau $
 //
-// Based on DB 1.3 from the pear.php.net repository.
-// The only modifications made have been modification of the include paths.
+// Based on DB 1.3 from the pear.php.net repository. 
+// The only modifications made have been modification of the include paths. 
 //
 // From Pear CVS: Id: ldap.php,v 1.9 2002/02/11 12:59:37 mj Exp
 
@@ -49,7 +49,7 @@
 {
 
     // {{{ properties
-
+    
     /**
      * data returned from ldap_entries()
      * @access private
@@ -65,7 +65,7 @@
      * @access private
      */
     var $_record    = null;
-
+    
     // }}}
     // {{{ constructor
 
@@ -142,8 +142,8 @@
         }
         return DB_OK;
     }
-
-
+    
+    
     /**
      * Fetch and return a row of data (it uses driver->fetchInto for that)
      * @param int $fetchmode  format of fetched row
@@ -174,7 +174,7 @@
      * @return  mixed  DB_OK on success, NULL on no more rows or
      *                 a DB_Error object on error
      *
-     * @access public
+     * @access public     
      */
 
     function fetchInto(&$ar, $fetchmode = DB_FETCHMODE_DEFAULT, $rownum = null)
@@ -188,7 +188,7 @@
         }
         return DB_OK;
     }
-
+    
     /**
      * return all records
      *
@@ -200,7 +200,7 @@
      * @return  mixed  DB_OK on success, NULL on no more rows or
      *                 a DB_Error object on error
      *
-     * @access public
+     * @access public     
      */
     function fetchAll($fetchmode = DB_FETCHMODE_DEFAULT, $rownum = null)
     {
@@ -225,13 +225,13 @@
     {
         return(strcmp(strtolower($this->_recordset[$a][$this->dbh->sorting]), strtolower($this->_recordset[$b][$this->dbh->sorting])));
     }
-
+  
     /**
      * Get the number of rows in a result set.
      *
      * @return int the number of rows, or a DB error
      *
-     * @access public
+     * @access public     
      */
     function numRows()
     {
@@ -244,7 +244,7 @@
      *
      * @return bool true if a new result is available or false if not.
      *
-     * @access public
+     * @access public     
      */
     function nextResult()
     {
@@ -255,7 +255,7 @@
      * Frees the resources allocated for this result set.
      * @return  int     error code
      *
-     * @access public
+     * @access public     
      */
     function free()
     {
@@ -277,7 +277,7 @@
     /**
     * returns the actual rows number
     * @return integer
-    */
+    */    
     function getRowCounter()
     {
         $this->getRows();
@@ -299,7 +299,7 @@
 class DB_ldap extends DB_common
 {
     // {{{ properties
-
+    
     /**
      * LDAP connection
      * @access private
@@ -582,7 +582,7 @@
         $this->limit_count = $count;
         return $query;
     }
-
+    
     /**
      * Executes a query returning only a specified number of rows
      *
@@ -703,7 +703,7 @@
         $this->q_params = $params;
         return(parent::getAssoc($query, $force_array, $data, $fetchmode, $group));
     }
-
+    
     /**
      * Fetch all the rows returned from a query.
      *
@@ -726,7 +726,7 @@
         $this->q_params = $params;
         return(parent::getAll($query, $data, $fetchmode));
     }
-
+    
     function numRows($result)
     {
         return $result->numRows();
@@ -834,7 +834,7 @@
                 }
             }
         } while ($repeat);
-
+        
         if (DB::isError($data)) {
             return $data;
         }

Modified: trunk/src/plugins/wiki/www/lib/pear/DB/oci8.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/DB/oci8.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/DB/oci8.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -500,7 +500,7 @@
         if ($this->manip_query[(int)$stmt]) {
             $tmp = DB_OK;
         } else {
-            $tmp = new DB_result($this, $stmt);
+            $tmp =& new DB_result($this, $stmt);
         }
         return $tmp;
     }

Modified: trunk/src/plugins/wiki/www/lib/pear/DB/storage.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/DB/storage.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/DB/storage.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -284,7 +284,7 @@
     function &create($table, &$data)
     {
         $classname = strtolower(get_class($this));
-        $obj = new $classname($table);
+        $obj =& new $classname($table);
         foreach ($data as $name => $value) {
             $obj->_properties[$name] = true;
             $obj->$name = &$value;

Modified: trunk/src/plugins/wiki/www/lib/pear/File_Passwd.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/File_Passwd.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/File_Passwd.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -40,29 +40,29 @@
     * @var array
     */
     var $users ;
-
+    
     /**
     * hash list of csv-users
     * @var array
     */
     var $cvs ;
-
+    
     /**
     * filehandle for lockfile
     * @var int
     */
     var $fplock ;
-
+    
     /**
     * locking state
     * @var boolean
     */
     var $locked ;
-
+    
     /**
     * name of the lockfile
-    * @var string
-    */
+    * @var string    
+    */ 
     var $lockfile = './passwd.lock';
 
     /**
@@ -73,13 +73,13 @@
     * oft the lockfile, not of the passwd file! ( Swapping $lock and $lockfile would
     * breaks bc to v1.3 and smaller).
     * Don't forget to call close() to save changes!
-    *
+    * 
     * @param $file		name of the passwd file
     * @param $lock		if 'true' $lockfile will be locked
     * @param $lockfile	name of the temp file, where changes are saved
     *
     * @access public
-    * @see close()
+    * @see close() 
     */
 
     function File_Passwd($file, $lock = 0, $lockfile = "") {
@@ -104,7 +104,7 @@
             flock($this->fplock, LOCK_EX);
             $this->locked = true;
         }
-
+    
         $fp = fopen($file,'r') ;
         if( !$fp ) {
             return new PEAR_Error( "Couldn't open '$file'!", 1, PEAR_ERROR_RETURN) ;
@@ -118,7 +118,7 @@
                 if (empty($array[1])) $array[1]='';
                 $this->users[$user] = trim($array[1]);
                 if (count($array) >= 3)
-                    $this->cvs[$user] = trim($array[2]);
+                    $this->cvs[$user] = trim($array[2]);	
             }
         }
         fclose($fp);
@@ -171,15 +171,15 @@
     * @param $user user id
     *
     * @return mixed returns PEAR_Error, if the user doesn't exists
-    * @access public
+    * @access public	
     */
-
+    
     function delUser($user) {
         if (isset($this->users[$user]) && $this->locked) {
             unset($this->users[$user]);
             unset($this->cvs[$user]);
         } else {
-            return new PEAR_Error( "Couldn't delete user '$user', because the user doesn't exists!", 3, PEAR_ERROR_RETURN) ;
+            return new PEAR_Error( "Couldn't delete user '$user', because the user doesn't exists!", 3, PEAR_ERROR_RETURN) ; 
         }
     } // end func delUser()
 
@@ -190,7 +190,7 @@
     * @param $pass password for user
     *
     * @return boolean true if password is ok
-    * @access public
+    * @access public		
     */
     function verifyPassword($user, $pass) {
         //if ($this->users[$user] == crypt($pass, substr($this->users[$user], 0, 2)))

Modified: trunk/src/plugins/wiki/www/lib/pear/JSON.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/pear/JSON.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/pear/JSON.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -666,7 +666,7 @@
                                 // element in an associative array,
                                 // for now
                                 $parts = array();
-
+                                
                                 if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:\s*(\S.*),?$/Uis', $slice, $parts)) {
                                     // "name":value pair
                                     $key = $this->decode($parts[1]);
@@ -802,5 +802,5 @@
     }
 
 }
-
+    
 ?>

Modified: trunk/src/plugins/wiki/www/lib/plugin/AddComment.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/AddComment.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/AddComment.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: AddComment.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: AddComment.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright (C) 2004 $ThePhpWikiProgrammingTeam
  *
@@ -69,8 +69,9 @@
 
     function run($dbi, $argstr, &$request, $basepage) {
         $args = $this->getArgs($argstr, $request);
-        if (!$args['pagename'])
-            return $this->error(_("No pagename specified"));
+        if (!$args['pagename']) {
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'pagename'));
+        }
 
         // Get our form args.
         $comment = $request->getArg("comment");

Modified: trunk/src/plugins/wiki/www/lib/plugin/AppendText.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/AppendText.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/AppendText.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: AppendText.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: AppendText.php 8162 2011-10-03 12:52:28Z vargenau $
 /*
  * Copyright 2004,2007 $ThePhpWikiProgrammingTeam
  *
@@ -86,7 +86,7 @@
         $message = HTML();
 
         if (!$page->exists()) { // We might want to create it?
-            $message->pushContent(sprintf(_("Page could not be updated. %s doesn't exist!\n"),
+            $message->pushContent(sprintf(_("Page could not be updated. %s doesn't exist!"),
                                             $pagename));
             return $message;
         }

Modified: trunk/src/plugins/wiki/www/lib/plugin/AtomFeed.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/AtomFeed.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/AtomFeed.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -31,11 +31,11 @@
     function getName() {
         return _('AtomFeed');
     }
-
+    
     function getDescription() {
         return _('Atom Aggregator Plugin');
     }
-
+    
     function getDefaultArguments() {
         return array(
            'feed' => "",
@@ -45,16 +45,16 @@
            'titleonly' => false
         );
     }
-
+   
     function run($dbi, $argstr, &$request, $basepage) {
         extract($this->getArgs($argstr, $request));
         $parser = new AtomParser();
-
+        
         assert(!empty($url));
         $parser->parse_url($url);
-
+        
         $html = '';
-
+        
         $items = HTML::dl();
         foreach ($parser->feed as $feed) {
             $title = HTML::h3(HTML::a(array('href' => $feed["links"]["0"]["href"]), $feed["title"]));
@@ -62,14 +62,14 @@
             foreach($parser->entries as $entry) {
                 $item = HTML::dt(HTML::a(array('href' => $entry["links"]["0"]["href"]), $entry["title"]));
                 $items->pushContent($item);
-
+                
                 if (!$titleonly) {
                     $description = HTML::dd(HTML::raw(html_entity_decode($entry["content"])));
                 } else {
                     $description = HTML::dd();
                 }
                 $items->pushContent($description);
-
+                
                 if ($maxitem > 0 && $counter >= $maxitem) {
                     break;
                 }
@@ -82,4 +82,4 @@
         return $html;
     }
 }
-?>
+?>
\ No newline at end of file

Modified: trunk/src/plugins/wiki/www/lib/plugin/Chart.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/Chart.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/Chart.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: Chart.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: Chart.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 2007 $ThePhpWikiProgrammingTeam
  * Copyright 2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -62,7 +62,7 @@
                      // 'ylabel' => 'y', // TODO
                      'color' => 'green',
                      // 'legend' => false, // TODO
-                     'data' => false // mandatory
+                     'data' => false // required
                      );
     }
     function handle_plugin_args_cruft(&$argstr, &$args) {
@@ -73,7 +73,11 @@
 
         global $WikiTheme;
         $args = $this->getArgs($argstr, $request);
+        if (!$args['data']) {
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'data'));
+        }
         extract($args);
+
         $html = HTML();
         $js = JavaScript('', array ('src' => $WikiTheme->_findData('ASCIIsvg.js')));
         $html->pushContent($js);

Modified: trunk/src/plugins/wiki/www/lib/plugin/CreateBib.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/CreateBib.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/CreateBib.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: CreateBib.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: CreateBib.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 2004 $ThePhpWikiProgrammingTeam
  *
@@ -108,7 +108,7 @@
             $pagename = $page->name;
         }
         if (!$pagename) {
-            return $this->error(_("no page specified"));
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'pagename'));
         }
 
         // Get the links page contents
@@ -149,9 +149,7 @@
             // Yes, we want to dump this somewhere
             // Get the contents of this page
             $p = $dbi->getPage($pagename);
-            $c = $p->getCurrentRevision();
-            $pagedata = $c->getContent();
-            $this->dumpFile($pagedata, $request->getArg('file'));
+            return $this->dumpFile($p, $request->getArg('file'));
         }
 
         return $html;

Modified: trunk/src/plugins/wiki/www/lib/plugin/CreateToc.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/CreateToc.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/CreateToc.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: CreateToc.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: CreateToc.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 2004,2005 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2010 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -252,16 +252,16 @@
             if (preg_match('/^\s*{\|/', $content[$i])) {
                $insidetable = true;
                continue;
-            } else if (preg_match('/^\s*{{{/', $content[$i])
-                    || preg_match('/^\s*<pre>/', $content[$i])
+            } else if (preg_match('/^\s*{{{/', $content[$i]) 
+                    || preg_match('/^\s*<pre>/', $content[$i]) 
                     || preg_match('/^\s*<verbatim>/', $content[$i])) {
                $insideverbatim = true;
                continue;
             } else if (preg_match('/^\s*\|}/', $content[$i])) {
                $insidetable = false;
                continue;
-            } else if (preg_match('/^\s*}}}/', $content[$i])
-                    || preg_match('/^\s*<\/pre>/', $content[$i])
+            } else if (preg_match('/^\s*}}}/', $content[$i]) 
+                    || preg_match('/^\s*<\/pre>/', $content[$i]) 
                     || preg_match('/^\s*<\/verbatim>/', $content[$i])) {
                $insideverbatim = false;
                continue;
@@ -375,7 +375,7 @@
             $pagename = $page->name;
         }
         if (!$pagename) {
-            return $this->error(_("No page specified."));
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'pagename'));
         }
         if (isBrowserIE() and browserDetect("Mac")) {
             $jshide = 0;
@@ -383,7 +383,7 @@
         if (($notoc) or ($liststyle == 'ol')) {
             $with_counter = 1;
         }
-        if ($firstlevelstyle and ($firstlevelstyle != 'number')
+        if ($firstlevelstyle and ($firstlevelstyle != 'number') 
                              and ($firstlevelstyle != 'letter')
                              and ($firstlevelstyle != 'roman')) {
             return $this->error(_("Error: firstlevelstyle must be 'number', 'letter' or 'roman'"));

Modified: trunk/src/plugins/wiki/www/lib/plugin/FacebookLike.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/FacebookLike.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/FacebookLike.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -49,7 +49,7 @@
     function run($dbi, $argstr, &$request, $basepage) {
         $args = $this->getArgs($argstr, $request);
         extract($args);
-
+        
         //$iframe = "<iframe src=\"http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fexample.com%2Fpage%2Fto%2Flike&layout=standard&show_faces=false&width=450&action=like&colorscheme=light&height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;\" allowTransparency=\"true\"></iframe>";
         $urlargs = array(
                          "layout"     => $layout,

Modified: trunk/src/plugins/wiki/www/lib/plugin/FileInfo.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/FileInfo.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/FileInfo.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: FileInfo.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: FileInfo.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 2005,2007 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -50,17 +50,19 @@
                      'display'   => false, // version,phonysize,size,date,mtime,owner,name,path,dirname,link.  (required)
                      'format'    => false, // printf format string with %s only, all display modes
                      'quiet'     => false  // print no error if file not found
-                                                // from above vars return strings (optional)
+                                           // from above vars return strings (optional)
                     );
     }
 
     function run($dbi, $argstr, &$request, $basepage) {
-            $args = $this->getArgs($argstr, $request);
+        $args = $this->getArgs($argstr, $request);
         extract($args);
-        if (!$file)
+        if (!$file) {
             return $this->error(sprintf(_("A required argument '%s' is missing."), 'file'));
-        if (!$display)
+        }
+        if (!$display) {
             return $this->error(sprintf(_("A required argument '%s' is missing."), 'display'));
+        }
         if (string_starts_with($file, "Upload:")) {
             $file = preg_replace("/^Upload:(.*)$/", getUploadFilePath()."\\1", $file);
             $is_Upload = 1;

Modified: trunk/src/plugins/wiki/www/lib/plugin/GoogleMaps.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/GoogleMaps.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/GoogleMaps.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: GoogleMaps.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: GoogleMaps.php 8212 2011-12-16 13:26:15Z vargenau $
 /**
  * Copyright 2005 $ThePhpWikiProgrammingTeam
  *
@@ -88,10 +88,10 @@
         extract($args);
 
         if ($Longitude === '') {
-            return $this->error(fmt("%s parameter missing", "'Longitude'"));
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'Longitude'));
         }
         if ($Latitude === '') {
-            return $this->error(fmt("%s parameter missing", "'Latitude'"));
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'Latitude'));
         }
 
         $maps = JavaScript('',array('src'=>"http://maps.google.com/maps?file=api&v=1&key=" . GOOGLE_LICENSE_KEY));
@@ -100,7 +100,7 @@
         case "Satellite": $type = "_SATELLITE_TYPE"; break;
         case "Map":       $type = "_MAP_TYPE"; break;
         case "Hybrid":    $type = "_HYBRID_TYPE"; break;
-        default: return $this->error(sprintf(_("invalid argument %s"), $MapType));
+        default: return $this->error(sprintf(_("Invalid argument %s"), $MapType));
         }
         $div = HTML::div(array('id'=>$id,'style'=>'width: '.$width.'; height: '.$height));
 

Modified: trunk/src/plugins/wiki/www/lib/plugin/IncludePage.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/IncludePage.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/IncludePage.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: IncludePage.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: IncludePage.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2011 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -75,7 +75,7 @@
             $page = $page->name;
         }
         if (!$page) {
-            return $this->error(_("no page specified"));
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'page'));
         }
 
         // A page can include itself once (this is needed, e.g.,  when editing

Modified: trunk/src/plugins/wiki/www/lib/plugin/ModeratedPage.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/ModeratedPage.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/ModeratedPage.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: ModeratedPage.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: ModeratedPage.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 2004,2005 $ThePhpWikiProgrammingTeam
  * Copyright 2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -59,8 +59,9 @@
 
         // Handle moderation request from urls sent by email
         if (!empty($args['id']) and !empty($args['pass'])) {
-            if (!$args['page'])
-                return $this->error("No page specified");
+            if (!$args['page']) {
+                return $this->error(sprintf(_("A required argument '%s' is missing."), 'page'));
+            }
             $page = $dbi->getPage($args['page']);
             if ($moderated = $page->get("moderated")) {
                 if (array_key_exists($args['id'], $moderated['data'])) {

Modified: trunk/src/plugins/wiki/www/lib/plugin/PageGroup.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/PageGroup.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/PageGroup.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: PageGroup.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: PageGroup.php 8212 2011-12-16 13:26:15Z vargenau $
 /**
  * Copyright 1999,2000,2001,2002,2004 $ThePhpWikiProgrammingTeam
  * Copyright 2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -92,11 +92,7 @@
         $args = $this->getArgs($argstr, $request);
         extract($args);
         if (empty($parent)) {
-            // FIXME: WikiPlugin has no way to report when
-            // required args are missing?
-            $error_text = sprintf("%s: ", "WikiPlugin_" .$this->getName());
-            $error_text .= sprintf(_("A required argument '%s' is missing."), 'parent');
-            return HTML::div(array('class' => "error"), $error_text);
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'parent'));
         }
         $directions = array ('next'     => _("Next"),
                              'previous' => _("Previous"),

Modified: trunk/src/plugins/wiki/www/lib/plugin/SyntaxHighlighter.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/SyntaxHighlighter.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/SyntaxHighlighter.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: SyntaxHighlighter.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: SyntaxHighlighter.php 8212 2011-12-16 13:26:15Z vargenau $
 /**
  * Copyright 2004 $ThePhpWikiProgrammingTeam
  *
@@ -122,7 +122,9 @@
     function run($dbi, $argstr, &$request, $basepage) {
         extract($this->getArgs($argstr, $request));
         $source =& $this->source;
-        if (empty($syntax)) return $this->error(_("Syntax language not specified."));
+        if (empty($syntax))  {
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'syntax'));
+        }
         if (!empty($source)) {
             $args = "";
             if (defined('HIGHLIGHT_DATA_DIR'))

Modified: trunk/src/plugins/wiki/www/lib/plugin/Template.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/Template.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/Template.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: Template.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: Template.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 2005,2007 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2011 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -105,7 +105,7 @@
             $page = $page->name;
         }
         if (!$page) {
-            return $this->error(_("No page specified."));
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'page'));
         }
 
         // If "Template:$page" exists, use it

Modified: trunk/src/plugins/wiki/www/lib/plugin/WatchPage.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WatchPage.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WatchPage.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WatchPage.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WatchPage.php 8175 2011-11-04 10:04:45Z vargenau $
 /**
  * Copyright (C) 2006 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -135,7 +135,9 @@
                     $errmsg = '';
                 if ($request->getArg('cancel')) {
                     $request->redirect(WikiURL($request->getArg('pagename'),
-                                               false, 'absolute_url')); // noreturn
+                        array('warningmsg' => _('WatchPage cancelled')),
+                        'absolute_url'));
+                    // noreturn
                     return;
                 }
                 if ($request->getArg('edit')) {

Modified: trunk/src/plugins/wiki/www/lib/plugin/WhoIsOnline.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WhoIsOnline.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WhoIsOnline.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WhoIsOnline.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WhoIsOnline.php 8166 2011-10-03 14:49:15Z vargenau $
 /*
  * Copyright 2004 $ThePhpWikiProgrammingTeam
  *
@@ -72,7 +72,7 @@
     function box($args=false, $request=false, $basepage=false) {
         if (!$request) $request =& $GLOBALS['request'];
         $stats = $this->getStats($request->_dbi,$request,'summary');
-        return $this->makeBox(_("Who is online"),
+        return $this->makeBox(_("Who is Online"),
                               HTML(HTML::Raw('· '),
                                    WikiLink(_("WhoIsOnline"),'auto',
                                             fmt("%d online users", $stats['NUM_USERS']))));

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiAdminChown.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiAdminChown.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiAdminChown.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiAdminChown.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiAdminChown.php 8184 2011-11-28 14:04:37Z vargenau $
 /*
  * Copyright 2004 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -168,6 +168,7 @@
         $header = HTML::fieldset();
         if ($next_action == 'verify') {
             $button_label = _("Yes");
+            $header->pushContent(HTML::legend(_("Confirm ownership change")));
             $header->pushContent(
               HTML::p(HTML::strong(
                 _("Are you sure you want to change the owner of the selected pages?"))));

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiAdminMarkup.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiAdminMarkup.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiAdminMarkup.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiAdminMarkup.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiAdminMarkup.php 8184 2011-11-28 14:04:37Z vargenau $
 /*
  * Copyright 2005 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -160,6 +160,7 @@
         $header = HTML::fieldset();
         if ($next_action == 'verify') {
             $button_label = _("Yes");
+            $header->pushContent(HTML::legend(_("Confirm markup change")));
             $header->pushContent(
               HTML::p(HTML::strong(
                 _("Are you sure you want to change the markup type of the selected files?"))));

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiAdminPurge.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiAdminPurge.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiAdminPurge.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiAdminPurge.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiAdminPurge.php 8184 2011-11-28 14:04:37Z vargenau $
 /*
  * Copyright 2002,2004 $ThePhpWikiProgrammingTeam
  * Copyright 2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -142,6 +142,7 @@
         $header = HTML::fieldset();
         if ($next_action == 'verify') {
             $button_label = _("Yes");
+            $header->pushContent(HTML::legend(_("Confirm purge")));
             $header->pushContent(HTML::p(HTML::strong(
                 _("Are you sure you want to permanently purge the following files?"))));
         }

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiAdminRemove.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiAdminRemove.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiAdminRemove.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiAdminRemove.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiAdminRemove.php 8184 2011-11-28 14:04:37Z vargenau $
 /*
  * Copyright 2002,2004 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -195,6 +195,7 @@
         $header = HTML::fieldset();
         if ($next_action == 'verify') {
             $button_label = _("Yes");
+            $header->pushContent(HTML::legend(_("Confirm removal")));
             $header->pushContent(HTML::p(HTML::strong(
                 _("Are you sure you want to remove the selected files?"))));
         }

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiAdminRename.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiAdminRename.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiAdminRename.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiAdminRename.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiAdminRename.php 8166 2011-10-03 14:49:15Z vargenau $
 /*
  * Copyright 2004,2005,2007 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -89,7 +89,7 @@
                     $version = $current->getVersion();
                     $meta = $current->_data;
                     $text = $current->getPackedContent();
-                    $meta['summary'] = sprintf(_("Renamed page from '%s' to '%s'"), $name, $newname);
+                    $meta['summary'] = sprintf(_("Renamed page from '%s' to '%s'."), $name, $newname);
                     $meta['is_minor_edit'] = 1;
                     $meta['author'] = $request->_user->UserName();
                     unset($meta['mtime']); // force new date
@@ -104,7 +104,7 @@
                         $meta['author'] = $request->_user->UserName();
                         $page->save($text, 1, $meta);
                     }
-                    $ul->pushContent(HTML::li(fmt("Renamed page '%s' to '%s'.",
+                    $ul->pushContent(HTML::li(fmt("Renamed page from '%s' to '%s'.",
                                                   $name, WikiLink($newname))));
                     $count++;
                 } else {
@@ -212,7 +212,7 @@
             $header = $this->renameForm($header, $post_args, $singlepage);
         } else {
             if ($singlepage === true) {
-                $button_label = _("Rename page");
+                $button_label = _("Rename Page");
             } else {
                 $button_label = _("Rename selected pages");
             }
@@ -238,7 +238,7 @@
         return HTML::form(array('action' => $request->getPostURL(),
                                 'method' => 'post'),
                           HTML::fieldset(
-                              HTML::legend(_("Rename page")),
+                              HTML::legend(_("Rename Page")),
                               $header,
                               $buttons,
                               $list,

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiAdminUtils.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiAdminUtils.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiAdminUtils.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiAdminUtils.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiAdminUtils.php 8160 2011-10-03 12:42:28Z vargenau $
 /**
  * Copyright 2003,2004,2006 $ThePhpWikiProgrammingTeam
  * Copyright 2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -110,7 +110,7 @@
                         'purge-bad-pagenames'         => _("Purge all Pages With Invalid Names"),
                         'purge-empty-pages'         => _("Purge all empty, unreferenced Pages"),
                         'access-restrictions'         => _("Access Restrictions"),
-                        'email-verification'         => _("Email Verification"),
+                        'email-verification'         => _("E-mail address confirmation"),
                         'convert-cached-html'         => _("Convert cached_html"),
                         'db-check'                 => _("DB Check"),
                         'db-rebuild'                 => _("Db Rebuild")
@@ -229,7 +229,7 @@
         $dbi = $request->getDbh();
         $pagelist = new PageList('pagename',0,$args);
         //$args['return_url'] = 'action=email-verification-verified';
-        $email = new _PageList_Column_email('email',_("E-Mail"),'left');
+        $email = new _PageList_Column_email('email',_("E-mail"),'left');
         $emailVerified = new _PageList_Column_emailVerified('emailVerified',
                                                             _("Verification Status"),'center');
         $pagelist->_columns[0]->_heading = _("Username");

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiForm.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiForm.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiForm.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiForm.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiForm.php 8158 2011-10-03 12:40:18Z vargenau $
 /**
  * Copyright 1999, 2000, 2001, 2002, 2004 $ThePhpWikiProgrammingTeam
  *
@@ -71,7 +71,7 @@
         case 'login':
             $input['name'] = 'source';
             if (!$buttontext)
-                $buttontext = _("Login");
+                $buttontext = _("Sign In");
             $class = 'wikiadmin';
             break;
         case 'dumpserial':

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiForum.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiForum.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiForum.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiForum.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiForum.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 2004 $ThePhpWikiProgrammingTeam
  *
@@ -67,8 +67,9 @@
 
     function run($dbi, $argstr, &$request, $basepage) {
         $args = $this->getArgs($argstr, $request);
-        if (!$args['pagename'])
-            return $this->error(_("No pagename specified"));
+        if (!$args['pagename']) {
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'pagename'));
+        }
 
         // Get our form args.
         $forum = $request->getArg('forum');

Modified: trunk/src/plugins/wiki/www/lib/plugin/WikiPoll.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/plugin/WikiPoll.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/plugin/WikiPoll.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-// $Id: WikiPoll.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: WikiPoll.php 8212 2011-12-16 13:26:15Z vargenau $
 /*
  * Copyright 2004 $ThePhpWikiProgrammingTeam
  * Copyright 2008 Marc-Etienne Vargenau, Alcatel-lucent
@@ -139,8 +139,9 @@
             $_SERVER =& $GLOBALS['HTTP_SERVER_VARS'];
             $request->setArg('nocache','purge');
         $args = $this->getArgs($argstr, $request);
-        if (!$args['page'])
-            return $this->error("No page specified");
+        if (!$args['page']) {
+            return $this->error(sprintf(_("A required argument '%s' is missing."), 'page'));
+        }
         if (!empty($args['admin']) and $request->_user->isAdmin()) {
             // reset statistics
             return $this->doPollAdmin($dbi, $request, $page);

Modified: trunk/src/plugins/wiki/www/lib/purgepage.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/purgepage.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/purgepage.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php
-// $Id: purgepage.php 8065 2011-05-04 10:27:44Z vargenau $
+// $Id: purgepage.php 8181 2011-11-22 16:53:45Z vargenau $
 require_once('lib/Template.php');
 
 function PurgePage (&$request) {
@@ -9,7 +9,9 @@
     $pagelink = WikiLink($page);
 
     if ($request->getArg('cancel')) {
-        $request->redirect(WikiURL($page)); // noreturn
+        $request->redirect(WikiURL($page,
+                           array('warningmsg' => _('Purge cancelled'))));
+        // noreturn
     }
 
     $current = $page->getCurrentRevision();
@@ -22,7 +24,8 @@
         $purgeB = Button('submit:verify', _("Purge Page"), 'wikiadmin');
         $cancelB = Button('submit:cancel', _("Cancel"), 'button'); // use generic wiki button look
 
-        $fieldset = HTML::fieldset(HTML::p(fmt("You are about to purge '%s'!", $pagelink)),
+        $fieldset = HTML::fieldset(HTML::legend(_('Confirm purge')),
+                                   HTML::p(fmt("You are about to purge '%s'!", $pagelink)),
                      HTML::form(array('method' => 'post',
                                       'action' => $request->getPostURL()),
                                 HiddenInputs(array('currentversion' => $version,

Modified: trunk/src/plugins/wiki/www/lib/removepage.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/removepage.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/removepage.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php
-// $Id: removepage.php 8065 2011-05-04 10:27:44Z vargenau $
+// $Id: removepage.php 8181 2011-11-22 16:53:45Z vargenau $
 require_once('lib/Template.php');
 
 function RemovePage (&$request) {
@@ -9,7 +9,9 @@
     $pagelink = WikiLink($page);
 
     if ($request->getArg('cancel')) {
-        $request->redirect(WikiURL($page)); // noreturn
+        $request->redirect(WikiURL($page, 
+                           array('warningmsg' => _('Remove cancelled')))); 
+        // noreturn
     }
 
     $current = $page->getCurrentRevision();
@@ -22,7 +24,8 @@
         $removeB = Button('submit:verify', _("Remove Page"), 'wikiadmin');
         $cancelB = Button('submit:cancel', _("Cancel"), 'button'); // use generic wiki button look
 
-        $fieldset = HTML::fieldset(HTML::p(fmt("You are about to remove '%s'!", $pagelink)),
+        $fieldset = HTML::fieldset(HTML::legend(_('Confirm removal')),
+                                   HTML::p(fmt("You are about to remove '%s'!", $pagelink)),
                      HTML::form(array('method' => 'post',
                                       'action' => $request->getPostURL()),
                                 HiddenInputs(array('currentversion' => $version,

Modified: trunk/src/plugins/wiki/www/lib/stdlib.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/stdlib.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/stdlib.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,4 +1,4 @@
-<?php // $Id: stdlib.php 8071 2011-05-18 14:56:14Z vargenau $
+<?php // $Id: stdlib.php 8197 2011-11-29 11:18:41Z vargenau $
 /*
  * Copyright 1999-2008 $ThePhpWikiProgrammingTeam
  * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -108,7 +108,9 @@
 if (defined('_PHPWIKI_STDLIB_LOADED')) return;
 else define('_PHPWIKI_STDLIB_LOADED', true);
 
-define('MAX_PAGENAME_LENGTH', 100);
+if (!defined('MAX_PAGENAME_LENGTH')) {
+    define('MAX_PAGENAME_LENGTH', 100);
+}
 
 /**
  * Convert string to a valid XML identifier.
@@ -386,7 +388,7 @@
 function LinkURL($url, $linktext = '') {
     // FIXME: Is this needed (or sufficient?)
     if(! IsSafeURL($url)) {
-        $link = HTML::span(array('class' => 'error'), _("BAD URL -- remove all of <, >, \""));
+        $link = HTML::span(array('class' => 'error'), _('Bad URL -- remove all of <, >, "'));
         return $link;
     }
     else {
@@ -420,7 +422,7 @@
     if (empty($alt)) $alt = "";
 
     if (! IsSafeURL($url)) {
-        $link = HTML::span(array('class' => 'error'), _("BAD URL -- remove all of <, >, \""));
+        $link = HTML::span(array('class' => 'error'), _('Bad URL for image -- remove all of <, >, "'));
         return $link;
     }
     // spaces in inline images must be %20 encoded!
@@ -430,9 +432,9 @@
     $arr = parse_attributes(strstr($url, " "));
     foreach ($arr as $attr => $value) {
         // strip attr=... url suffix
+        $link->setAttr('src', $url);
         $i = strpos($url, $attr);
         $url = substr($url, 0, $i-1);
-        $link->setAttr('src', $url);
         // These attributes take strings: lang, id, title, alt
         if (($attr == "lang")
           || ($attr == "id")
@@ -441,13 +443,18 @@
             $link->setAttr($attr, $value);
         }
         // align = bottom|middle|top|left|right
+        // we allow "center" as synonym for "middle"
         elseif (($attr == "align")
           && (($value == "bottom")
             || ($value == "middle")
+            || ($value == "center")
             || ($value == "top")
             || ($value == "left")
             || ($value == "right"))) {
-            $link->setAttr($attr, $value);
+                if ($value == "center") {
+                    $value = "middle";
+                }
+                $link->setAttr($attr, $value);
         }
         // These attributes take a number (pixels): border, hspace, vspace
         elseif ((($attr == "border") || ($attr == "hspace") || ($attr == "vspace"))
@@ -469,11 +476,11 @@
                 $link->setAttr('width',$m[1]);
                 $link->setAttr('height',$m[2]);
             }
-        }
-        else {
+        } else {
+            $url = substr(strrchr($ori_url, "/"), 1);
             $link = HTML::span(array('class' => 'error'),
-                          sprintf(_("Invalid image attribute \"%s\" %s=%s"),
-                                  $url, $attr, $value));
+                          sprintf(_("Invalid attribute %s=%s for image %s"),
+                                  $attr, $value, $url));
             return $link;
         }
     }
@@ -557,7 +564,7 @@
      * png|jpg|gif|jpeg|bmp|pl|cgi.  If no image it is an object to embed.
      * Note: Allow cgi's (pl,cgi) returning images.
      */
-    if (!preg_match("/\.(".$force_img.")/i", $url)) {
+    if (!preg_match("/\.(".$force_img.")/i", $ori_url)) {
         // HTML::img(array('src' => $url, 'alt' => $alt, 'title' => $alt));
         // => HTML::object(array('src' => $url)) ...;
         return ImgObject($link, $ori_url);
@@ -820,7 +827,7 @@
             $this->shortName = $name;
             if (strstr($name, ':')) {
                 list($moniker, $shortName) = explode (":", $name, 2);
-          $map = getInterwikiMap(); // allow overrides to custom maps
+                $map = getInterwikiMap(); // allow overrides to custom maps
                 if (isset($map->_map[$moniker])) {
                     $url = $map->_map[$moniker];
                     if (strstr($url, '%s'))
@@ -839,17 +846,17 @@
                     }
                     if (strstr($shortName, '?')) {
                         list($shortName, $dummy) = explode("\?", $shortName, 2);
-            }
+                    }
                     $this->shortName = $shortName;
                 }
             }
-        // FIXME: We should really fix the cause for "/PageName" in the WikiDB
+            // FIXME: We should really fix the cause for "/PageName" in the WikiDB
             if ($name == '' or $name[0] == SUBPAGE_SEPARATOR) {
                 if ($basename)
                     $name = $this->_pagename($basename) . $name;
                 else {
                     $name = $this->_normalize_bad_pagename($name);
-            $this->shortName = $name;
+                    $this->shortName = $name;
                 }
             }
         }
@@ -893,20 +900,20 @@
     }
 
     function _pagename($page) {
-    if (isa($page, 'WikiDB_Page'))
-        return $page->getName();
+        if (isa($page, 'WikiDB_Page'))
+            return $page->getName();
         elseif (isa($page, 'WikiDB_PageRevision'))
-        return $page->getPageName();
+            return $page->getPageName();
         elseif (isa($page, 'WikiPageName'))
-        return $page->name;
+            return $page->name;
         // '0' or e.g. '1984' should be allowed though
         if (!is_string($page) and !is_integer($page)) {
             trigger_error(sprintf("Non-string pagename '%s' (%s)(%s)",
                                   $page, gettype($page), get_class($page)),
                           E_USER_NOTICE);
         }
-    //assert(is_string($page));
-    return $page;
+        //assert(is_string($page));
+        return $page;
     }
 
     function _normalize_bad_pagename($name) {
@@ -960,7 +967,7 @@
         // not only for SQL, also to restrict url length
         if (strlen($pagename) > MAX_PAGENAME_LENGTH) {
             $pagename = substr($pagename, 0, MAX_PAGENAME_LENGTH);
-            $this->_errors[] = _("too long");
+            $this->_errors[] = _("Page name too long");
         }
 
         // disallow some chars only on file and cvs
@@ -1944,7 +1951,7 @@
 
         $buttons = $this->_buttons;
         if (!$buttons)
-            $buttons = array(_("Okay") => $request->getURLtoSelf());
+            $buttons = array(_("OK") => $request->getURLtoSelf());
 
         global $WikiTheme;
         foreach ($buttons as $label => $url)

Modified: trunk/src/plugins/wiki/www/lib/upgrade.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/upgrade.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/lib/upgrade.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-// $Id: upgrade.php 8071 2011-05-18 14:56:14Z vargenau $
+// $Id: upgrade.php 8156 2011-10-03 12:35:43Z vargenau $
 /*
  * Copyright 2004,2005,2006,2007 $ThePhpWikiProgrammingTeam
  * Copyright 2008 Marc-Etienne Vargenau, Alcatel-Lucent
@@ -678,7 +678,7 @@
             echo "<b>",_("FIXING"),"remote_host</b>"," ... ";
             $this->dbi->genericSqlQuery("ALTER TABLE $accesslog_tbl CHANGE remote_host VARCHAR(100)");
         } else {
-            echo _("FAIL");
+            echo _("FAILED");
         }
         echo "<br />\n";
         }
@@ -886,7 +886,7 @@
                 $this->dbi->genericSqlQuery("ALTER TABLE $link_tbl ADD relation INT DEFAULT 0;");
                 $this->dbi->genericSqlQuery("CREATE INDEX link_relation ON $link_tbl (relation);");
             } else {
-                echo _("FAIL");
+                echo _("FAILED");
             }
             echo "<br />\n";
         }

Modified: trunk/src/plugins/wiki/www/locale/de/LC_MESSAGES/phpwiki.mo
===================================================================
(Binary files differ)

Modified: trunk/src/plugins/wiki/www/locale/de/LC_MESSAGES/phpwiki.php
===================================================================
--- trunk/src/plugins/wiki/www/locale/de/LC_MESSAGES/phpwiki.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/locale/de/LC_MESSAGES/phpwiki.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -15,6 +15,7 @@
 $locale[" is identical."] = " sind identisch.";
 $locale[" replace "] = " ersetze mit ";
 $locale[" skipped"] = " ausgelassen";
+$locale[" to "] = " nach ";
 $locale["%4d  %s\n"] = "%4d  %s\n";
 $locale["%d UserPreferences fields successfully updated."] = "%d BenutzerEinstellungen erfolgreich auf neuesten Stand gebracht.";
 $locale["%d best incoming links: "] = "Die %d besten hereinkommenden Links: ";
@@ -74,7 +75,6 @@
 $locale["%s: not a subclass of WikiPlugin."] = "%s scheint kein WikiPlugin zu sein.";
 $locale["%s: not defined"] = "%s: nicht definiert";
 $locale["&version=-1 might help."] = "&version=-1 wird empfohlen.";
-$locale["' in page name."] = "' in Seitenname.";
 $locale["'%s' is no ModeratedPage anymore."] = "'%s' ist keine ModeratierteSeite mehr.";
 $locale["'%s': Bad page name"] = "»%s«: Ungültiger Seitenname";
 $locale["'%s': Bad page name: %s"] = "»%s«: Ungültiger Seitenname: %s";
@@ -100,6 +100,7 @@
 $locale["... not found"] = "... nicht gefunden";
 $locale["1 day"] = "1 Tag";
 $locale["1 word"] = "1 Wort";
+$locale[":"] = ":";
 $locale[": "] = ": ";
 $locale["<%s: no such section>"] = "<%s: unbekannte Sektion>";
 $locale["<<ModeratedPage ... >> not found in first line of %s"] = "<<ModeratedPage ... >> nicht in erster Zeile von %s gefunden";
@@ -125,19 +126,13 @@
 $locale["Access denied to change page '%s'."] = "Zugang verweigert um Seite '%s' zu ändern.";
 $locale["Access denied to rename page '%s'."] = "Zugang verweigert um Seite '%s' zu ändern.";
 $locale["Action Page"] = "Aktion Seite";
-$locale["Action page"] = "Aktion Seite";
 $locale["ActionPage"] = "Aktion Seite";
+$locale["Add %s"] = "%s Hinzufügen";
 $locale["Add %s hours to the server's local time when reporting times."] = "Addieren Sie %s Stunden zur lokalen Serverzeit, bei jeder Zeitanzeige (z.B. NeuesteÄnderungen).";
-$locale["Add %s:"] = "%s Hinzufügen:";
 $locale["Add Comment"] = "Neuer Kommentar";
-$locale["Add Image or Video"] = "Bild oder Video einfügen";
 $locale["Add Message"] = "Neue Nachricht";
 $locale["Add this ACL"] = "Füge diese ACL hinzu";
-$locale["AddCategory"] = "NeueKategorie";
 $locale["AddComment"] = "NeuerKommentar";
-$locale["AddPageLink"] = "SeitenLink einfügen";
-$locale["AddPlugin"] = "Plugin einfügen";
-$locale["AddTemplate"] = "NeueVorlage";
 $locale["Adjust"] = "Justieren";
 $locale["Admin"] = "Admin";
 $locale["Admin is also online."] = "Administrator ist auch online.";
@@ -165,6 +160,7 @@
 $locale["AppendText to %s"] = "TextHinzufügen zu %s";
 $locale["Appending at the end."] = "Füge am Ende hinzu.";
 $locale["Application name"] = "Anwendungsname";
+$locale["Application size: %d KiB"] = "Anwendungsplatzbedarf: %d KiB";
 $locale["Apply changes"] = "Änderungen anwenden";
 $locale["Approve"] = "Akzeptieren";
 $locale["Are you sure you want to change the markup type of the selected files?"] = "Sind Sie sicher, dass Sie die ausgewählen Seiten wirklich ändern wollen?";
@@ -181,6 +177,7 @@
 $locale["Attribute"] = "Attribut";
 $locale["Attribute %s, base value: %s"] = "Attribut %s, Basis: %s";
 $locale["Attribute %s, value: %s"] = "Attribut %s, Wert: %s";
+$locale["Attributes"] = "Attribute";
 $locale["Attributes of %s"] = "Attribute für %s";
 $locale["Auth Level"] = "Auth. Ebene";
 $locale["Auth Method"] = "Auth. Methode";
@@ -193,7 +190,6 @@
 $locale["AuthorHistory"] = "AutorenProtokoll";
 $locale["Available plugins"] = "Verfügbare Einschubprogramme";
 $locale["Avg. Rating"] = "Durchschnittsbewertung";
-$locale["BAD URL -- remove all of <, >, \""] = "URL Formfehler - Entfernen Sie alle Zeichen mit <, >, \"";
 $locale["BAD phpwiki: URL"] = "phpwiki: URL Formfehler";
 $locale["BOGO"] = "BOGO";
 $locale["Back"] = "Zurück";
@@ -201,6 +197,8 @@
 $locale["BackLinks"] = "BackLinks";
 $locale["BackLinks for %s"] = "BackLinks für %s";
 $locale["Backend type: "] = "Backend Typ: ";
+$locale["Bad URL -- remove all of <, >, \""] = "URL Formfehler - Entfernen Sie alle Zeichen mit <, >, \"";
+$locale["Bad URL for image -- remove all of <, >, \""] = "URL Formfehler für Bild - Entfernen Sie alle Zeichen mit <, >, \"";
 $locale["Bad Version"] = "Ungültige Version";
 $locale["Bad file type: %s"] = "Ungültiger Dateityp: %s";
 $locale["Bad url in src: remove all of <, >, \""] = "URL Formfehler in Quellcode: alle der folgenden Zeichen entfernen <, >, \"";
@@ -224,7 +222,7 @@
 $locale["Can't open the upload logfile."] = "Die Upload-Logdatei konnte nicht geöffnet worden.";
 $locale["Can't open zip file '%s' for reading"] = "Konnte ZIP-Datei »%s« nicht zum Lesen öffnen";
 $locale["Cancel"] = "Abbrechen";
-$locale["Cancelled"] = "Abgebrochen";
+$locale["Cancel your rating"] = "Bewertung löschen";
 $locale["Cannot create directory '%s'"] = "Das Verzeichnis »%s« kann nicht erzeugt werden";
 $locale["Cannot create page with empty name!"] = "Kann Seite mit leerem Namen nicht erzeugen";
 $locale["Cannot open AUTH_GROUP_FILE %s"] = "Kann AUTH_GROUP_FILE %s nicht öffnen";
@@ -248,6 +246,7 @@
 $locale["Change owner to: "] = "Besitzer ändern zu:";
 $locale["Change page attributes"] = "Ändern von Eigenschaften";
 $locale["Change the markup type of selected pages."] = "Ändere den Formatierungstyp aller ausgewählte Seiten.";
+$locale["Change your rating from "] = "Ändern Sie Ihre Bewertung ab ";
 $locale["Changes"] = "Änderungen";
 $locale["Check any two boxes then %s."] = "Wählen Sie zwei Versionen aus, dann %s.";
 $locale["Check any two boxes to compare revisions."] = "Wählen Sie zwei Versionen zum Vergleich aus.";
@@ -260,7 +259,9 @@
 $locale["Check for mysql session.sess_id sanity"] = "Prüfe auf mysql session.sess_id Korrektheit";
 $locale["Check for new session.sess_ip column"] = "Prüfe auf neue Spalte session.sess_ip column";
 $locale["Check for table %s"] = "Prüfe Tabelle %s";
+$locale["Check menu items to display."] = "Klicken um anzuzeigen";
 $locale["Check to add this ACL"] = "Anklicken um diese ACL hinzuzufügen";
+$locale["Check you are logged in."] = "Sie sollten jetzt angemeldet sein.";
 $locale["Chmod"] = "Chmod";
 $locale["Chmod to permission:"] = "Ändere auf Berechtigung:";
 $locale["Chown"] = "Chown";
@@ -368,9 +369,10 @@
 $locale["Dumping html pages"] = "Die Speicherung von Wiki Seiten als HTML-Dateien";
 $locale["Dumping serial pages"] = "Die Speicherung von Wiki Seiten als Dateien";
 $locale["Dynamically include the content from another wiki page."] = "Text von einer andere Seite einfügen.";
-$locale["E-Mail"] = "E-Mail";
-$locale["E-Mail address confirmation"] = "E-Mail Bestätigung";
 $locale["E-mail"] = "E-Mail";
+$locale["E-mail Notification"] = "E-Mail Bestätigung";
+$locale["E-mail address confirmation"] = "E-Mail Bestätigung";
+$locale["ERROR uploading '%s'"] = "FEHLER beim Hochladen von »%s«";
 $locale["Easy navigation buttons for %s"] = "Einfache Navgiationsknöpfe für %s";
 $locale["Edit"] = "Bearbeiten";
 $locale["Edit %s"] = "Bearbeite %s";
@@ -378,7 +380,6 @@
 $locale["Edit Old Revision"] = "Alte Version Bearbeiten";
 $locale["Edit aborted."] = "Bearbeiten abgebrochen.";
 $locale["Edit metadata for %s"] = "Meta-Daten für %s bearbeiten";
-$locale["Edit old revision"] = "Alte Version Bearbeiten";
 $locale["Edit this page"] = "Diese Seite bearbeiten";
 $locale["Edit this page and all subpages"] = "Bearbeiten aller Seiten und Unterseiten";
 $locale["Edit: %s"] = "Bearbeite: %s";
@@ -387,7 +388,6 @@
 $locale["Edited by: %s"] = "Bearbeitet von: %s";
 $locale["Editing pages"] = "Ändern in diesem Wiki";
 $locale["Elapsed time: %s s"] = "Dauer: %s s";
-$locale["Email Verification"] = "E-Mail Bestätigung";
 $locale["Email not yet verified."] = "E-Mail noch nicht bestätigt.";
 $locale["Email verified."] = "E-Mail bestätigt.";
 $locale["Embed hidden comments in WikiPages."] = "Kommentar in WikiText verstecken.";
@@ -409,7 +409,6 @@
 $locale["External Links"] = "Externe Links";
 $locale["External link (remember http:// prefix)"] = "Externer Link (http:// prefix)";
 $locale["ExternalSearch"] = "FremdSuche";
-$locale["FAIL"] = "FEHLER";
 $locale["FAILED"] = "FEHLER";
 $locale["FIXED"] = "AUSGEBESSERT";
 $locale["FORBIDDEN"] = "VERBOTEN";
@@ -420,6 +419,7 @@
 $locale["File successfully uploaded."] = "Datei erfolgreich hochgeladen.";
 $locale["FileInfo"] = "DateiInfo";
 $locale["Files with extension %s are not allowed."] = "Dateien mit der Endung %s sind nicht erlaubt.";
+$locale["Find page"] = "Seite finden";
 $locale["FindPage"] = "SeiteFinden";
 $locale["First"] = "Erste";
 $locale["FoafViewer"] = "FoafBetrachter";
@@ -436,6 +436,7 @@
 $locale["Get debugging information for %s."] = "Debug-Informationen von %s.";
 $locale["Get preferences information for current user %s."] = "Zeige Benutzereinstellungen für den aktuellen Benutzer %s.";
 $locale["Given password ignored."] = "Passwort ignoriert.";
+$locale["Global user preferences (for all projects)"] = "Globale Benutzereinstellungen (für alle Projekte)";
 $locale["Go"] = "Los";
 $locale["Go to %s."] = "Gehe zu %s.";
 $locale["Go to or create page."] = "Gehe zu oder erzeuge diese Seite.";
@@ -487,7 +488,7 @@
 $locale["Help/WikiWikiWeb"] = "Hilfe/WikiWikiWeb";
 $locale["Help:SemanticRelations"] = "Hilfe:SemantischeBeziehungen";
 $locale["Here you can override site-specific default values."] = "Hier können Sie einige Voreinstellungen ändern.";
-$locale["Hide %s:"] = "%s verstecken:";
+$locale["Hide %s"] = "%s verstecken";
 $locale["Hide or show LinkIcons (if supported by the current theme). Useful for text-only browsers or slow connections."] = "LinkIcons ausblenden oder einblenden (unter der Voraussetzung, dass es durch die ausgewählte Darstellung unterstützt wird). Dies ist sinnvoll für Text-Browser und langsame Verbindungen.";
 $locale["Hilight referred search terms."] = "Hebe externe Suchwörter hervor.";
 $locale["History of all major and minor edits by %s to page %s."] = "Verlaufsprotokoll aller großen und kleinen Änderungen von %s der Seite %s.";
@@ -495,7 +496,6 @@
 $locale["History of changes."] = "Änderungsprotokoll.";
 $locale["Hit statistics"] = "Treffer Statistiken";
 $locale["Hits"] = "Treffer";
-$locale["Hits:"] = "Treffer:";
 $locale["Home"] = "Start";
 $locale["Home Page"] = "Start Seite";
 $locale["HomePage"] = "StartSeite";
@@ -506,8 +506,9 @@
 $locale["I'm sorry, there is no such page as %s."] = "Leider gibt es keine solche Seite %s.";
 $locale["I'm sorry.  Version %d of %s is not in the database."] = "Leider ist keine Version %d von %s in der Datenbank.";
 $locale["Ignore wiki formatting"] = "Keine Wiki Formatierung";
-$locale["Illegal character '"] = "Ungültiges Zeichen";
+$locale["Illegal character '%s' in page name."] = "Ungültiges Zeichen '%s' in Seitenname.";
 $locale["Illegal chars %s removed"] = "Ungültiges Zeichen %s entfernt";
+$locale["Illegal inclusion of page %s: no read access."] = "Fehler beim Einfügen der Seite %s: kein Lesezugriff.";
 $locale["Image loaded from cache file: %s"] = "Bild geladen von Cachedatei: %s";
 $locale["Image saved to cache file: %s"] = "Bild gespeichert als Cachedatei: %s";
 $locale["In the time since you started editing this page, another user has saved a new version of it."] = "Während der Zeit, seit Sie mit der Bearbeitung dieser Seite begonnen haben, hat ein anderer Benutzer bereits eine neuere Version gespeichert.";
@@ -520,6 +521,7 @@
 $locale["IncludePages"] = "SeitenEinfügen";
 $locale["IncludeSiteMap"] = "SeitenBaumEingefügt";
 $locale["Included from %s"] = "Eingefügter Text von %s";
+$locale["Included from %s (revision %d)"] = "Eingefügter Text von %s (Version %d)";
 $locale["Included from %s:"] = "Eingefügter Text von %s:";
 $locale["Includes the content of all SubPages of the current page."] = "Enthält den Inhalt alle UnterSeiten der aktuellen Seite.";
 $locale["Info"] = "Info";
@@ -540,11 +542,11 @@
 $locale["Invalid [] syntax ignored"] = "Ungültige [] syntax ignoriert";
 $locale["Invalid argument %s"] = "Ungültiger Parameter %s";
 $locale["Invalid argument: %s=%s"] = "Ungültiger Parameter: %s=%s";
+$locale["Invalid attribute %s=%s for image %s"] = "Ungültiger Parameter %s=%s für Bild %s";
 $locale["Invalid chmod string"] = "Ungültiger CHMOD Befehl";
 $locale["Invalid color: %s"] = "Ungültige Farbe: %s";
-$locale["Invalid image attribute \"%s\" %s=%s"] = "Ungültiger Parameter: \"%s\" %s=%s";
+$locale["Invalid filename. File names may only contain alphanumeric characters and dot, underscore, space or dash."] = "Dateinamen dürfen nur folgende Zeichen enthalten: alphanumerische Zeichen, Punkt, Unterstrich, Leerzeichen und Bindestrich.";
 $locale["Invalid image size"] = "Ungültige Bildgröße";
-$locale["Invalid pagename!"] = "Ungültiger Seitenname!";
 $locale["Invalid password or userid."] = "Ungültiges Passwort oder falscher Benutzername.";
 $locale["Invalid password."] = "Ungültiges Passwort.";
 $locale["Invalid username '%s' for LDAP Auth"] = "Ungültiger Benutzername »%s« für LDAP Auth";
@@ -558,7 +560,6 @@
 $locale["Last Author"] = "Letzter Autor";
 $locale["Last Modified"] = "Zuletzt geändert";
 $locale["Last Summary"] = "Letzte Zusammenfassung";
-$locale["Last edited %s"] = "Zuletzt geändert %s";
 $locale["Last edited on %s"] = "Zuletzt bearbeitet am %s";
 $locale["LatestSnapshot"] = "LetzeSicherung";
 $locale["Layout tables using a Mediawiki-like markup style."] = "Tabellen mit Mediawiki Syntax.";
@@ -570,6 +571,7 @@
 $locale["Legend"] = "Legende";
 $locale["Level 1 headline"] = "H1 Überschrift";
 $locale["Like Pages"] = "Ähnliche Seiten";
+$locale["Like pages"] = "Ähnliche Seiten";
 $locale["LikePages"] = "ÄhnlicheSeiten";
 $locale["Line %s does not begin with a '|'."] = "Zeile %s beginnt nicht mit '|'.";
 $locale["Link"] = "Verweis";
@@ -584,14 +586,19 @@
 $locale["List all page revisions edited by one user with diff links, or show a PageHistory-like list of a single page for only one user."] = "Liste aller Versionen eines Autors mit Diff-Links, oder eine SeitenProtokoll-ähnliche Liste einer Seite nur für einen Autor.";
 $locale["List all pages in this wiki."] = "Alle Seiten in diesem Wiki auflisten.";
 $locale["List all pages which link to %s."] = "Alle Seiten, die mit %s verlinkt sind.";
+$locale["List all recent changes in this wiki."] = "Alle Änderungen in diesem Wiki auflisten.";
+$locale["List all recent edits in this wiki."] = "Alle geringfügige Änderungen in diesem Wiki auflisten.";
+$locale["List of changes on all pages which are linked to from this page."] = "Liste der Änderungen auf allen Seiten, die von diese Seite verlinkt sind.";
 $locale["List of pages created by [%s] (%d total):"] = "Liste der Seiten erzeugt von [%s] (%d insgesamt):";
 $locale["List of pages last edited by [%s] (%d total):"] = "Liste der Seiten last edited by [%s] (%d insgesamt):";
 $locale["List of pages owned by [%s] (%d total):"] = "Liste der Seiten owned by [%s] (%d insgesamt):";
+$locale["List of plugins on this wiki"] = "Alle Zusatzprogrammen in diesem Wiki auflisten.";
 $locale["List of user-created pages (%d total):"] = "Liste der Benutzer erzeugten Seiten (%d insgesamt):";
 $locale["List page names which share an initial or final title word with '%s'."] = "Diese Seiten teilen sich einen Wordteil am Anfang oder Ende mit »%s«.";
 $locale["List pages which are not linked to by any other page."] = "Liste aller Seiten, die von keiner anderen Seite verlinkt sind.";
 $locale["List the most popular pages nearby."] = "Liste die meistbesuchten Seiten in der Nähe.";
 $locale["List the most popular pages."] = "Die meistbesucht Seiten werden aufgelistet.";
+$locale["List the most popular tags."] = "Die meistbesucht Tags werden aufgelistet.";
 $locale["List the user's ratings."] = "Zeige die Benutzer Bewertungen.";
 $locale["List this page and all subpages"] = "Auflistung aller Seiten und Unterseiten";
 $locale["ListPages"] = "ListeSeiten";
@@ -611,13 +618,11 @@
 $locale["Lock page to enable link"] = "Seite sperren, um den Link zu aktivieren";
 $locale["Locked"] = "Gesperrt";
 $locale["Locking pages"] = "Seiten sperren";
-$locale["Login"] = "Anmelden";
 $locale["MIME file %s"] = "MIME-Datei %s";
 $locale["MISSING"] = "FEHLEND";
 $locale["Make use of the Google API"] = "Benutze die Google API";
 $locale["Markup"] = "Quelltext";
 $locale["Markup cache purged!"] = "HTML-Cachedaten entfernt!";
-$locale["Markup:"] = "Quelltextformat:";
 $locale["Members:"] = "Mitglieder:";
 $locale["Merge Edit"] = "Zusammenfügen Bearbeiten";
 $locale["Merge and Edit: %s"] = "Zusammenfügen und Bearbeiten: %s";
@@ -638,12 +643,16 @@
 $locale["Moniker"] = "Kurzname";
 $locale["Most users ever online was %d at %s."] = "Die meisten Besucher online waren %d am %s.";
 $locale["MostPopular"] = "MeistBesucht";
+$locale["My Discussion"] = "Meine Diskussion";
+$locale["My Preferences"] = "Meine Voreinstellungen";
+$locale["My User Page"] = "Meine Benutzer Seite";
 $locale["Name"] = "Seitenname";
 $locale["Never edited"] = "Noch nie bearbeitet.";
 $locale["New Topic"] = "Neues Thema";
 $locale["New comment."] = "Neuer Kommentar.";
 $locale["New entry"] = "Neuer Eintrag";
 $locale["New page"] = "Neue Seite";
+$locale["New pages only"] = "Nur neue Seiten";
 $locale["New password"] = "Neues Passwort";
 $locale["New users may use an empty password."] = "Neue Benutzer können auch ohne Passwort einloggen.";
 $locale["Newer page:"] = "Neuere Seite:";
@@ -661,9 +670,7 @@
 $locale["No or unsupported GROUP_METHOD defined"] = "Keine oder ungültige GROUP_METHOD definiert";
 $locale["No other page links to %s yet."] = "Noch keine Seiten sind mit %s verlinkt.";
 $locale["No page links to %s."] = "Keine Seiten sind mit %s verlinkt.";
-$locale["No page specified."] = "Keine Seite angegeben.";
 $locale["No pagedata for %s"] = "Keine Daten für Seite %s";
-$locale["No pagename specified"] = "Keine Seite angegeben";
 $locale["No pages changed."] = "Keine Änderungen.";
 $locale["No pages purged."] = "Keine Änderungen.";
 $locale["No pages removed."] = "Keine Seiten gelöscht.";
@@ -680,10 +687,10 @@
 $locale["Note: Only if you create your personal HomePage with same the pagename as your user id, you will be able to store your UserPreferences. Otherwise not."] = "Beachte: Nur wenn Sie Ihre persönliche HomePage mit dem selben Seitennamen wie Ihre Benutzernamen erzeugen, werden Sie Ihre BenutzerEinstellungen speichern können.";
 $locale["Nothing found"] = "Nichts gefunden";
 $locale["OK"] = "OK";
-$locale["Okay"] = "OK";
 $locale["Old UserPage %s without stored password updated with empty password. Set a password in your UserPreferences."] = "Ihre alte persönliche HomePage %s ohne gespeichertem Passwort wurde mit einem leeren Password gespeichert. Setzen Sie ein Passwort in Ihren BenutzerEinstellungen.";
 $locale["OldStyleTable"] = "TraditionellerTabellenStil";
 $locale["Older page:"] = "Ältere Seite:";
+$locale["One UserPreferences field successfully updated."] = "Eined BenutzerEinstellung erfolgreich auf neuesten Stand gebracht.";
 $locale["One page has been changed:"] = "Eine Seite wird geändert.";
 $locale["One page has been permanently purged:"] = "Eine Seite wird unwiderruflich gelöscht.";
 $locale["One page has been removed:"] = "Eine Seite wird gelöscht:";
@@ -691,6 +698,7 @@
 $locale["One page links to %s:"] = "Eine Seite ist mit %s verlinkt:";
 $locale["One page would link to %s:"] = "Eine Seite würde mit %s verlinkt sein:";
 $locale["Only files with extension HTML are allowed"] = "Nur Dateien mit der Endung HTML sind erlaubt";
+$locale["Only files with the extension %s are allowed."] = "Nur Dateien mit der Endung %s sind erlaubt";
 $locale["Oops! Revision %s of %s seems to have been deleted!"] = "Hoppla! Es scheint, die Version %s von %s wurde gelöscht!";
 $locale["Operation undone"] = "Aktion rückgängig gemacht";
 $locale["Optimizing database"] = "Datenbank wird optimiert";
@@ -707,6 +715,7 @@
 $locale["Page"] = "Seite";
 $locale["Page %s not found."] = "Seite %s nicht gefunden.";
 $locale["Page '%s' already exists. Ignored."] = "Seite %s existiert bereits. Ignoriert.";
+$locale["Page '%s' does not exist"] = "Seite »%s« existiert nicht";
 $locale["Page '%s' does not exist."] = "Seite »%s« existiert nicht";
 $locale["Page Content: "] = "Inhalt: ";
 $locale["Page Execution took %s seconds"] = "Ausführung dieser Seite dauerte %s Sekunden";
@@ -714,10 +723,12 @@
 $locale["Page Locked"] = "Seite Gesperrt";
 $locale["Page Name"] = "Seitenname";
 $locale["Page Trail"] = "Spur";
-$locale["Page Type:"] = "Seitentyp:";
-$locale["Page Version:"] = "Seiten Version:";
+$locale["Page Type"] = "Seitentyp";
+$locale["Page Version"] = "Seiten Version";
 $locale["Page change"] = "Seiten Änderung";
-$locale["Page could not be updated. %s doesn't exist!\n"] = "Seite konnte nicht geändert werden. %s existiert nicht!\n";
+$locale["Page could not be updated. %s doesn't exist!"] = "Seite konnte nicht geändert werden. %s existiert nicht!";
+$locale["Page info"] = "Seiten Info";
+$locale["Page name too long"] = "Seite Name zu lang";
 $locale["Page names with prefix '%s'"] = "Seitennamen mit dem Anfangswort »%s«";
 $locale["Page names with suffix '%s'"] = "Seitennamen mit Endwort »%s«";
 $locale["Page now locked."] = "Seite jetzt gesperrt.";
@@ -738,12 +749,15 @@
 $locale["PageInfo"] = "SeitenInfo";
 $locale["PageName|optional label"] = "SeitenName|optionaler Name";
 $locale["PageTrail Plugin"] = "PageTrail Plugin";
+$locale["Pagedata size: %d KiB"] = "Größe der Seitendaten: %d KiB";
+$locale["Pagename(s): "] = "Seitenname(n): ";
 $locale["Pages which have been deleted at least %s days are already checked."] = "Seiten, die in den letzten %s Tagen gelöscht wurden, sind bereits ausgewählt";
 $locale["Password cannot be changed."] = "Passwort konnte nicht geändert werden.";
 $locale["Password updated."] = "Passwort geändert.";
 $locale["Password was not changed."] = "Passwort wurde nicht geändert.";
 $locale["Password:"] = "Passwort:";
 $locale["PasswordReset"] = "PasswortZurücksetzen";
+$locale["Past versions of this page."] = "Älteren Versionen dieser Seite.";
 $locale["Perform searches on InterWiki sites listed in InterWikiMap."] = "Durchsuchen im InterWiki sites die im InterWikiMap verzeichnet sind.";
 $locale["Permanently purge all selected pages."] = "Endgültige Löschung aller ausgewählten Seiten.";
 $locale["Permanently purge selected pages"] = "Endgültige Löschung aller ausgewählten Seiten.";
@@ -803,6 +817,7 @@
 $locale["Previous Revision"] = "Vorige Neubearbeitung";
 $locale["Printer"] = "Drucker";
 $locale["Propagate new permissions to all subpages?"] = "Aktiviere Vererbung dieser Zugriffsrechte auf alle Unterseiten?";
+$locale["Purge HTML cache"] = "HTML-Cachedatei Säubern";
 $locale["Purge HTML cache for this page. Regenerate from WikiMarkup when next accessed."] = "Gespeicherten HTML Cache dieser Seite löschen und beim nächsten Aufruf neu generieren.";
 $locale["Purge Markup Cache"] = "HTML-Cachedatei Säubern";
 $locale["Purge Page"] = "Seiten endgültig löschen";
@@ -827,13 +842,19 @@
 $locale["Recent Changes"] = "Neueste Änderungen";
 $locale["Recent Comments"] = "Neueste Kommentare";
 $locale["Recent Edits"] = "Geringfügige Änderungen";
+$locale["Recent changes"] = "Neueste Änderungen";
+$locale["Recent comments"] = "Neueste Kommentare";
 $locale["RecentChanges"] = "NeuesteÄnderungen";
 $locale["RecentComments"] = "NeuesteKommentare";
 $locale["RecentEdits"] = "GeringfügigeÄnderungen";
 $locale["RecentVisitors"] = "LetzteBesucher";
+$locale["Recursive inclusion of page %s"] = "Rekursiver Selbstaufruf der Seite %s";
+$locale["Recursive inclusion of page %s ignored"] = "Rekursiver Selbstaufruf der Seite %s ignoriert";
+$locale["Recursive inclusion of url %s"] = "Rekursiver Selbstaufruf der URL %s";
 $locale["Recursive redirect to self: '%s'"] = "Eigenbezogene Selbstrückleitung: »%s«";
 $locale["Recursively get BackLinks or links"] = "Alle BackLinks für %s (rekursiv)";
 $locale["Redirect"] = "Weiterleiten";
+$locale["Redirect to an external URL is only allowed in locked pages."] = "Weiterleitung zu einer externen URL ist nur in gesperrten Seiten erlaubt.";
 $locale["RedirectTo"] = "WeiterLeiten";
 $locale["Redirects to an external web site based on form input"] = "Weiterleitung der Suche zu einer externen Webseite aufgrund einer Formulareingabe";
 $locale["References"] = "Fußnoten";
@@ -843,6 +864,7 @@
 $locale["Reject"] = "Ablehnen";
 $locale["Related Changes"] = "Verlinkte Änderungen";
 $locale["Related Links"] = "Verwandte Links";
+$locale["Related changes"] = "Verlinkte Änderungen";
 $locale["RelatedChanges"] = "VerlinkteÄnderungen";
 $locale["Relation %s to page %s"] = "Relation %s zu Seite %s";
 $locale["Relations"] = "Relationen";
@@ -855,11 +877,9 @@
 $locale["Removing pages"] = "Die Seitenlöschung in diesem Wiki";
 $locale["Rename"] = "Umbenennen";
 $locale["Rename Page"] = "Seite Umbenennen";
-$locale["Rename page"] = "Seite umbenennen";
 $locale["Rename selected pages"] = "Ausgewählte Seiten umbenennen";
 $locale["Rename to"] = "Umbennen zu";
-$locale["Renamed page '%s' to '%s'."] = "Seite '%s' auf '%s' umbenannt.";
-$locale["Renamed page from '%s' to '%s'"] = "Seite '%s' auf '%s' umbenannt.";
+$locale["Renamed page from '%s' to '%s'."] = "Seite '%s' auf '%s' umbenannt.";
 $locale["Replace"] = "Ersetze";
 $locale["Replace all occurences of the given string in the content of all pages."] = "Ersetze alle Wörter in den angegebenen Seiten.";
 $locale["Replace with"] = "Ersetze mit";
@@ -881,7 +901,7 @@
 $locale["Sample table"] = "Beispieltabelle";
 $locale["SandBox"] = "SandKasten";
 $locale["Save"] = "Speichern";
-$locale["Saved on:"] = "Gespeichert am:";
+$locale["Saved on"] = "Gespeichert am";
 $locale["Saved: %s"] = "Gespeichert: %s";
 $locale["Saving this page will overwrite the current version."] = "Wenn Sie diese Seite jetzt speichern, wird die aktuelle Version überschrieben.";
 $locale["Score"] = "Gewichtung";
@@ -893,6 +913,7 @@
 $locale["Search for page titles similar to %s."] = "Suche nach Seitentitel die ähnlich klingen wie %s.";
 $locale["Search the content of all pages in this wiki."] = "Den Text aller Seiten dieses Wikis durchsuchen.";
 $locale["Search the titles of all pages in this wiki."] = "Die Titeln aller Seiten dieses Wikis durchsuchen.";
+$locale["Search:"] = "Suche:";
 $locale["SearchHighlight"] = "SucheHervorheben";
 $locale["SearchReplace"] = "Suchen & Ersetzen";
 $locale["See %s"] = "Siehe %s";
@@ -932,8 +953,6 @@
 $locale["Sign In"] = "Anmelden";
 $locale["Sign Out"] = "Abmelden";
 $locale["Sign in as:"] = "Anmelden als:";
-$locale["SignIn"] = "AnMelden";
-$locale["SignOut"] = "Abmelden";
 $locale["Signed Users"] = "Angemeldete Benutzer";
 $locale["Simple RSS Feed aggregator Plugin"] = "Einfaches RSS Feed Plugin";
 $locale["Simple Sample Plugin"] = "Zusatzprogramm Minimalbeispiel";
@@ -942,7 +961,6 @@
 $locale["Since you started the purge process, someone has saved a new version of %s.  Please check to make sure you still want to permanently purge the page from the database."] = "Während Sie den Löschungsprozess begonnen haben, hat jemand anderer eine neue Version von %s gespeichert. Bitte entscheiden Sie ob Sie die Seite noch von der Datenbank permanent löschen wollen.";
 $locale["SiteMap"] = "SeitenÜbersicht";
 $locale["Size"] = "Größe";
-$locale["Size:"] = "Größe:";
 $locale["Skipped."] = "Ausgelassen.";
 $locale["Skipping"] = "Übersprungen";
 $locale["Some of the changes could not automatically be combined.  Please look for sections beginning with '%s', and ending with '%s'.  You will need to edit those sections by hand before you click Save."] = "Einige der Änderungen konnten nicht automatisch miteinander verbunden werden. Bitte suchen Sie nach den Teilen, die mit »%s« anfangen und mit »%s« enden. Sie müssen diese Teile von Hand bearbeiten, bevor Sie auf Speichern klicken.";
@@ -962,7 +980,7 @@
 $locale["Spelling Score"] = "Buchstabierende";
 $locale["SqlResult"] = "SqlErgebnis";
 $locale["Statistics about %s."] = "Statistik über %s.";
-$locale["Status:"] = "Gültigkeit:";
+$locale["Status"] = "Gültigkeit";
 $locale["Strike"] = "Durchstreichen";
 $locale["Strike-through text"] = "Durchgestrichen";
 $locale["String \"%s\" not found."] = "Zeichenkette \"%s\" nicht gefunden.";
@@ -974,7 +992,7 @@
 $locale["Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"] = "Substring \"\\1\" \\2 mal gefunden. Ersetze mit \"\\3\"?";
 $locale["Summary"] = "Zusammenfassung";
 $locale["Summary: %s"] = "Zusammenfassung: %s";
-$locale["Supplanted on:"] = "Ersetzt am:";
+$locale["Supplanted on"] = "Ersetzt am";
 $locale["Support moderated pages"] = "Unterstütze moderierte Seiten";
 $locale["Supported handlers are: %s"] = "Unterstützte DBA Methoden sind: %s";
 $locale["Supported languages"] = "Unterstützte Sprachen";
@@ -982,10 +1000,9 @@
 $locale["Switch to detailed list"] = "Wechsle zu detallierter Liste";
 $locale["Switch to summary"] = "Zur Übersicht wechseln";
 $locale["Synopsis"] = "Übersicht";
-$locale["Syntax language not specified."] = "Keine Syntax angegeben.";
 $locale["SyntaxHighlighter"] = "SyntaxHervorhebung";
 $locale["Table of Contents"] = "Inhaltsverzeichnis";
-$locale["Table of content"] = "Inhaltsverzeichnis";
+$locale["TeX imagepath not writable."] = "Keine Schreibrechte für das TeX Bildpath";
 $locale["Template"] = "Vorlage";
 $locale["Template Name"] = "Vorlagenname";
 $locale["TermsOfUse"] = "BenutzungsBedingungen";
@@ -993,6 +1010,7 @@
 $locale["Thank you for editing %s."] = "Danke für das Bearbeiten von %s.";
 $locale["Thanks for adding this translation!"] = "Danke für diese Übersetzung!";
 $locale["Thanks for participating!"] = "Danke für die Teilnahme!";
+$locale["Thanks!"] = "Danke!";
 $locale["The %d least popular pages of this wiki:"] = "Die %d selten besuchten Seiten dieses Wikis:";
 $locale["The %d most popular pages of this wiki:"] = "Die %d meistbesuchten Seiten dieses Wikis:";
 $locale["The %d most recent %s are listed below."] = "Die %d jüngste %s sind unten aufgelistet.";
@@ -1019,6 +1037,7 @@
 $locale["The requested information is available only to Administrators."] = "Diese Information ist nur für Administratoren zugänglich.";
 $locale["The result of this poll so far:"] = "Aktuelle Ergebnisse der Umfrage:";
 $locale["The session.save_path directory"] = "Das session.save_path Verzeichnis";
+$locale["The upload logfile exists but is not writable."] = "Die Upload Logdatei ist nicht schreibbar.";
 $locale["Theme"] = "Benutzeroberfläche";
 $locale["There is already a file with name %s uploaded."] = "Es existiert schon eine gleichnamige, hochgeladene Datei %s.";
 $locale["There is no image creation data available to id '%s'. Please reload referring page."] = "Es sind keine Bilddaten vorhanden für '%'. Bitte laden Sie die Seite neu.";
@@ -1038,6 +1057,7 @@
 $locale["Title 3"] = "Titel 3";
 $locale["Title Search"] = "TitelSuche";
 $locale["Title search results for '%s'"] = "Titel-Suchresultate nach »%s«";
+$locale["Title search results for '%s' (%d total)"] = "Titel-Suchresultate nach »%s« (%d total)";
 $locale["Title:"] = "Titel:";
 $locale["TitleSearch"] = "TitelSuche";
 $locale["To add check 'Add' near the dropdown list."] = "Setze '+' um ACL Zeile hinzufügen.";
@@ -1095,6 +1115,7 @@
 $locale["User %s removed page %s"] = "Seite gelöscht %s von Benutzer %s";
 $locale["User not found in LDAP"] = "Benutzer in LDAP nicht gefunden";
 $locale["User page"] = "Benutzer Seite";
+$locale["User preferences for this project"] = "Einstellungen für dieses Projekt";
 $locale["User preferences for user %s"] = "Einstellungen für Benutzer '%s'";
 $locale["User statistics"] = "Benutzer Statistiken";
 $locale["UserContribs"] = "BenutzerBewertungen";
@@ -1138,7 +1159,7 @@
 $locale["Welcome to %s!\nYour email account is verified and\nwill be used to send page change notifications.\nSee %s"] = "Willkommen bei %s!\nIhr E-Mail Konto ist bestätigt und\nwird benutzt, um SeitenÄnderungs Benachrichtigungen per E-Mail zu versenden.\nSiehe %s";
 $locale["What links here"] = "Was verlinkt hierher";
 $locale["Who Is Online"] = "Wer ist Online";
-$locale["Who is online"] = "Wer ist Online";
+$locale["Who is Online"] = "Wer ist Online";
 $locale["WhoIsOnline"] = "WerIstOnline";
 $locale["Width"] = "Breite";
 $locale["Wiki Name"] = "Name des Wikis";
@@ -1184,12 +1205,14 @@
 $locale["You must wait for moderator approval."] = "Sie müssen auf die Zustimmung des Moderators warten.";
 $locale["You need to specify the userid!"] = "Sie müssen den Benutzernamen angeben!";
 $locale["You stored an empty password in your '%s' page."] = "Sie haben ein leeres Passwort in Ihrer HomePage »%s« gespeichert.";
-$locale["Your E-Mail:"] = "Ihre E-Mail-Adresse:";
+$locale["Your E-Mail"] = "Ihre E-Mail-Adresse";
+$locale["Your UserPreferences have been successfully reset to default."] = "Ihre BenutzerEinstellungen wurden erfolgreich gelöscht.";
 $locale["Your WikiDB DB backend '%s' cannot be used for DbSession."] = "Ihr WikiDB DB backend '%s' wird von DbSession nicht unterstützt.";
 $locale["Your access permissions are only for a BogoUser."] = "Ihre Zugriffsberechtigung entspricht lediglich einem BogoUser.";
 $locale["Your are probably trying to edit/create an invalid version of this page."] = "Sie versuchen offenbar eine ungültige Version dieser Seite zu bearbeiten.";
 $locale["Your careful attention to detail is much appreciated."] = "Die besondere Aufmerksamkeit, die Sie soeben der Bearbeitung dieser Seite gewidmet haben, wird von allen Benutzern dieses Wikis gern gesehen und hoch geschätzt.";
 $locale["Your changes can not be saved as they are, since doing so would overwrite the other author's changes. So, your changes and those of the other author have been combined. The result is shown below."] = "Ihre Änderungen können so, wie sie sind, nicht gespeichert werden. Das hätte unzulässigerweise die bereits gesicherten Änderungen des anderen Autors überschrieben. Deshalb sind Ihre und die Änderungen des anderen Autors miteinander kombiniert worden. Das Ergebnis sehen Sie unten.";
+$locale["Your current rating: "] = "Deine Bewertung: ";
 $locale["Your home page has not been created yet so your preferences cannot not be saved."] = "Sie haben Ihre persönliche HomePage Seite noch nicht erstellt, deshalb können Ihre Einstellungen nicht gespeichert werden.";
 $locale["Your home page is locked so your preferences cannot not be saved."] = "Ihre persönliche HomePage Seite ist gesperrt, deshalb können Ihre Änderungen nicht gespeichert werden.";
 $locale["Your rating was %.1f"] = "Deine Bewertung war %.1f";
@@ -1244,13 +1267,11 @@
 $locale["from '%s'"] = "von %s";
 $locale["has edit conflicts - overwriting anyway"] = "hat unauflösbare Konflikte beim Speichern - wird ungeprüft überschrieben";
 $locale["has edit conflicts - skipped"] = "hat unauflösbare Konflikte beim Speichern - übersprungen";
-$locale["home page"] = "Start Seite";
 $locale["hours"] = "Stunden";
 $locale["http://www.example.com|optional label"] = "http://www.example.com|optionaler Name";
 $locale["incoming"] = "eingehend";
 $locale["individual page permission"] = "individuelles Zugriffsrecht";
 $locale["invalid %s ignored"] = "ungültiges %s ignoriert";
-$locale["invalid argument %s"] = "Ungültiger Parameter %s";
 $locale["latest comment by "] = "Letzter Kommentar von ";
 $locale["load files into this wiki"] = "um Seiten in dieses Wiki zu laden";
 $locale["lock this page"] = "um diese Seite zu sperren";
@@ -1263,12 +1284,11 @@
 $locale["minor edit"] = "geringfügige";
 $locale["minor edits"] = "Kleinere Änderungen";
 $locale["minutes"] = "Minuten";
-$locale["missing required version argument"] = "Parameter version muß angegeben werden";
+$locale["new pages"] = "neue Seiten";
 $locale["new window"] = "neues Fenster";
 $locale["newer than the existing page."] = "neuer als die bestehende Seite.";
 $locale["no RSS items"] = "keine RSS Einträge";
 $locale["no cache used"] = "kein Cache verwendet";
-$locale["no page content"] = "leerer Seiteninalt";
 $locale["no page specified"] = "Keine Seite angegeben";
 $locale["not affected"] = "nicht betroffen";
 $locale["not authenticated"] = "nicht authentifizierten";
@@ -1290,17 +1310,17 @@
 $locale["revert to a previous version of this page"] = "Zurückspeichern einer älteren Version dieser Seite.";
 $locale["revert to version %d"] = "Speichere Version %d zurück.";
 $locale["revision by previous author"] = "Revidierte Ausgabe des vorigen Autors";
-$locale["same version page"] = "selbe Version der Seite";
+$locale["same content"] = "gleiche Seiteninalt";
 $locale["saved as "] = "gespeichert als ";
 $locale["saved as %s"] = "gespeichert als %s";
 $locale["sent to %s"] = "an %s gesendet";
+$locale["skipped"] = "ausgelassen";
 $locale["stddev: %2.3f"] = "Standardabweichung: %2.3f";
 $locale["the file '%s'"] = "die Datei %s";
 $locale["the session.save_path directory '%s'"] = "das session.save_path Verzeichnis »%s«";
 $locale["to"] = "nach";
 $locale["to '%s'."] = "Gehe zu %s.";
 $locale["today"] = "heute";
-$locale["too long"] = "zu lang";
 $locale["total hits: %d"] = "Anzahl aller Seitenaufrufe %d";
 $locale["trailing cruft in plugin args: '%s'"] = "Überflüssiger Müll in den Zusatzprogramm Argumenten: »%s«";
 $locale["unknown color %s ignored"] = "unbekannte Farbe %s ignoriert";

Modified: trunk/src/plugins/wiki/www/locale/es/LC_MESSAGES/phpwiki.mo
===================================================================
(Binary files differ)

Modified: trunk/src/plugins/wiki/www/locale/es/LC_MESSAGES/phpwiki.php
===================================================================
--- trunk/src/plugins/wiki/www/locale/es/LC_MESSAGES/phpwiki.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/locale/es/LC_MESSAGES/phpwiki.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -2,7 +2,10 @@
 
 $locale[" ... around %s"] = " ... alrededor de %s";
 $locale[" ... first %d bytes"] = " ... primeros octetos de %d";
+$locale[" Skipped"] = "Saltado";
 $locale[" Sorry, cannot merge."] = " Apesadumbrado, no puede combinarse.";
+$locale[" and "] = " y ";
+$locale[" is identical."] = " es idéntico.";
 $locale["#"] = "#";
 $locale["%4d  %s\n"] = "%4d  %s\n";
 $locale["%d best incoming links: "] = "%d mejores enlaces de entrada: ";
@@ -12,6 +15,8 @@
 $locale["%d not-empty pages"] = "%d not-empty páginas";
 $locale["%d pages"] = "%d páginas";
 $locale["%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."] = "%s %s %s se rechaza en este wiki para el usuario '%s' de %s (llano:  %s).";
+$locale["%s KiB"] = "%s Kio";
+$locale["%s KiB (%s bytes)"] = "%s Kio (%s octetos)";
 $locale["%s at %s"] = "%s en %s";
 $locale["%s by %s"] = "%s por %s";
 $locale["%s bytes"] = "%s octetos";
@@ -21,7 +26,9 @@
 $locale["%s is disallowed on this wiki."] = "%s se rechaza en este wiki.";
 $locale["%s is empty"] = "%s es vacío";
 $locale["%s is missing"] = "%s falta";
+$locale["%s is not locked!"] = "¡%s no está bloqueado!";
 $locale["%s is not writable."] = "%s no es escribible.";
+$locale["%s not defined"] = "%s no definido";
 $locale["%s not found"] = "%s: fichero no encontrado";
 $locale["%s: %s"] = "%s: %s";
 $locale["%s: Bad action"] = "%s: Mala acción";
@@ -31,6 +38,7 @@
 $locale["%s: error while handling error:"] = "%s: error mientras que maneja error:";
 $locale["%s: file not found"] = "%s: fichero no encontrado";
 $locale["%s: no such class"] = "%s: ninguna tal clase";
+$locale["%s: no such revision %d."] = "%s: ninguna tal revisión %d.";
 $locale["%s: not a subclass of WikiPlugin."] = "%s: no una subclase de WikiPlugin.";
 $locale["%s: not defined"] = "%s: no definido";
 $locale["&version=-1 might help."] = "&version=-1 pudo ayudar.";
@@ -44,6 +52,7 @@
 $locale["... not copied to %s"] = "... non copia de [%s]";
 $locale["... not found"] = "... no encontrado";
 $locale["1 day"] = "1 día";
+$locale[":"] = ":";
 $locale[": "] = ": ";
 $locale["<empty>"] = "<vacío>";
 $locale["<no matches>"] = "<ningunos fósforos>";
@@ -55,12 +64,11 @@
 $locale["Access for you is forbidden to %s."] = "Tenga acceso para usted se prohíbe %s.";
 $locale["Add Comment"] = "Agregue El Comentario";
 $locale["Add this ACL"] = "Agregue este ACL";
-$locale["AddCategory"] = "AgregueCategoría";
-$locale["AddPageLink"] = "AgregueElAcoplamientoDeLaPágina";
-$locale["AddPlugin"] = "AgreguePlugin";
-$locale["AddTemplate"] = "AgregueLaPlantilla";
+$locale["Administration"] = "Administración";
 $locale["Administrators"] = "Administradores";
 $locale["All %s are listed below."] = "Todos los %s se enumeran abajo.";
+$locale["All pages"] = "Todas las Páginas";
+$locale["All users"] = "TodasLasUsuarios";
 $locale["AllPages"] = "TodasLasPáginas";
 $locale["AllUsers"] = "TodasLasUsuarios";
 $locale["Allow / Deny"] = "Permita/Niegue";
@@ -72,6 +80,7 @@
 $locale["Authenticated Users"] = "Usuarios Authenticados";
 $locale["Author will be logged as %s."] = "Registrarán al autor como %s.";
 $locale["BOGO"] = "BOGO";
+$locale["Back Links"] = "Acoplamientos Traseros";
 $locale["BackLinks"] = "AcoplamientosTraseros";
 $locale["BackLinks for %s"] = "AcoplamientosTraseros por %s";
 $locale["Bad file type: %s"] = "Mal tipo del archivo:  %s";
@@ -83,6 +92,7 @@
 $locale["CalendarList"] = "CalendarioLista";
 $locale["Cancel"] = "Cancelar";
 $locale["Cannot create directory '%s'"] = "No puede crear el directorio '%s'";
+$locale["Cannot create page with empty name!"] = "¡No se puede crear la página con el nombre de vacío!";
 $locale["Cannot open AUTH_GROUP_FILE %s"] = "No puede abrir AUTH_GROUP_FILE %s";
 $locale["Category"] = "Categoría";
 $locale["CategoryCategory"] = "CategoriaCategoria";
@@ -107,7 +117,9 @@
 $locale["Conflicting Edits!"] = "¡El Estar en conflicto Corrige!";
 $locale["Content"] = "Contenido";
 $locale["Convert"] = "Convertido";
+$locale["Could not connect to LDAP host %s"] = "No podía conectar con LDAP %s";
 $locale["Couldn't connect to %s"] = "No podía conectar con %s";
+$locale["Create Page"] = "Cree la Página";
 $locale["Create a Wiki page."] = "Cree una página de Wiki.";
 $locale["Create a new (sub)page"] = "Cree una página (secundaria) nueva";
 $locale["Create: %s"] = "Cree: %s";
@@ -122,34 +134,43 @@
 $locale["Default preferences will be used."] = "Las preferencias del defecto serán utilizadas.";
 $locale["Del/+"] = "-/+";
 $locale["Delete this ACL"] = "Suprima este ACL";
+$locale["Deleted"] = "Borrada";
 $locale["Describe %s here."] = "Describe %s aquí.";
 $locale["Description"] = "Descripción";
 $locale["Diff"] = "Diferencia";
 $locale["Diff: %s"] = "Diferencia de: %s";
 $locale["Differences between %s and %s of %s."] = "Diferencias entre %s y %s de %s.";
 $locale["Discussion"] = "Discusión";
+$locale["Display the list of relations and attributes on this page."] = "Mostrar la lista de las relaciones y atributos en esta página.";
+$locale["Download page contents"] = "Descargue el contenido de la página";
 $locale["Dump pages as XHTML"] = "Páginas de la descarga como XHTML";
 $locale["Dump to directory"] = "Descarga al directorio";
 $locale["Dumping Pages"] = "Descargar Las Páginas";
+$locale["E-mail Notification"] = "Verificación Del Email";
+$locale["E-mail address '%s' is not properly formatted"] = "La dirección '%s' del email no se ajusta a formato correctamente";
+$locale["E-mail address '%s' is properly formatted"] = "La dirección '%s' del email se ajusta a formato correctamente";
+$locale["E-mail address confirmation"] = "Verificación Del Email";
 $locale["Edit"] = "Editar";
 $locale["Edit %s"] = "Editar %s";
-$locale["Edit old revision"] = "Corrija versión archivada";
 $locale["Edit this page"] = "Corrija esta página";
 $locale["Edit this page and all subpages"] = "Corrija esta página y todas las páginas secundaria";
 $locale["Edit: %s"] = "Editar: %s";
 $locale["EditText"] = "Editar";
 $locale["Edited by: %s"] = "Editar: %s";
 $locale["Either %s is missing or DATABASE_TYPE != '%s'"] = "Cualquier %s es que falta o DATABASE_TYPE != '%s'";
-$locale["Email Verification"] = "Verificación Del Email";
 $locale["Empty Preferences or format of UserPreferences cookie not recognised."] = "Preferencias o formato vacías de la galleta de UsuarioPreferencias no reconocido.";
 $locale["Empty link to: %s"] = "Acoplamiento vacío a: %s";
 $locale["Empty pagename!"] = "¡Escriba un nombre de página!";
 $locale["Every"] = "Cada";
+$locale["External"] = "Externos";
 $locale["External Links"] = "Acoplamientos Externos";
 $locale["External link (remember http:// prefix)"] = "Acoplamiento externo (recuerde http://  prefijo)";
 $locale["External links contain blocked domains:"] = "Los acoplamientos externos contienen dominios bloqueados:";
 $locale["FORBIDDEN"] = "PROHIBIDO";
+$locale["Failed to connect to LDAP host"] = "Incapaz conectar con el servidor de LDAP";
 $locale["Fatal PhpWiki Error"] = "Error Fatal De PhpWiki";
+$locale["File '%s' not found."] = "Fichero '%s' no encontrado.";
+$locale["Find page"] = "Buscar Página";
 $locale["FindPage"] = "BuscarPágina";
 $locale["First"] = "Primera";
 $locale["Full text search results for '%s'"] = "Resultados de la búsqueda en el texto completo para '%s'";
@@ -175,7 +196,8 @@
 $locale["Help/UnfoldSubpagesPlugin"] = "Ayuda/IncluyaPáginasSecundariaPlugin";
 $locale["Help/UpLoadPlugin"] = "Ayuda/UpLoadPlugin";
 $locale["Hits"] = "Número de hits";
-$locale["Hits:"] = "Número de hits:";
+$locale["Home"] = "PáginaPrincipal";
+$locale["Home Page"] = "Página Principal";
 $locale["HomePage"] = "PáginaPrincipal";
 $locale["HomePageAlias"] = "PáginaPrincipalAlias";
 $locale["Horizontal line"] = "Linea horizontal";
@@ -186,6 +208,7 @@
 $locale["Image map expired. Reload wiki page to recreate its html part."] = "El mapa de imagen expiró.  Recargue la página del wiki para reconstruir su pieza del HTML.";
 $locale["In the time since you started editing this page, another user has saved a new version of it."] = "En el tiempo desde que usted comenzó a corregir esta página, otro usuario ha ahorrado una nueva versión de ella.";
 $locale["Included from %s"] = "Inserción de '%s'";
+$locale["Included from %s (revision %d)"] = "Inserción de '%s' (revisión %d)";
 $locale["Included from %s:"] = "Inserción de '%s':";
 $locale["Info"] = "Informacion";
 $locale["Insert"] = "Relleno";
@@ -208,13 +231,14 @@
 $locale["Last Author"] = "Autor Pasado";
 $locale["Last Modified"] = "modificado por última vez";
 $locale["Last Summary"] = "Comentarios";
-$locale["Last edited %s"] = "Editada por última vez %s.";
 $locale["Last edited on %s"] = "Editada por última vez %s.";
 $locale["LatestSnapshot"] = "La Foto Más última";
 $locale["Level 1 headline"] = "Título del nivel 1";
 $locale["Link to page"] = "Acoplamiento a la página";
 $locale["List all pages which link to %s."] = "Enumere todas las páginas que se liguen a %s.";
+$locale["List of changes on all pages which are linked to from this page."] = "Enumere todas las páginas que se liguen a esta página.";
 $locale["List the most popular pages."] = "Las páginas más populares.";
+$locale["List the most popular tags."] = "Las tags más populares.";
 $locale["List the user's ratings."] = "Enumere los grados del usuario.";
 $locale["List this page and all subpages"] = "Enumere esta página y todas las páginas secundaria";
 $locale["ListPages"] = "ListaPáginas";
@@ -239,10 +263,15 @@
 $locale["ModeratedPage"] = "PáginaModerada";
 $locale["Modern"] = "Moderno";
 $locale["Modified"] = "modificado";
+$locale["Modified on %s by %s"] = "Comentario modificado en %s por %s";
 $locale["MostPopular"] = "MasPopulares";
+$locale["My Changes"] = "Mis Cambios";
+$locale["My Preferences"] = "Mis Preferencias";
+$locale["MyRecentChanges"] = "Mis Cambios Recientes";
 $locale["Name"] = "Nombre de la Página";
 $locale["Never edited"] = "Nunca corregido";
 $locale["New page"] = "Página nueva";
+$locale["New pages only"] = "Página nueva sólo";
 $locale["New password"] = "Nueva Contraseña";
 $locale["Newer page:"] = "Página más nueva:";
 $locale["Next"] = "Siguiente";
@@ -267,17 +296,25 @@
 $locale["Overwrite All"] = "Sobreescriba Todos";
 $locale["Owner"] = "Dueño";
 $locale["Owner: %s"] = "Dueño: %s";
+$locale["Page"] = "Página";
 $locale["Page %s not found."] = "%s: Página no encontrado.";
+$locale["Page '%s' does not exist"] = "La página '%s' no existe";
+$locale["Page '%s' does not exist."] = "La página '%s' no existe.";
 $locale["Page Content: "] = "Contenido De la Página: ";
+$locale["Page Info"] = "Informacion de la Pagina";
 $locale["Page Locked"] = "Página Bloqueada";
 $locale["Page Name"] = "Nombre de la Página";
-$locale["Page Version:"] = "Versión:";
+$locale["Page Version"] = "Versión de la página";
 $locale["Page change"] = "Cambio de la página";
+$locale["Page dump"] = "Descarge de la Página";
+$locale["Page info"] = "Informacion de la Pagina";
+$locale["Page name too long"] = "La nombre de página demasiado de largo";
 $locale["Page now locked."] = "Página bloqueada.";
 $locale["Page now unlocked."] = "Página desbloquear.";
 $locale["Page rename %s to %s"] = "La página retitula %s a %s";
 $locale["Page successfully updated."] = "Página actualizada con éxito.";
 $locale["PageChange Notification Error: Couldn't send %s to %s"] = "Error De la Notificación Del Cambio De la Página: No podía enviar %s a %s";
+$locale["PageChange Notification of %s"] = "Pagine la notificación del cambio de %s";
 $locale["PageChange Notification of %s sent to %s"] = "Pagine la notificación del cambio de %s enviado a %s";
 $locale["PageDump"] = "DescargeDeLaPágina";
 $locale["PageInfo"] = "InformacionDeLaPagina";
@@ -285,6 +322,7 @@
 $locale["Password updated."] = "Contraseña actualizado.";
 $locale["Password was not changed."] = "Contraseña non actualizado.";
 $locale["Password:"] = "Contraseña:";
+$locale["Past versions of this page."] = "Versión anterior de esta página";
 $locale["PersonalPage login method:"] = "Método de la conexión de PersonalPage:";
 $locale["PhpWikiAdministration"] = "AdministraciónDePhpWiki";
 $locale["Please check it through before saving."] = "Compruébelo por favor a través antes de ahorrar.";
@@ -296,6 +334,7 @@
 $locale["Plugin %s disabled."] = "Plugin '%s' lisiado.";
 $locale["Plugin %s failed."] = "Plugin '%s' falló.";
 $locale["Plugin %s: undefined"] = "Plugin %s: indefinido";
+$locale["Plugin '%s' does not exist."] = "Plugin '%s' no existe.";
 $locale["Preferences"] = "Preferencias";
 $locale["Preview"] = "Previsualizar";
 $locale["Previous"] = "Anterior";
@@ -304,26 +343,39 @@
 $locale["Previous Month"] = "Mes Anterior";
 $locale["Previous Revision"] = "Versión archivada";
 $locale["Printer"] = "Impresora";
+$locale["Purged page '%s' successfully."] = "Página '%s' borrada satisfactoriamente.";
 $locale["Quick Search"] = "Busqueda rápida";
+$locale["Random Page"] = "Página al Azar";
 $locale["RandomPage"] = "PáginaAlAzar";
+$locale["Rating"] = "Grados";
+$locale["Recent Changes"] = "Cambios Recientes";
 $locale["Recent Edits"] = "Reciente Corrige";
+$locale["Recent changes"] = "Cambios Recientes";
+$locale["Recent comments"] = "Comentarios Recientes";
 $locale["RecentChanges"] = "CambiosRecientes";
 $locale["RecentComments"] = "ComentariosRecientes";
 $locale["RecentEdits"] = "RecienteCorrige";
 $locale["References"] = "Referencias";
 $locale["Related Changes"] = "Cambios Relacionados";
 $locale["Related Links"] = "Acoplamientos Relacionados";
+$locale["Related changes"] = "Cambios Relacionados";
 $locale["RelatedChanges"] = "CambiosRelacionados";
+$locale["Relation"] = "Relación";
+$locale["Relations"] = "Relaciones";
 $locale["Remove"] = "Quite";
 $locale["Remove Page"] = "Borrar Página";
 $locale["Remove this page"] = "Quite esta página";
 $locale["Removed page '%s' successfully."] = "Página '%s' borrada satisfactoriamente.";
 $locale["Removing pages"] = "Borrar páginas";
 $locale["Rename"] = "Retitule";
+$locale["Renamed page from '%s' to '%s'."] = "retitulado de '%s' para '%s'.";
+$locale["Replace"] = "Substituya";
 $locale["Replace with"] = "Substituya por";
+$locale["Reset password of user: "] = "Restablecimiento de la contraseña de usuario: ";
 $locale["Restore Anyway"] = "Restore de todos modos";
 $locale["Return to %s"] = "Vuelva a %s";
 $locale["Revert"] = "Invierta";
+$locale["Revert: %s"] = "Invierta: %s";
 $locale["Revision Not Found"] = "Revisión No encontrada";
 $locale["SandBox"] = "CajaDeArena";
 $locale["Save"] = "Guardar";
@@ -332,6 +384,8 @@
 $locale["Search"] = "Buscar";
 $locale["Search & Replace"] = "Busque Y Substituya";
 $locale["Search for"] = "Buscar";
+$locale["Search relations and attributes"] = "Buscar relaciones y atributos";
+$locale["Search:"] = "Buscar:";
 $locale["SearchReplace"] = "Busque Y Substituya";
 $locale["See %s tips for editing."] = "%s tips para editar.";
 $locale["Serialized file %s"] = "Archivo serializado %s";
@@ -343,13 +397,13 @@
 $locale["Sign Out"] = "Registro Hacia fuera";
 $locale["Signed Users"] = "Usuarios Firmados";
 $locale["Size"] = "Tamaño";
-$locale["Size:"] = "Tamaño:";
 $locale["Skipped."] = "Saltado.";
 $locale["Skipping"] = "El saltar";
 $locale["Some internal editing error"] = "Un cierto error interno el corregir";
 $locale["Some of the changes could not automatically be combined.  Please look for sections beginning with '%s', and ending with '%s'.  You will need to edit those sections by hand before you click Save."] = "Algunos de los cambios no podían ser combinados automáticamente. Busque por favor las secciones que comienzan con '%s', y terminando con '%s'. Usted necesitará corregir esas secciones a mano antes de que usted chasque excepto.";
 $locale["Someone has edited the page!"] = "¡Alguien ha modificado la página!";
 $locale["Sorry for the inconvenience."] = "Disculpe la inconveniencia.";
+$locale["Sorry, this page does not exist."] = "Apesadumbrada, esta página no está en la base de datos.";
 $locale["Sort by %s"] = "Clase por %s";
 $locale["Spam Prevention"] = "Prevención Del Spam";
 $locale["SpamAssassin reports: "] = "Informes de SpamAssassin: ";
@@ -358,9 +412,11 @@
 $locale["Summary"] = "Comentarios";
 $locale["Supported handlers are: %s"] = "Los tratantes apoyados son: %s";
 $locale["Synopsis"] = "Sinopsis";
+$locale["Table of Contents"] = "Tabla de contenidos";
 $locale["Template"] = "Plantilla";
 $locale["TextFormattingRules"] = "ReglasDeFormatoDeTexto";
 $locale["Thank you for editing %s."] = "Gracias por editar %s.";
+$locale["Thanks for adding this translation!"] = "¡Gracias por la adición de esta traducción!";
 $locale["Thanks for participating!"] = "Gracias!";
 $locale["The %d most popular pages of this wiki:"] = "Las %d páginas más populares de este wiki:";
 $locale["The %d most recent %s are listed below."] = "Los %d la mayoría del %s reciente se enumeran abajo.";
@@ -382,10 +438,16 @@
 $locale["This action requires moderator approval. Please be patient."] = "Esta acción requiere la aprobación del asesor.  Sea por favor paciente.";
 $locale["This is a minor change."] = "Esto es un cambio pequeño.";
 $locale["This page edit seems to contain spam and was therefore not saved."] = "Esta página corrige se parece contener el Spam y por lo tanto no fue ahorrada.";
+$locale["This page has been locked and cannot be edited."] = "Esta página ha sido bloqueada y no puede ser editada.";
 $locale["This page has been locked by the administrator so your changes can not be saved."] = "Esta página ha sido bloqueada por el administrador y no puede ser editada.";
+$locale["This revision of the page does not exist."] = "Esta revisión de la página no existe.";
 $locale["Time Zone"] = "Zona Horaria";
+$locale["Title 1"] = "Título 1";
+$locale["Title 2"] = "Título 2";
+$locale["Title 3"] = "Título 3";
 $locale["Title Search"] = "Una búsqueda de títulos";
 $locale["Title search results for '%s'"] = "Resultados de la búsqueda en el títulos '%s'";
+$locale["Title search results for '%s' (%d total)"] = "Resultados de la búsqueda en el títulos '%s' (%d total)";
 $locale["TitleSearch"] = "BúsquedaDeTítulos";
 $locale["Today"] = "Hoy";
 $locale["Too many external links."] = "También muchos acoplamientos externos.";
@@ -413,15 +475,19 @@
 $locale["UpLoad"] = "UpLoad";
 $locale["Upgrade"] = "Mejora";
 $locale["Upload File"] = "Archivo Del Upload";
+$locale["Upload error: file only partially received"] = "Error del upload: el archivo recieved solamente parcialmente";
 $locale["Upload error: file too big"] = "Error del upload: archivo demasiado grande";
 $locale["Upload error: no file selected"] = "Error del upload: ningún archivo seleccionado";
 $locale["Upload error: unknown error #"] = "Error del upload: error desconocido #";
 $locale["Uploading %s"] = "%s uploading";
+$locale["User %s removed page %s"] = "El usuarios %s eliminado página %s";
+$locale["User preferences for user %s"] = "Preferencias por usuario '%s'";
 $locale["UserPreferences"] = "UsuarioPreferencias";
 $locale["UserRatings"] = "GradosUsuario.";
 $locale["Users will not be able to sign in."] = "Los usuarios no podrán firmar adentro.";
 $locale["Using directory '%s'"] = "Usando el directorio '%s'";
 $locale["Version"] = "Versión";
+$locale["Version "] = "Versión ";
 $locale["Version %d"] = "Versión %d";
 $locale["Version %s"] = "Versión %s";
 $locale["Version %s, saved on %s"] = "versión %s de %s";
@@ -429,14 +495,18 @@
 $locale["View Source"] = "Vea la fuente";
 $locale["View Source: %s"] = "Fuente De la Visión: %s";
 $locale["View the current version"] = "Vea la versión actual";
+$locale["View the current version."] = "Vea la versión actual.";
 $locale["View this page and all subpages"] = "Opinión esta página y todas las páginas secundaria";
 $locale["W"] = "An";
 $locale["WARNING: InterWikiMap page is unlocked, so not using those links."] = "ADVERTENCIA: Se abre la página de InterMapaDeWiki, tan no usando esos acoplamientos.";
 $locale["Welcome to %s!\nYour email account is verified and\nwill be used to send page change notifications.\nSee %s"] = "¡Recepción a %s!\nSe verifica y será utilizada su cuenta del email\npara enviar notificaciones del cambio de la página.\nVea %s";
 $locale["Width"] = "Anchura";
+$locale["Wiki Admin"] = "Administración de Wiki";
 $locale["Wiki Name"] = "Nombre de la Wiki";
 $locale["WikiDB::renamePage() not yet implemented for this backend"] = "WikiDB::renamePage() no todavía puesto en ejecucio'n para este backend";
 $locale["Yes"] = "Si";
+$locale["You are about to purge '%s'!"] = "¡Usted está a punto de eliminar '%s'!";
+$locale["You are about to remove '%s'!"] = "¡Usted está a punto de eliminar '%s'!";
 $locale["You forgot to set ENCRYPTED_PASSWD to true. Please update your config/config.ini"] = "Usted se olvidó de fijar ENCRYPTED_PASSWD para verdad. Ponga al día por favor su config/config.ini";
 $locale["You must be an administrator to %s."] = "Usted debe ser administrador %s.";
 $locale["You must sign in to %s."] = "Usted debe firmar adentro %s.";
@@ -458,6 +528,7 @@
 $locale["access this wiki via XML-RPC"] = "para tener acceso a este wiki vía Xml-RPC";
 $locale["add "] = "agregue ";
 $locale["authenticated"] = "authenticado";
+$locale["by"] = "por";
 $locale["by %s"] = "por %s";
 $locale["cached pagedata:"] = "Página archivada:";
 $locale["content is identical to current version %d - no new revision created"] = "el contenido es idéntico a la versión actual %d - ninguna nueva revisión creada";
@@ -472,6 +543,9 @@
 $locale["dump html pages"] = "para las páginas del HTML de la descarga";
 $locale["dump serial pages"] = "para las páginas del cuento por entregas de la descarga";
 $locale["edit this page"] = "para corregir esta página";
+$locale["external"] = "Externos";
+$locale["file %s is not writable"] = "fichero %s no es escribible";
+$locale["file %s not found"] = "fichero %s no encontrado";
 $locale["fixed"] = "fijo";
 $locale["from %s"] = "de %s";
 $locale["has edit conflicts - overwriting anyway"] = "tiene corregir conflictos - sobreescribiendo de todos modos";
@@ -483,24 +557,25 @@
 $locale["locked"] = "bloqueada";
 $locale["minor"] = "de menor importancia";
 $locale["minutes"] = "minutas";
-$locale["missing required version argument"] = "parámetro requerido de la versión que falta";
-$locale["no page content"] = "ningún contenido de la página";
+$locale["new pages"] = "páginas nuevas";
 $locale["not authenticated"] = "non authenticado";
+$locale["page not locked"] = "página no está bloqueada";
 $locale["plain file %s"] = "archivo llano %s";
 $locale["predecessor to the previous major change"] = "precursor al cambio principal anterior";
 $locale["previous revision"] = "versión archivada";
 $locale["remove this page"] = "para quitar esta página";
+$locale["rename %s to %s"] = "retitula %s a %s";
 $locale["renamed from %s"] = "retitulado de %s";
+$locale["reverse"] = "invierta";
 $locale["revert to a previous version of this page"] = "para invertir a una versión anterior de esta página";
 $locale["revert to version %d"] = "invierta a la versión %d";
 $locale["revision by previous author"] = "revisión del autor anterior";
-$locale["same version page"] = "la misma página de la versión";
+$locale["same content"] = "mismo contenido";
 $locale["saved as "] = "ahorrado como ";
 $locale["saved as %s"] = "ahorrado como %s";
 $locale["the file '%s'"] = "el archivo %s";
 $locale["the session.save_path directory '%s'"] = "el directorio '%s' de session.save_path";
 $locale["today"] = "hoy";
-$locale["too long"] = "demasiado de largo";
 $locale["trailing cruft in plugin args: '%s'"] = "absurdo que se arrastra en parámetros plugin: '%s'";
 $locale["unknown color %s ignored"] = "el color desconocido %s no hizo caso";
 $locale["unlock this page"] = "para desbloquear página";
@@ -509,6 +584,7 @@
 $locale["verify the current action"] = "para verificar la acción actual";
 $locale["version %d"] = "versión %d";
 $locale["version %s"] = "versión %s";
+$locale["version <em>%s</em>"] = "versión <em>%s</em>";
 $locale["view the source of this page"] = "para visión la fuente de esta página";
 $locale["view this page"] = "para visión esta página";
 $locale["weeks"] = "semanas";

Modified: trunk/src/plugins/wiki/www/locale/fr/LC_MESSAGES/phpwiki.mo
===================================================================
(Binary files differ)

Modified: trunk/src/plugins/wiki/www/locale/fr/LC_MESSAGES/phpwiki.php
===================================================================
--- trunk/src/plugins/wiki/www/locale/fr/LC_MESSAGES/phpwiki.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/locale/fr/LC_MESSAGES/phpwiki.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,6 @@
 <?php
 
+$locale[" (non %s users)."] = " (hors %s).";
 $locale[" (syntax error for latex) "] = " (erreur de syntaxe pour latex) ";
 $locale[" (to pages linked from \"%s\")"] = " (aux pages liées à \"%s\")";
 $locale[" - %d / %d - "] = " - %d / %d - ";
@@ -9,7 +10,7 @@
 $locale[" Additionally, try to keep the latest contributions of all authors in the last %d days (even if there are more than %d of them,) but in no case keep more than %d unique author revisions."] = "De plus, essayez de conserver les dernières contributions de tous les auteurs depuis les %d derniers jours (même s'il y en a plus que %d), mais ne conservez en aucun cas plus que %d versions par auteur.";
 $locale[" Keep the latest contributions of the last %d authors up to %d days."] = "Garder les dernières contributions des derniers %d auteurs jusqu'à %d jours.";
 $locale[" Keep up to %d minor edits, but keep them no longer than %d days."] = "Garder jusqu'à %d édition mineures, mais pas plus que %d jours.";
-$locale[" Skipped"] = "Ignoré.";
+$locale[" Skipped"] = "Ignoré";
 $locale[" Sorry, cannot merge."] = " Désolé, impossible de fusionner.";
 $locale[" and "] = " et ";
 $locale[" for all pages linking to %s"] = " pour les pages liées à %s.";
@@ -51,7 +52,7 @@
 $locale["%s does not know about the language '%s', using 'en' instead."] = "%s ne connait pas le langage '%s', utilisation de 'en' a la place.";
 $locale["%s has no subpages defined."] = "La page %s n'a aucune sous-page définie.";
 $locale["%s is disallowed on this wiki."] = "L'action %s est interdite sur ce wiki.";
-$locale["%s is empty"] = "%s est vide.";
+$locale["%s is empty"] = "%s est vide";
 $locale["%s is empty."] = "%s est vide.";
 $locale["%s is missing"] = "%s est manquant";
 $locale["%s is not locked!"] = "%s n'est pas verrouillé!";
@@ -74,11 +75,10 @@
 $locale["%s: argument index out of range"] = "%s : index d'argument hors intervalle";
 $locale["%s: error while handling error:"] = "%s : erreur pendant la gestion de l'erreur :";
 $locale["%s: file not found"] = "%s : fichier non trouvé";
-$locale["%s: no such class"] = "<%s : pas de section de ce type>";
+$locale["%s: no such class"] = "%s : classe inexistante";
 $locale["%s: no such revision %d."] = "%s(%d) : version inexistante";
-$locale["%s: not a subclass of WikiPlugin."] = "%s n'est pas une sous classe de WikiPlugin.";
+$locale["%s: not a subclass of WikiPlugin."] = "%s n'est pas une sous-classe de WikiPlugin.";
 $locale["%s: not defined"] = "%s : non défini";
-$locale["' in page name."] = "' dans le nom de la page.";
 $locale["'%s': Bad page name"] = "'%s' : nom de page non valide";
 $locale["'%s': corrupt file"] = "'%s' : ce fichier est abîmé";
 $locale["(%d Links)"] = "(%d liens)";
@@ -101,6 +101,7 @@
 $locale["... not found"] = "... non trouvé";
 $locale["1 day"] = "1 jour";
 $locale["1 word"] = "1 mot";
+$locale[":"] = " :";
 $locale[": "] = " : ";
 $locale["<%s: no such section>"] = "<%s : pas de section de ce type>";
 $locale["<empty>"] = "<vide>";
@@ -111,12 +112,12 @@
 $locale["<system theme>"] = "<thème du système>";
 $locale["<unknown>"] = "<inconnu>";
 $locale["A plugin to provide for raw HTML within wiki pages."] = "Un Plugin pour intégrer du code HTML dans les WikiPages.";
+$locale["A required argument '%s' is missing."] = "L'argument obligatoire « %s » manque.";
 $locale["ACCESS DENIED: You must log in to upload files."] = "ACCES REFUSE: Vous devez être connecté pour uploader.";
 $locale["ACL"] = "ACL";
 $locale["ACL changed for page '%s'"] = "ACL modifié pour la page %s.";
 $locale["ACL not changed for page '%s'."] = "ACL inchangé pour la page %s.";
-$locale["ACL type:"] = "Type d'ACL :";
-$locale["ACL:"] = "ACL :";
+$locale["ACL type"] = "Type d'ACL";
 $locale["ADDING"] = "AJOUT";
 $locale["ADMIN"] = "ADMIN";
 $locale["ANON"] = "ANONYME";
@@ -127,21 +128,15 @@
 $locale["Access denied to rename page '%s'."] = "Accès refusé pour renommer la page '%s'.";
 $locale["Access for you is forbidden to %s."] = "L'accès à %s vous est interdit.";
 $locale["Action Page"] = "Page d'action";
-$locale["Action page"] = "Page d'action";
+$locale["Add %s"] = "Ajouter %s";
 $locale["Add %s hours to the server's local time when reporting times."] = "Ajouter %s heures à l'heure locale du serveur pour afficher les horodatages.";
-$locale["Add %s:"] = "Ajouter %s :";
 $locale["Add Comment"] = "Ajouter un commentaire";
 $locale["Add Entry"] = "Ajouter une entrée";
 $locale["Add Google links to unknown pages behind the '?', and the create action behind the pagename instead. See %s."] = "Ajouter un liens vers Google pour les pages inconnues derrière le '?', et l'action de création. Voir %s.";
-$locale["Add Image or Video"] = "Ajouter une image ou une vidéo";
 $locale["Add Message"] = "Ajouter un message";
 $locale["Add or change a page-level metadata 'key=>value' pair. Note that you can remove a key by leaving the value-box empty."] = "Ajouter ou changer le niveau de page 'key=>value'. Notez que vous pouvez supprimer une clé en lui attribuant une valeur nulle.";
 $locale["Add this ACL"] = "Ajouter cette ACL";
-$locale["AddCategory"] = "Ajouter une catégorie";
 $locale["AddComment"] = "AjouterDesCommentaires";
-$locale["AddPageLink"] = "Insérer un lien";
-$locale["AddPlugin"] = "Insérer un greffon";
-$locale["AddTemplate"] = "Ajouter un modèle";
 $locale["Adjust"] = "Ajuster";
 $locale["Admin"] = "Administration";
 $locale["Admin is also online."] = "L'administrateur est aussi en ligne.";
@@ -175,7 +170,7 @@
 $locale["Approve"] = "Approuver";
 $locale["Archives"] = "Archives";
 $locale["Are you sure you want to change the owner of the selected pages?"] = "Êtes-vous sûr de vouloir changer le propriétaire des pages sélectionnées ?";
-$locale["Are you sure you want to permanently change access rights to the selected files?"] = "Ëtes-vous sûr de vouloir définitivement modifier l'accès aux fichiers sélectionnés ?";
+$locale["Are you sure you want to permanently change access rights to the selected files?"] = "Êtes-vous sûr de vouloir définitivement modifier l'accès aux fichiers sélectionnés ?";
 $locale["Are you sure you want to permanently change the selected files?"] = "Êtes-vous sûr de vouloir modifier de manière permanente les fichiers sélectionnés ?";
 $locale["Are you sure you want to permanently purge the following files?"] = "Êtes-vous sûr de vouloir purger définitivement les pages suivantes ?";
 $locale["Are you sure you want to remove the selected files?"] = "Êtes-vous certain de vouloir supprimer les fichiers sélectionnés ?";
@@ -199,12 +194,13 @@
 $locale["AuthorHistory"] = "HistoriqueAuteur";
 $locale["Available plugins"] = "Greffons disponibles";
 $locale["Avg. Rating"] = "Note moyenne";
-$locale["BAD URL -- remove all of <, >, \""] = "MAUVAIS URL -- retirez tous les <, >, \"";
 $locale["BOGO"] = "BOGO";
 $locale["Back"] = "Retour";
 $locale["Back Links"] = "Pages liées";
 $locale["BackLinks"] = "RétroLiens";
 $locale["BackLinks for %s"] = "Page liées à %s";
+$locale["Bad URL -- remove all of <, >, \""] = "Mauvaise URL -- retirez tous les <, >, \"";
+$locale["Bad URL for image -- remove all of <, >, \""] = "Mauvaise URL pour l'image -- retirez tous les <, >, \"";
 $locale["Bad Version"] = "Mauvaise version";
 $locale["Bad file type: %s"] = "Mauvais type de fichier : %s";
 $locale["Bad url in src: remove all of <, >, \""] = "Mauvaise url dans la source : retirez tous les <, >, \"";
@@ -226,7 +222,6 @@
 $locale["Can't open zip file '%s' for reading"] = "Impossible d'ouvrir le fichier zip '%s' en lecture";
 $locale["Cancel"] = "Annuler";
 $locale["Cancel your rating"] = "Annuler la notation";
-$locale["Cancelled"] = "Annulé";
 $locale["Cannot create directory '%s'"] = "Impossible de créer le répertoire : « %s »";
 $locale["Cannot open AUTH_GROUP_FILE %s"] = "Impossible d'ouvrir AUTH_GROUP_FILE %s";
 $locale["Case exact?"] = "respect de la casse";
@@ -258,9 +253,9 @@
 $locale["Check for extra page.cached_html column"] = "recherche une extra colonne page.cached_html";
 $locale["Check for new session.sess_ip column"] = "recherche une nouvelle colonne session.sess_ip";
 $locale["Check for table %s"] = "vérifie la table %s";
-$locale["Check if you do not want to be notified of minor modifications."] = "Cochez la case si vous ne voulez pas recevoir les modifications mineures";
+$locale["Check if you do not want to be notified of minor modifications."] = "Cochez la case si vous ne voulez pas recevoir les modifications mineures.";
 $locale["Check if you do not want to be notified of your own modifications."] = "Cochez la case si vous ne voulez pas recevoir vos propres modifications.";
-$locale["Check menu items to display."] = "Cliquez les éléments de menu à afficher";
+$locale["Check menu items to display."] = "Cochez les éléments de menu à afficher.";
 $locale["Check to add this ACL"] = "Cocher pour ajouter cette ACL";
 $locale["Check you are a member of the current project."] = "Vous êtes déjà membre de ce projet.";
 $locale["Check you are in the right project."] = "Vérifiez que vous êtes dans le bon projet.";
@@ -287,9 +282,14 @@
 $locale["Comments"] = "Commentaires";
 $locale["Comments on %s by %s."] = "Commentaire le %s par %s.";
 $locale["Complete."] = "Terminé.";
+$locale["Confirm markup change"] = "Confirmer le changement de type de syntaxe";
+$locale["Confirm ownership change"] = "Confirmer le changement de propriétaire";
+$locale["Confirm purge"] = "Confirmer la purge";
+$locale["Confirm removal"] = "Confirm la suppression";
 $locale["Conflicting Edits!"] = "Modifications conflictuelles !";
 $locale["Content"] = "Contenu";
 $locale["Content of versions "] = "Contenu des versions ";
+$locale["Content of versions %1$s and %2$s is identical."] = "Le contenu des versions %1\$s et %2\$s est identique.";
 $locale["Contents"] = "Contenu";
 $locale["ContributedTranslations"] = "TraductionsContribuées";
 $locale["Convert"] = "Convertir";
@@ -356,8 +356,8 @@
 $locale["Displays a list of randomly chosen pages or redirects to a random page."] = "Affiche une liste de pages prises au hasard sur ce wiki.";
 $locale["Displays a set of photos listed in a text file with optional descriptions"] = "Affiche un groupe de photos listées dans un fichier texte avec des descriptions facultatives.";
 $locale["Displays a url in a seperate frame inside our body. Only one frame allowed."] = "Affiche une url dans une cadre interne à la page. Un seul cadre autorisé.";
-$locale["Do not send minor modifications:"] = "Ne pas envoyer les modifications mineures :";
-$locale["Do not send my own modifications:"] = "Ne pas envoyer mes propres modifications :";
+$locale["Do not send minor modifications"] = "Ne pas envoyer les modifications mineures";
+$locale["Do not send my own modifications"] = "Ne pas envoyer mes propres modifications";
 $locale["Do you %s want to add this page \"%s\" to your WatchList?"] = "Voulez-vous %s ajouter la page « %s » à votre liste de suivi ?";
 $locale["Do you really want to create the page '%s'?"] = "Voulez-vous réellement crééer la page '%s' ?";
 $locale["Do you really want to reset all your UserPreferences?"] = "Voulez-vous réellement réinitialiser toutes vos préférences ?";
@@ -378,22 +378,20 @@
 $locale["Dumping html pages"] = "Récupération des pages HTML";
 $locale["Dumping serial pages"] = "Récupération des pages sérialisées";
 $locale["Dynamically include the content from another wiki page."] = "Inclure dynamiquement le texte d'une autre PageWiki.";
-$locale["E-Mail"] = "Adresse électronique";
-$locale["E-Mail address confirmation"] = "Vérification de l'adresse électronique";
 $locale["E-mail"] = "Adresse électronique";
 $locale["E-mail Notification"] = "Courriel de notification";
 $locale["E-mail address '%s' is not properly formatted"] = "L'adresse électronique '%s' ne semble pas être bien formée.";
 $locale["E-mail address '%s' is properly formatted"] = "L'adresse électronique '%s' semble être bien formée.";
+$locale["E-mail address confirmation"] = "Vérification de l'adresse électronique";
 $locale["ERROR uploading '%s'"] = "ERREUR en déposant '%s' : ";
-$locale["ERROR: No email defined! You need to do this in your "] = "ERREUR : pas d'adresse électronique definie! Vous devez le faire dans vos ";
+$locale["ERROR: No email defined! You need to do this in your "] = "ERREUR : pas d'adresse électronique définie! Vous devez le faire dans vos ";
 $locale["Easy navigation buttons for %s"] = "Boutons de navigation rapide pour %s";
 $locale["Edit"] = "Modifier";
 $locale["Edit %s"] = "Éditer %s";
 $locale["Edit Area Size"] = "Modifier la taille de la zone";
-$locale["Edit Old Revision"] = "Modifier une ancienne version";
+$locale["Edit Old Revision"] = "Modifier l'ancienne version";
 $locale["Edit aborted."] = "Modification annulée.";
 $locale["Edit metadata for %s"] = "Éditer les métadonnées pour %s";
-$locale["Edit old revision"] = "Modifier l'ancienne version";
 $locale["Edit this page"] = "Modifier cette page";
 $locale["Edit this page and all subpages"] = "Modifier cette page et toutes ses sous-pages";
 $locale["Edit: %s"] = "Modifier : %s";
@@ -403,9 +401,8 @@
 $locale["Editing pages"] = "Modifier des pages";
 $locale["Either %s is missing or DATABASE_TYPE != '%s'"] = "%s est manquant ou DATABASE_TYPE != '%s'";
 $locale["Elapsed time: %s s"] = "Temps écoulé : %s s";
-$locale["Email Verification"] = "Vérification de l'adresse électronique";
-$locale["Email not yet verified."] = "Adresse électronique pas encore vérifiée";
-$locale["Email verified."] = "Adresse électronique vérifiée";
+$locale["Email not yet verified."] = "Adresse électronique pas encore vérifiée.";
+$locale["Email verified."] = "Adresse électronique vérifiée.";
 $locale["Embed hidden comments in WikiPages."] = "Cacher des commentaires dans une PageWiki.";
 $locale["Empty Preferences or format of UserPreferences cookie not recognised."] = "PréférencesUtilisateurs vides, le cookie peut etre mal reconnu.";
 $locale["Empty link to: %s"] = "Lien vide vers : %s";
@@ -428,8 +425,7 @@
 $locale["External Links"] = "Liens externes";
 $locale["External link (remember http:// prefix)"] = "Lien externe (le préfixe http:// est obligatoire)";
 $locale["ExternalSearch"] = "RechercheExterne";
-$locale["FAIL"] = "ÉCHOUÉ";
-$locale["FAILED"] = "ÉCHOUÉ";
+$locale["FAILED"] = "ÉCHEC";
 $locale["FIXED"] = "CORRIGÉ";
 $locale["FORBIDDEN"] = "INTERDIT";
 $locale["Failed to connect to LDAP host"] = "Impossible de se connecter au serveur LDAP ";
@@ -493,7 +489,7 @@
 $locale["Help/MagicPhpWikiURLs"] = "Aide/URLMagiquesPhpWiki";
 $locale["Help/MoreAboutMechanics"] = "Aide/DétailsTechniques";
 $locale["Help/OldStyleTablePlugin"] = "Aide/PluginTableauAncienStyle";
-$locale["Help/OldTextFormattingRules"] = "Aide/RèglesDeFormatageDesTextes";
+$locale["Help/OldTextFormattingRules"] = "Aide/AnciennesRèglesDeFormatageDesTextes";
 $locale["Help/PhotoAlbumPlugin"] = "Aide/PluginAlbumPhotos";
 $locale["Help/PhpHighlightPlugin"] = "Aide/PluginColorationPhp";
 $locale["Help/PhpWeatherPlugin"] = "Aide/PluginMétéoPhp";
@@ -512,7 +508,7 @@
 $locale["Help/WikiPlugin"] = "Aide/PluginWiki";
 $locale["Help/WikiWikiWeb"] = "Aide/WikiWikiWeb";
 $locale["Here you can override site-specific default values."] = "Ici vous pouvez écraser les valeurs par défaut du site spécifié.";
-$locale["Hide %s:"] = "Cacher %s :";
+$locale["Hide %s"] = "Cacher %s";
 $locale["Hide or show LinkIcons (if supported by the current theme). Useful for text-only browsers or slow connections."] = "Cacher ou montrer les icônes de liens (si supportées par le thème actuel). Très utile pour les navigateurs ne supportant pas les images ou pour les connexion bas débit.";
 $locale["Hide or show LinkIcons."] = "Cacher ou montrer les icônes de liens.";
 $locale["History"] = "Historique";
@@ -521,10 +517,8 @@
 $locale["History of changes."] = "Historique des modifications.";
 $locale["Hit statistics"] = "Statistiques de visites";
 $locale["Hits"] = "Visites";
-$locale["Hits:"] = "Visites :";
 $locale["Home"] = "Accueil";
 $locale["Home Page"] = "Accueil";
-$locale["Home page"] = "Accueil";
 $locale["HomePage"] = "PageAccueil";
 $locale["HomePageAlias"] = "AliasAccueil";
 $locale["Horizontal line"] = "Ligne horizontale";
@@ -534,11 +528,11 @@
 $locale["I'm sorry.  Version %d of %s is not in the database."] = "Je suis désolé. La version %d de %s n'est pas dans la base de données.";
 $locale["Ignore wiki formatting"] = "Ignorer la syntaxe wiki";
 $locale["Illegal access to page %s: no read access"] = "Accès en lecture interdit pour la page « %s ».";
-$locale["Illegal character '"] = "Caractère interdit '";
+$locale["Illegal character '%s' in page name."] = "Caractère '%s' interdit dans le nom de la page.";
 $locale["Illegal characters in external URL."] = "Caractère interdit dans une URL externe.";
 $locale["Illegal chars %s removed"] = "Caractères interdits %s supprimés";
 $locale["Illegal inclusion of page %s: no read access."] = "insertion récursive de la page %s ignoré";
-$locale["Illegal operator: %s"] = "Caractère interdit dans le nom.";
+$locale["Illegal operator: %s"] = "Opérateur interdit : %s";
 $locale["Image loaded from cache file: %s"] = "Image chargée depuis le fichier cache : %s";
 $locale["Image saved to cache file: %s"] = "Image sauvée dans le fichier cache : %s";
 $locale["In the time since you started editing this page, another user has saved a new version of it."] = "Depuis que vous avez commencé à modifier cette page, un autre utilisateur en a enregistré une nouvelle version.";
@@ -569,18 +563,17 @@
 $locale["InterWikiSearch"] = "RechercheInterWiki";
 $locale["Invalid ACL"] = "ACL invalide";
 $locale["Invalid [] syntax ignored"] = "Syntaxe [] invalide ignorée";
-$locale["Invalid argument %s"] = "Argument non valable : %s";
+$locale["Invalid argument %s"] = "Argument non valable %s";
 $locale["Invalid argument: %s=%s"] = "Argument non valable : %s=%s";
+$locale["Invalid attribute %s=%s for image %s"] = "Attribut non valable %s=%s pour l'image %s";
 $locale["Invalid chmod string"] = "Chaîne de caractère invalide pour le changement de mode";
 $locale["Invalid color: %s"] = "Couleur non valide : %s";
-$locale["Invalid image attribute \"%s\" %s=%s"] = "Argument non valable : %s=%s";
 $locale["Invalid image size"] = "Taille d'image invalide";
-$locale["Invalid pagename!"] = "Nom de page invalide !";
 $locale["Invalid password or userid."] = "Mot de passe ou utilisateur non valide :";
 $locale["Invalid password."] = "Mot de passe invalide.";
 $locale["Invalid username '%s' for LDAP Auth"] = "Utilisateur non valide '%s' dans l'annuaire LDAP";
 $locale["Invalid username."] = "Identifiant d'utilisateur invalide.";
-$locale["Is External:"] = "Externe ?";
+$locale["Is External"] = "Est externe";
 $locale["Italic text"] = "Italique";
 $locale["Italic text [alt-i]"] = "Italique [alt-i]";
 $locale["Keep old"] = "Garder l'ancien";
@@ -591,8 +584,7 @@
 $locale["Last Difference"] = "Dernière différence";
 $locale["Last Modified"] = "Dernière modification";
 $locale["Last Summary"] = "Dernier résumé";
-$locale["Last edited %s"] = "Dernière modification le %s";
-$locale["Last edited on %s"] = "Dernière modification le %s";
+$locale["Last edited on %s"] = "Dernière modification %s";
 $locale["LatestSnapshot"] = "DernierInstantané";
 $locale["Layout tables using a very rich markup style."] = "Un système de marques pour faire des tableaux sophistiqués.";
 $locale["Layout tables using the old markup style."] = "Apparences de tableaux utilisant l'ancien modèle de balisage.";
@@ -607,7 +599,6 @@
 $locale["Link"] = "Lien";
 $locale["Link to page"] = "Lien vers une page";
 $locale["LinkDatabase"] = "LiensDatabase";
-$locale["LinkSearch"] = "RechercheLive";
 $locale["Links"] = "Liens";
 $locale["List"] = "Liste";
 $locale["List PageHistory for %s"] = "Historique de %s";
@@ -642,7 +633,6 @@
 $locale["Lock Page"] = "Verrouiller la page";
 $locale["Locked"] = "Verrouillé";
 $locale["Locking pages"] = "Verrouiller des pages";
-$locale["Login"] = "S'identifier";
 $locale["Logout"] = "Déconnexion";
 $locale["MIME file %s"] = "fichier MIME %s";
 $locale["MISSING"] = "MANQUANT";
@@ -651,10 +641,9 @@
 $locale["Make the page external?"] = "Rendre la page externe ?";
 $locale["Make the page public?"] = "Rendre la page publique ?";
 $locale["Make the page read-only?"] = "Rendre la page non modifiable ?";
-$locale["Make use of the Google API"] = "Faire usage de l'API Google";
+$locale["Make use of the Google API"] = "Utiliser l'API Google";
 $locale["Markup"] = "Syntaxe";
 $locale["Markup cache purged!"] = "Cache de marques purgé !";
-$locale["Markup:"] = "Syntaxe :";
 $locale["Members:"] = "Membres :";
 $locale["Merge Edit"] = "Fusionner les modifications";
 $locale["Merge and Edit: %s"] = "Fusionner et modifier : %s";
@@ -664,7 +653,7 @@
 $locale["Minor Edit"] = "Modification mineure";
 $locale["Miscellaneous utility functions for the Administrator."] = "Plusieurs fonctions pour l'administration d'un wiki.";
 $locale["Missing %s for %s"] = "Il manque %s pour %s";
-$locale["Missing PagePermission:"] = "Permission de page individuelle absente:";
+$locale["Missing PagePermission:"] = "Permission de page individuelle absente :";
 $locale["ModeratedPage"] = "PageModérée";
 $locale["ModeratedPage Notification Error: Couldn't send email"] = "Erreur lors des notifications de page: Impossible d'envoyer";
 $locale["ModeratedPage: No emails for the moderators defined"] = "PageModerée: No emails for the moderators defined";
@@ -709,14 +698,14 @@
 $locale["No or unsupported GROUP_METHOD defined"] = "Aucun GROUP_METHOD défini, ou GROUP_METHOD non supporté";
 $locale["No other page links to %s yet."] = "Aucune page n'est déjà liée à %s.";
 $locale["No page links to %s."] = "Aucune page ne pointe vers %s.";
-$locale["No page specified."] = "Aucune page indiquée";
 $locale["No pagedata for %s"] = "Pas de données de page pour %s";
-$locale["No pagename specified"] = "Pas de nom de page spécifié";
 $locale["No pages changed."] = "Aucune page modifiée.";
 $locale["No pages purged."] = "Aucune page purgée.";
 $locale["No pages removed."] = "Aucune page n'a été supprimée.";
 $locale["No pages renamed."] = "Aucune page n'a été renommée.";
 $locale["No pages with bad names had to be deleted."] = "Aucune page supprimées avec un nom invalide.";
+$locale["No revert: no page content"] = "Pas de révocation : pas de contenu dans la page";
+$locale["No revert: same version page"] = "Pas de révocation : même version de la page";
 $locale["No revisions found"] = "Aucune version trouvée";
 $locale["No uploaded file to upload?"] = "Pas de fichier à déposer ?";
 $locale["No userid"] = "Pas d'identifiant utilisateur";
@@ -729,7 +718,6 @@
 $locale["Note: Only if you create your personal HomePage with same the pagename as your user id, you will be able to store your UserPreferences. Otherwise not."] = "Note: Vous pourrez enregistrer vos PréférencesUtilisateurs uniquement si vous créez votre propre page d'accueil portant le nom de votre identifiant.";
 $locale["Nothing found"] = "Aucun résultat";
 $locale["OK"] = "OK";
-$locale["Okay"] = "OK";
 $locale["Old UserPage %s without stored password updated with empty password. Set a password in your UserPreferences."] = "L'ancienne page %s sans mot de passe attribué a été mise à jour avec un mot de passe vide. Définissez un mot de passe dans vos PréférencesUtilisateurs.";
 $locale["Old and new pages"] = "Pages anciennes et nouvelles";
 $locale["OldStyleTable"] = "TableauAncienStyle";
@@ -766,12 +754,13 @@
 $locale["Page Info"] = "Infos sur la page";
 $locale["Page Locked"] = "Page verrouillée";
 $locale["Page Name"] = "Nom de la page";
-$locale["Page Trail"] = "File d'Ariane";
-$locale["Page Type:"] = "Type de page :";
-$locale["Page Version:"] = "Version de la page :";
+$locale["Page Trail"] = "Fil d'Ariane";
+$locale["Page Type"] = "Type de page";
+$locale["Page Version"] = "Version de la page";
 $locale["Page change"] = "Modification de la page";
 $locale["Page dump"] = "Cliché de la page";
 $locale["Page info"] = "Infos sur la page";
+$locale["Page name too long"] = "Le nom de la page est trop long";
 $locale["Page names with prefix '%s'"] = "Noms de page ayant le préfixe ' %s '";
 $locale["Page names with suffix '%s'"] = "Noms de page ayant le suffixe ' %s '";
 $locale["Page now external."] = "La page est maintenant externe.";
@@ -845,6 +834,8 @@
 $locale["Post new"] = "Poster une annonce";
 $locale["Posted: %s"] = "Posté le %s";
 $locale["Postponed %s for %s."] = "Pas de listes trouvées pour %1\$s";
+$locale["Prediction: %.1f"] = "Prédiction : %.1f";
+$locale["Prediction: %s"] = "Prédiction : %s";
 $locale["Preferences"] = "Préférences";
 $locale["PreferencesInfo"] = "PréférencesInfo";
 $locale["Prev"] = "Précédent";
@@ -870,6 +861,7 @@
 $locale["Purge Markup Cache"] = "Purger le cache";
 $locale["Purge Page"] = "Purger la page";
 $locale["Purge all Pages With Invalid Names"] = "Supprimer les pages dont le nom n'est pas valide";
+$locale["Purge cancelled"] = "Purge de la page annulée";
 $locale["Purge this page"] = "Purger cette page";
 $locale["PurgeHtmlCache"] = "PurgerLeCache";
 $locale["Purged page '%s' successfully."] = "Page '%s' purgée avec succès";
@@ -877,7 +869,6 @@
 $locale["Querying backend directly for '%s'"] = "Requête directe au backend pour « %s »";
 $locale["Quick Search"] = "Recherche rapide";
 $locale["Random Page"] = "Une page au hasard";
-$locale["Random page"] = "Une page au hasard";
 $locale["RandomPage"] = "PageAléatoire";
 $locale["Rate"] = "Note";
 $locale["Rate It"] = "Notez-la";
@@ -922,17 +913,16 @@
 $locale["Remove"] = "Supprimer";
 $locale["Remove Comment"] = "Supprimer le commentaire";
 $locale["Remove Page"] = "Supprimer la page";
+$locale["Remove cancelled"] = "Suppression de la page annulée";
 $locale["Remove selected pages"] = "Supprimer les pages sélectionnées";
 $locale["Remove this page"] = "Supprimer cette page";
 $locale["Removed page '%s' successfully."] = "Page '%s' supprimée avec succès";
 $locale["Removing pages"] = "Supprimer les pages";
 $locale["Rename"] = "Renommer";
 $locale["Rename Page"] = "Renommer la page";
-$locale["Rename page"] = "Renommer la page";
 $locale["Rename selected pages"] = "Renommer les pages sélectionnées";
 $locale["Rename to"] = "Renommer en";
-$locale["Renamed page '%s' to '%s'."] = "Page '%s' renommée en '%s'.";
-$locale["Renamed page from '%s' to '%s'"] = "Renommer la page de '%s' à '%s'";
+$locale["Renamed page from '%s' to '%s'."] = "Page renommée de '%s' à '%s'.";
 $locale["Replace"] = "Remplacer";
 $locale["Replace with"] = "Remplacer par";
 $locale["Replaced '%s' with '%s' in page '%s'."] = "%s a bien été modifié par %s dans la page %s.";
@@ -944,7 +934,9 @@
 $locale["Restore Anyway"] = "Restaurer quand même";
 $locale["Return to %s"] = "Retourner à %s";
 $locale["Revert"] = "Révoquer";
+$locale["Revert cancelled"] = "Révocation annulée";
 $locale["Revert: %s"] = "Révoquer : %s";
+$locale["Revert: missing required version argument"] = "Révocation : argument de version obligatoire manquant";
 $locale["Revision Not Found"] = "Version non trouvée";
 $locale["RichTable"] = "BeauTableau";
 $locale["RssFeed"] = "RessourcesRss";
@@ -952,7 +944,7 @@
 $locale["Sample table"] = "Exemple de table";
 $locale["SandBox"] = "BacÀSable";
 $locale["Save"] = "Enregistrer";
-$locale["Saved on:"] = "Enregistrée le :";
+$locale["Saved on"] = "Enregistrée le";
 $locale["Saved: %s"] = "Enregistrée : %s";
 $locale["Saving this page will overwrite the current version."] = "Enregistrer cette page écrasera la version actuelle.";
 $locale["Score"] = "Score";
@@ -985,9 +977,10 @@
 $locale["Set USE_DB_SESSION to false."] = "Mettre USE_DB_SESSION à false.";
 $locale["Set individual page permissions."] = "Modifier les permissions individuelles de la page.";
 $locale["SetAcl"] = "DéfinirAcl";
+$locale["SetAclSimple"] = "DéfinirAclSimple";
 $locale["Show Group Information"] = "Information sur le groupe";
 $locale["Show Page Trail"] = "Afficher le fil d'Ariane";
-$locale["Show Page Trail at top of page."] = "Afficher le fil d'Ariane en tête de la page";
+$locale["Show Page Trail at top of page."] = "Afficher le fil d'Ariane en tête de la page.";
 $locale["Show and add blogs for %s"] = "Montrer et ajouter un blog à %s ";
 $locale["Show and add comments for %s"] = "Afficher et ajouter des commentaires pour %s";
 $locale["Show changes for:"] = "Indiquer les modifications pour :";
@@ -999,8 +992,6 @@
 $locale["Sign In"] = "S'identifier";
 $locale["Sign Out"] = "Se déconnecter";
 $locale["Sign in as:"] = "S'identifier en tant que :";
-$locale["SignIn"] = "S'identifier";
-$locale["SignOut"] = "Se déconnecter";
 $locale["Signed Users"] = "Utilisateurs inscrits";
 $locale["Simple RSS Feed aggregator Plugin"] = "Importer des ressources RSS";
 $locale["Simple Sample Plugin"] = "Exemple simple de Plugin";
@@ -1008,17 +999,16 @@
 $locale["Since you started the purge process, someone has saved a new version of %s.  Please check to make sure you still want to permanently purge the page from the database."] = "Depuis que vous avez entamé le processus d'effacement, quelqu'un a enregistré une nouvelle version de %s. Veuillez vérifier que vous désirez toujours retirer de façon permanente cette page de la base de données.";
 $locale["SiteMap"] = "CarteDuSite";
 $locale["Size"] = "Taille";
-$locale["Size:"] = "Taille :";
 $locale["Skipped."] = "Ignoré.";
 $locale["Skipping"] = "Ignoré";
 $locale["Some internal editing error"] = "Erreur interne pendant la modification";
 $locale["Some of the changes could not automatically be combined.  Please look for sections beginning with '%s', and ending with '%s'.  You will need to edit those sections by hand before you click Save."] = "Certaines modifications n'ont pas pu être combinées automatiquement. Veuillez regarder les sections commençant par « %s », et se terminant par « %s ». Vous devrez éditer ces sections à la main avant de cliquer sur Enregistrer.";
-$locale["Someone has edited the page!"] = "Quelqu'un a édité la page !";
+$locale["Someone has edited the page!"] = "Quelqu'un a modifié la page !";
 $locale["Sorry but this file is too big."] = "Désolé, mais le fichier est trop gros.";
 $locale["Sorry for the inconvenience."] = "Désolé pour la gêne occasionnée.";
 $locale["Sorry! You must wait at least 20 minutes until you can vote again!"] = "Désolé, vous devez attendre au moins 20 minutes avant de pouvoir revoter !";
 $locale["Sorry, no dynamic DB Session support."] = "Désolé, Session dynamique non supportées.";
-$locale["Sorry, this page does not exist."] = "Désolé, cette page n'existe pas";
+$locale["Sorry, this page does not exist."] = "Désolé, cette page n'existe pas.";
 $locale["Sorry, this version of PHP cannot create PNG image files."] = "Désolé, cette version de PHP ne peut pas créer des fichiers d'image PNG.";
 $locale["Sorry. Access Restrictions not yet implemented"] = "Désolé. Restriction d'accès pas encore disponible";
 $locale["Sort by %s"] = "Trier par %s";
@@ -1031,7 +1021,7 @@
 $locale["Spelling Score"] = "Score d'épellation";
 $locale["SqlResult"] = "RésultatSql";
 $locale["Statistics about %s."] = "Statistiques sur %s.";
-$locale["Status:"] = "État :";
+$locale["Status"] = "État";
 $locale["SteveWainstead"] = "SteveWainstead";
 $locale["Strike"] = "Biffé";
 $locale["Strike-through text"] = "Biffé";
@@ -1042,20 +1032,18 @@
 $locale["Subpage"] = "Sous-page";
 $locale["Summary"] = "Résumé";
 $locale["Summary: %s"] = "Résumé : %s";
-$locale["Supplanted on:"] = "Remplacée le :";
+$locale["Supplanted on"] = "Remplacée le";
 $locale["Supported handlers are: %s"] = "Les gestionnaires supportés sont : %s";
 $locale["Supported languages"] = "Langages supportés";
 $locale["Supported themes"] = "Thèmes supportés";
 $locale["Switch to detailed list"] = "Aller à la liste détaillée";
 $locale["Switch to summary"] = "Aller au résumé";
 $locale["Synopsis"] = "Vue d'ensemble";
-$locale["Syntax language not specified."] = "Syntaxe du langage non spécifié.";
 $locale["SyntaxHighlighter"] = "ColorationSyntaxique";
 $locale["System default:"] = "Système par défaut :";
 $locale["SystemInfo"] = "InfosSystème";
 $locale["TODO: Google can only translate from english and french. Find a translation service for %s to language %s"] = "A FAIRE: Google peut uniquement traduire l'anglais et le français. Trouver un service pour traduire %s en %s";
 $locale["Table of Contents"] = "Table des matières";
-$locale["Table of content"] = "Table des matières";
 $locale["TeX imagepath not writable."] = "Répertoire TeX non accessible en écriture.";
 $locale["TeX2png"] = "TeX2png";
 $locale["Template"] = "Modèle";
@@ -1107,6 +1095,7 @@
 $locale["This page has been locked by the administrator so your changes can not be saved."] = "Cette page a été verrouillée par l'administrateur et vos changements n'ont pas pu être enregistrés.";
 $locale["This page is external."] = "Cette page est externe.";
 $locale["This plugin is currently under development and does not work!"] = "Ce plugin est en cours de développement et ne marche pas !";
+$locale["This project is shared with third-party users"] = "The projet est partagé avec des utilisateurs extérieurs";
 $locale["This revision of the page does not exist."] = "Cette version de la page n'existe pas";
 $locale["Time Zone"] = "Fuseau horaire";
 $locale["Title"] = "Titre";
@@ -1146,7 +1135,7 @@
 $locale["Unable to bind LDAP server %s using %s %s"] = "Impossible de se connecter au serveur LDAP %s";
 $locale["Unable to connect to IMAP server "] = "Impossible de se connecter au serveur IMAP ";
 $locale["Unable to connect to LDAP server %s"] = "Impossible de se connecter à l'annuaire LDAP de l'hôte %s";
-$locale["Unable to find src='%s'"] = "Impossible de lire src=%s";
+$locale["Unable to find src='%s'"] = "Impossible de trouver src=%s";
 $locale["Unable to open directory '%s' for reading"] = "Impossible d'ouvrir le répertoire '%s' en lecture";
 $locale["Unable to read src='%s'"] = "Impossible de lire src=%s";
 $locale["Undefined method %s for special group %s"] = "Méthode non définie %s pour le groupe %s";
@@ -1166,10 +1155,9 @@
 $locale["Upgrade"] = "Mettre à jour";
 $locale["Upgrade disabled: user != isAdmin"] = "Mise à jour désactivée, vous n'êtes pas administrateur";
 $locale["Upgrading this PhpWiki"] = "Mise à jour du PhpWiki";
-$locale["Upload"] = "Téléchargé";
+$locale["Upload"] = "Télécharger";
 $locale["Upload File"] = "Déposer un fichier";
 $locale["Upload error: file only partially received"] = "Erreur : le fichier n'a été que partiellement transmis";
-$locale["Upload file"] = "Déposer un fichier";
 $locale["Upload files to the local InterWiki Upload:<filename>"] = "Transférer les fichiers vers Upload:<filename>";
 $locale["Upload images or media files"] = "Déposer des images ou des médias";
 $locale["Uploading %s"] = "Téléchargement de %s";
@@ -1177,7 +1165,6 @@
 $locale["Uploading zip dumps"] = "Déposer la sauvegarde compressée";
 $locale["Use old markup"] = "Anciennes règles";
 $locale["User %s removed page %s"] = "L'utilisateur %s a supprimé la page %s";
-$locale["User Preferences"] = "Mes préférences";
 $locale["User not found in LDAP"] = "Utilisateur non trouvé dans l'annuaire LDAP";
 $locale["User page"] = "Page d'utilisateur";
 $locale["User preferences for this project"] = "Préférences pour ce projet";
@@ -1195,17 +1182,17 @@
 $locale["Verify the current action"] = "Vérifier l'action actuelle";
 $locale["Version"] = "Version";
 $locale["Version "] = "Version ";
+$locale["Version %1$s was created because: %2$s"] = "La version %1\$s a été créée car : %2\$s";
 $locale["Version %d"] = "Version %d";
 $locale["Version %s"] = "Version %s";
-$locale["Version %s, saved on %s"] = "Version %s, enregistrée le %s";
+$locale["Version %s, saved on %s"] = "Version %s, enregistrée %s";
 $locale["Versions are identical"] = "Les versions sont identiques";
 $locale["View Page"] = "Voir la page";
 $locale["View Source"] = "Voir la source";
 $locale["View Source: %s"] = "Source de : %s";
 $locale["View a single page dump online."] = "Voir une sauvegarde de page en ligne.";
-$locale["View the current version"] = "Visualiser la version actuelle";
+$locale["View the current version"] = "Voir la version actuelle";
 $locale["View the current version."] = "Visualiser la version actuelle";
-$locale["View the page"] = "Voir la page";
 $locale["View this page and all subpages"] = "Voir cette page et ses sous-pages";
 $locale["Viewing redirecting page."] = "Voir la page de redirection.";
 $locale["Viewing the source of pages"] = "Visualisation de la source des pages";
@@ -1225,11 +1212,12 @@
 $locale["Watch"] = "Surveiller";
 $locale["Watch Page"] = "Surveiller";
 $locale["WatchPage"] = "Suivre";
+$locale["WatchPage cancelled"] = "Surveillance de la page annulée";
 $locale["We have a total of %d registered users."] = "Nous avons %d utilisateurs enregistrés.";
 $locale["Welcome to %s!\nYour email account is verified and\nwill be used to send page change notifications.\nSee %s"] = "Bienvenue sur %s!\nVotre compte email a été vérifié et\nsera utilisé pour les notifications de changements de pages.\nVoir %s";
 $locale["What links here"] = "Pages liées";
 $locale["Who Is Online"] = "Qui est en ligne";
-$locale["Who is online"] = "Qui est en ligne";
+$locale["Who is Online"] = "Qui est en ligne";
 $locale["WhoIsOnline"] = "QuiEstEnLigne";
 $locale["Width"] = "Largeur";
 $locale["Wiki Admin"] = "Administration du wiki";
@@ -1243,7 +1231,7 @@
 $locale["WikiForum"] = "WikiForum";
 $locale["WikiWikiWeb"] = "WikiWikiWeb";
 $locale["Wikiname regexp"] = "regexp du WikiNom";
-$locale["With the current offset, this would be reported as %s."] = "Avec l'offset actuel, ceci serait affiché comme %s.";
+$locale["With the current offset, this would be reported as %s."] = "Avec le décalage actuel, ceci serait affiché comme %s.";
 $locale["Wrong password. Try again."] = "Erreur de mot de passe. Veuillez recommencer.";
 $locale["Wrong password: "] = "Mot de passe invalide : ";
 $locale["Wysiwyg Editor"] = "Éditeur Wysiwyg";
@@ -1264,10 +1252,10 @@
 $locale["You must be an administrator to use this plugin."] = "Vous devez être un administrateur pour utiliser ce plugin.";
 $locale["You must be logged in to view ratings."] = "Vous devez vous identifier pour voir les évaluations.";
 $locale["You must sign in to %s."] = "Vous devez vous inscrire pour %s.";
-$locale["You must sign in to watch pages."] = "Vous devez vous identifier pour surveiller des pages";
+$locale["You must sign in to watch pages."] = "Vous devez vous identifier pour surveiller des pages.";
 $locale["You must specify a directory to dump to"] = "Vous devez spécifier un répertoire pour l'archivage de la sauvegarde";
 $locale["You stored an empty password in your '%s' page."] = "Vous n'avez pas saisi de mot de passe pour la page %s.";
-$locale["Your E-Mail:"] = "Adresse électronique :";
+$locale["Your E-Mail"] = "Votre adresse électronique";
 $locale["Your PHP version is too old. You must have at least PHP 4.3.9"] = "Votre version de PHP est trop ancienne. Il faut avoir au moins PHP 4.3.9";
 $locale["Your UserPreferences have been successfully reset to default."] = "Vos préférences ont été réinitialisées avec succès";
 $locale["Your WikiDB DB backend '%s' cannot be used for DbSession."] = "Votre choix '%s' de WikiDB DB ne peut pas être utilisé pour DbSession.";
@@ -1278,8 +1266,8 @@
 $locale["Your changes can not be saved as they are, since doing so would overwrite the other author's changes. So, your changes and those of the other author have been combined. The result is shown below."] = "Vos modifications ne peuvent être enegistrées, puisqu'elles écraseraient celles de l'autre utilisateur. Ainsi donc, vos modifications et celles de l'autre auteur ont été combinées. Le résultat est affiché ci-dessous.";
 $locale["Your current rating: "] = "Votre note actuelle : ";
 $locale["Your current watchlist: "] = "Votre liste de suivi actuelle : ";
-$locale["Your home page has not been created yet so your preferences cannot not be saved."] = "Cette page a été verrouillée par l'administrateur et vos changements n'ont pas pu être enregistrée.";
-$locale["Your home page is locked so your preferences cannot not be saved."] = "Cette page a été verrouillée par l'administrateur et vos changements n'ont pas pu être enregistrés.";
+$locale["Your home page has not been created yet so your preferences cannot not be saved."] = "Votre page personnelle n'a pas été créée et par conséquent vos préférences n'ont pas pu être enregistrées.";
+$locale["Your home page is locked so your preferences cannot not be saved."] = "Votre page personnelle est verrouillée et par conséquent vos préférences n'ont pas pu être enregistrées.";
 $locale["Your rating was %.1f"] = "Votre note est %.1f";
 $locale["Your signature"] = "Votre signature";
 $locale["Your translated text doesn't yet appear in this %s, but the Administrator will pick it up and add to the installation."] = "Le texte traduit n'apparait pas encore dans ce %s, mais l'administrateur l'ajoutera à l'installation.";
@@ -1330,13 +1318,11 @@
 $locale["from '%s'"] = "du %s";
 $locale["has edit conflicts - overwriting anyway"] = "conflits de modification - écraser quand même ";
 $locale["has edit conflicts - skipped"] = "a des conflits de modification - ignoré";
-$locale["home page"] = "Accueil";
 $locale["hours"] = "heures";
 $locale["http://www.example.com|optional label"] = "http://www.example.com|label facultatif";
 $locale["incoming"] = "entrant";
 $locale["individual page permission"] = "permission de page individuelle";
 $locale["invalid %s ignored"] = "%s non valable ignoré";
-$locale["invalid argument %s"] = "Argument non valable : %s";
 $locale["keep old"] = "garder l'ancien";
 $locale["latest comment by "] = "dernier commentaire par ";
 $locale["load files into this wiki"] = "importer des fichiers dans ce wiki";
@@ -1350,11 +1336,9 @@
 $locale["minor edit"] = "modification mineure";
 $locale["minor edits"] = "modifications mineures";
 $locale["minutes"] = "minutes";
-$locale["missing required version argument"] = "argument de version obligatoire manquant";
 $locale["new pages"] = "nouvelles pages";
 $locale["newer than the existing page."] = "plus récent que la page existante.";
 $locale["no cache used"] = "pas de cache utilisé";
-$locale["no page content"] = "pas de contenu dans la page";
 $locale["no page specified"] = "aucune page indiquée";
 $locale["not affected"] = "non affectée";
 $locale["not authenticated"] = "non authentifié";
@@ -1379,7 +1363,6 @@
 $locale["revert to version %d"] = "revenir à la version %d";
 $locale["revision by previous author"] = "version par l'auteur précédent";
 $locale["same content"] = "même contenu";
-$locale["same version page"] = "même version de la page";
 $locale["saved as "] = "enregistré sous ";
 $locale["saved as %s"] = "enregistrée sous %s";
 $locale["sent to %s"] = "envoyé à %s";

Modified: trunk/src/plugins/wiki/www/locale/it/LC_MESSAGES/phpwiki.mo
===================================================================
(Binary files differ)

Modified: trunk/src/plugins/wiki/www/locale/it/LC_MESSAGES/phpwiki.php
===================================================================
--- trunk/src/plugins/wiki/www/locale/it/LC_MESSAGES/phpwiki.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/locale/it/LC_MESSAGES/phpwiki.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -2,15 +2,18 @@
 
 $locale[" ... first %d bytes"] = " ... i primi %d byte";
 $locale[" Sorry, cannot merge."] = " Spiacente, non può fondersi.";
+$locale[" is identical."] = " sono identiche.";
 $locale["%4d  %s\n"] = "%4d  %s\n";
 $locale["%d best incoming links: "] = "%d migliori link in entrata: ";
 $locale["%d best outgoing links: "] = "%d migliori link in uscita: ";
 $locale["%d most popular nearby: "] = "%d più popolari: ";
+$locale["%s KiB (%s bytes)"] = "%s KiB (%s byte)";
 $locale["%s at %s"] = "%s a %s";
 $locale["%s bytes"] = "%s byte";
 $locale["%s days"] = "%s giorni";
 $locale["%s not defined"] = "%s: non definito";
 $locale["%s not found"] = "%s non trovato";
+$locale["%s not found in %s"] = "%s non trovato in %s";
 $locale["%s of this page"] = "%s di questa pagina";
 $locale["%s on %s:"] = "%s a %s:";
 $locale["%s: %s"] = "%s: %s";
@@ -29,15 +32,13 @@
 $locale["<no matches>"] = "<nessuna corrispondenza>";
 $locale["<none>"] = "<nessun>";
 $locale["<unknown>"] = "<sconosciuto>";
-$locale["AddCategory"] = "InsertoCategoria";
-$locale["AddPlugin"] = "InsertoPlugin";
-$locale["AddTemplate"] = "AggiungaLaMascherina";
 $locale["Administrators"] = "Coordinatori";
 $locale["Anonymous Users"] = "Utenti Anonimi";
 $locale["Authenticated Users"] = "Utenti Autenticati";
 $locale["Authenticated as %s"] = "Utente corrente: %s";
 $locale["Author"] = "Autore";
 $locale["Author will be logged as %s."] = "L'autore sarà annotato come %s.";
+$locale["Back Links"] = "Collegamenti Relativi";
 $locale["Bogo Users"] = "Utenti Bogo";
 $locale["Calendar"] = "Calendario";
 $locale["CalendarList"] = "ListaCalendario";
@@ -51,8 +52,10 @@
 $locale["Content"] = "Indice";
 $locale["Contents"] = "Indice";
 $locale["Convert"] = "Convertito";
+$locale["Could not connect to LDAP host %s"] = "Non riesco a stabilire una connessione col LDAP host %s";
 $locale["Couldn't connect to %s"] = "Non riesco a stabilire una connessione col database: %s";
 $locale["Create: %s"] = "Salvata: %s";
+$locale["CreatePage failed"] = "CategoriaPagina";
 $locale["Date Format"] = "Formato della Data";
 $locale["DebugInfo"] = "InfoDebug";
 $locale["Deleted"] = "Rimossa";
@@ -66,12 +69,17 @@
 $locale["EditText"] = "ModificaIlTesto";
 $locale["Edited by: %s"] = "Modifica: %s";
 $locale["Every"] = "Ogni";
+$locale["External"] = "Esterni";
 $locale["External Links"] = "Collegamenti Esterni";
+$locale["Failed to connect to LDAP host"] = "Non riesco a stabilire una connessione col LDAP";
 $locale["Fatal PhpWiki Error"] = "Errore Fatale Di PhpWiki";
+$locale["File '%s' not found."] = "File %s non trovato.";
+$locale["Find page"] = "Trova Pagina";
 $locale["FindPage"] = "TrovaPagina";
 $locale["First"] = "Prima";
 $locale["Full text search results for '%s'"] = "Risultati della ricerca su tutto il testo per '%s'";
 $locale["FullTextSearch"] = "RicercaDelTesto";
+$locale["Global user preferences (for all projects)"] = "Preferenze dell'utente globale (per tutti i progetti)";
 $locale["Go"] = "Vai";
 $locale["GoTo"] = "Vai";
 $locale["H"] = "A";
@@ -83,15 +91,22 @@
 $locale["Help/IncludePagePlugin"] = "Aiuto/InserireLaPaginaPlugin";
 $locale["Help/OldTextFormattingRules"] = "Aiuto/RegoleFormattazioneTesto";
 $locale["Help/TextFormattingRules"] = "Aiuto/RegoleFormattazioneTesto";
+$locale["History"] = "Storico";
 $locale["Home"] = "Principale";
+$locale["Home Page"] = "Pagina Principale";
 $locale["HomePage"] = "PaginaPrincipale";
 $locale["HomePageAlias"] = "AliasPaginaPrincipale";
 $locale["In the time since you started editing this page, another user has saved a new version of it."] = "Nel tempo da quando avete cominciato pubblicare questa pagina, un altro utente ha conservato una nuova versione di esso.";
 $locale["IncludePage"] = "InserireLaPagina";
 $locale["IncludePages"] = "InserirePaginas";
 $locale["Included from %s"] = "Inserire dalla %s";
+$locale["Included from %s (revision %d)"] = "Inserire dalla %s (revision %d)";
 $locale["Included from %s:"] = "Inserire dalla %s:";
 $locale["Insert"] = "Inserto";
+$locale["Insert Categories"] = "Inserto Categoria";
+$locale["Insert PageLink"] = "Inserto Pagina";
+$locale["Insert Plugin"] = "Inserto Plugin";
+$locale["Insert Template"] = "Inserto Mascherina";
 $locale["Insufficient permissions."] = "Permessi insufficienti.";
 $locale["Invalid password or userid."] = "Password o nome utente errati.";
 $locale["JabberPresence"] = "JabberPresenca";
@@ -99,9 +114,9 @@
 $locale["Last Author"] = "Ultimo Autore";
 $locale["Last Modified"] = "Ultima Modifica";
 $locale["Last Summary"] = "Ultimo Commenti";
-$locale["Last edited %s"] = "Ultima modifica %s";
 $locale["Last edited on %s"] = "Ultima modifica %s";
 $locale["LdapSearch"] = "LdapRicerca";
+$locale["Like pages"] = "Pagine Simili";
 $locale["LikePages"] = "PagineSimili";
 $locale["LiveSearch"] = "RicercaLive";
 $locale["Lock"] = "Bloccata";
@@ -127,23 +142,31 @@
 $locale["Overwrite All"] = "Scriva sopra Tutti";
 $locale["Owner"] = "Proprietario";
 $locale["Owner: %s"] = "Owner: %s";
+$locale["Page"] = "Pagina";
 $locale["Page %s not found."] = "%s: pagina non trovato.";
+$locale["Page Info"] = "Info Pagina";
 $locale["Page Locked"] = "Pagina Bloccata";
 $locale["Page Name"] = "Nome della Pagina";
+$locale["Page Type"] = "Tipo della Pagina";
+$locale["Page Version"] = "Versione della Pagina";
 $locale["Page change"] = "Cambiamento della pagina";
+$locale["Page info"] = "Info Pagina";
 $locale["Page now locked."] = "Pagina bloccata.";
 $locale["Page now unlocked."] = "Pagina sbloccata.";
 $locale["Page rename %s to %s"] = "La pagina cambia titolo %s a %s";
 $locale["PageChange Notification Error: Couldn't send %s to %s"] = "Errore Di Notifica Del Cambiamento Della Pagina:  Non ha potuto trasmettere %s a %s";
+$locale["PageChange Notification of %s"] = "Pagini la notifica del cambiamento di %s";
 $locale["PageChange Notification of %s sent to %s"] = "Pagini la notifica del cambiamento di %s trasmesso a %s";
 $locale["PageHistory"] = "StoricoPagina";
 $locale["PageInfo"] = "InfoPagina";
+$locale["Pagename(s): "] = "Nome della Pagina(s)";
 $locale["PhpWikiAdministration/Markup"] = "AmministrazioneDiPhpWiki/Disposizione";
 $locale["PhpWikiAdministration/Remove"] = "AmministrazioneDiPhpWiki/Rimuovi";
 $locale["Please check it through before saving."] = "Si prega di controllarla nel dettaglio prima di salvare.";
 $locale["Plugin %s disabled."] = "Plugin '%s' inabiliti.";
 $locale["Plugin %s failed."] = "Plugin '%s' fallito.";
 $locale["Plugin %s: undefined"] = "Plugin '%s': non definito";
+$locale["Plugin '%s' does not exist."] = "Plugin '%s' non esiste.";
 $locale["PreferenceApp"] = "PreferenzeApp";
 $locale["Preferences"] = "Preferenze";
 $locale["PreferencesInfo"] = "PreferenzeInfo";
@@ -153,60 +176,87 @@
 $locale["Previous Author"] = "Precedente Author";
 $locale["Previous Revision"] = "Precedente";
 $locale["Printer"] = "Stampante";
+$locale["Purge HTML cache"] = "RimuoviDallaCacheHtml";
+$locale["Purge this page"] = "Rimuovi la pagina";
 $locale["PurgeHtmlCache"] = "RimuoviDallaCacheHtml";
+$locale["Purged page '%s' successfully."] = "La pagina '%s' è stata rimossa correttamente.";
+$locale["Recent Changes"] = "Modifiche Recenti";
+$locale["Recent changes"] = "Cambiamenti Recenti";
 $locale["RecentChanges"] = "ModificheRecenti";
 $locale["RecentVisitors"] = "VisitatoriRecenti";
 $locale["Related Changes"] = "Modifiche Correlate";
 $locale["Related Links"] = "Collegamenti Relativi";
+$locale["Related changes"] = "Modifiche Correlate";
 $locale["Remove"] = "Cancella";
+$locale["Remove Comment"] = "Rimuovi commento";
 $locale["Remove Page"] = "Cancella la Pagina";
 $locale["Remove this page"] = "Rimuovi la pagina";
 $locale["Removed page '%s' successfully."] = "La pagina '%s' è stata rimossa correttamente.";
 $locale["Removing pages"] = "Rimuovi la pagina";
+$locale["Renamed page from '%s' to '%s'."] = "Cambia titolo %s a %s";
+$locale["Reset Preferences"] = "Ripristina Preferenze";
 $locale["Restore Anyway"] = "Restore Comunque";
 $locale["Revert"] = "Ritorni";
+$locale["Revert: %s"] = "Ritorni: %s";
 $locale["Save"] = "Registra";
+$locale["Saved on"] = "Salvata";
 $locale["Saved: %s"] = "Salvata: %s";
 $locale["Search"] = "Ricerca";
+$locale["Search for"] = "Ricerca";
+$locale["Search:"] = "Ricerca:";
 $locale["See %s tips for editing."] = "Vedere %s consigli per le modifiche.";
+$locale["Set pages to external"] = "Pagina sbloccata.";
 $locale["Sign In"] = "Login";
 $locale["Sign Out"] = "Logout";
 $locale["Sign in as:"] = "Username di login:";
 $locale["Signed Users"] = "Utenti Firmati";
 $locale["Size"] = "Dimensione";
-$locale["Size:"] = "Dimensione:";
 $locale["Some of the changes could not automatically be combined.  Please look for sections beginning with '%s', and ending with '%s'.  You will need to edit those sections by hand before you click Save."] = "Alcuni dei cambiamenti non hanno potuto essere uniti automaticamente. Cerchi prego le sezioni che cominciano con '%s 'e concludentesi con '%s '. Dovrete pubblicare a mano quelle sezioni prima che vi scattiate risparmi.";
 $locale["Someone has edited the page!"] = "Qualcuno ha modificato la pagina!";
 $locale["Sorry for the inconvenience."] = "Scusa per l'inconveniente.";
 $locale["Sort by %s"] = "Ordina per %s";
 $locale["String \"%s\" not found."] = "\"%s\" non trovato.";
 $locale["Summary"] = "Commenti";
+$locale["Summary: %s"] = "Commenti: %s";
 $locale["Synopsis"] = "Sommario";
+$locale["Table of Contents"] = "Indice";
 $locale["TextFormattingRules"] = "RegoleFormattazioneTesto";
 $locale["Thank you for editing %s."] = "La pagina %s <E8> stata modificata.";
 $locale["Thanks for adding this translation!"] = "Grazie per la translatione!";
 $locale["The %d most popular pages of this wiki:"] = "Le %d pagine più popolari di questo wiki sono:";
+$locale["This page has been locked and cannot be edited."] = "Questa pagina è stata bloccata e non può essere modificata.";
 $locale["This page has been locked by the administrator so your changes can not be saved."] = "Spiacente, ma questa pagina è stata bloccata dall'amministratore,quindi le tue modifiche non possono essere salvate.";
 $locale["Time Zone"] = "Fuso Orario";
+$locale["Title 1"] = "Titolo 1";
+$locale["Title 2"] = "Titolo 2";
+$locale["Title 3"] = "Titolo 3";
 $locale["Title Search"] = "Ricerca per Titolo";
-$locale["Title search results for '%s'"] = "Risultati della ricerca su tutto il testo per '%s'";
+$locale["Title search results for '%s'"] = "Risultati della ricerca su titolo per '%s'";
+$locale["Title search results for '%s' (%d total)"] = "Risultati della ricerca su titolo per '%s' (%d total)";
 $locale["TitleSearch"] = "RicercaPerTitolo";
 $locale["Today"] = "Oggi";
 $locale["Transcluded from %s"] = "Inserire dalla %s";
 $locale["Unlock"] = "Sblocca";
 $locale["Unlock Page"] = "Sblocca la Pagina";
 $locale["Unlocking pages"] = "Sblocca la Pagina";
+$locale["User %s removed page %s"] = "Utente %s pagina %s rimossa";
+$locale["User not found in LDAP"] = "Utente non trovato in LDAP";
+$locale["User preferences for this project"] = "Utente Preferenze per questo progetto";
+$locale["User preferences for user %s"] = "Preferenze per l'utente %s";
 $locale["UserPreferences"] = "Preferenze";
 $locale["Version"] = "Versione";
+$locale["Version "] = "Versione ";
 $locale["Version %d"] = "Versione %d";
 $locale["Version %s"] = "Versione %s";
 $locale["Version %s, saved on %s"] = "Versione %s, salvata su %s";
 $locale["Versions are identical"] = "Le versioni sono identiche";
 $locale["View Source: %s"] = "Vedi il Sorgente: %s";
 $locale["View the current version"] = "Mostra il versione corrente";
+$locale["View the current version."] = "Mostra il versione corrente.";
 $locale["W"] = "L";
 $locale["Warning:"] = "Avvertimento:";
 $locale["Width"] = "Larghezza";
+$locale["Wiki Admin"] = "Wiki Amministrazione";
 $locale["Wiki Name"] = "Wiki Nome";
 $locale["WikiAdminMarkup"] = "WikiAmministrazioneDisposizione";
 $locale["Yes"] = "Si";
@@ -220,16 +270,27 @@
 $locale["current version"] = "versione corrente";
 $locale["days"] = "giorni";
 $locale["diff"] = "diff";
+$locale["external"] = "esterni";
+$locale["file %s not found"] = "file %s non trovato";
+$locale["fixed with"] = "Modifica";
 $locale["from %s"] = "dalla %s";
+$locale["from '%s'"] = "dalla '%s'";
 $locale["locked"] = "bloccata";
+$locale["new pages"] = "nuova pagina";
 $locale["not authenticated"] = "non autenticato";
+$locale["page not locked"] = "pagina non bloccata";
 $locale["plain file %s"] = "archivio del testo %s";
+$locale["purge this page"] = "rimuovi la pagina";
+$locale["rename %s to %s"] = "cambia titolo %s a %s";
+$locale["rename this page"] = "rinominare questa pagina";
+$locale["reverse"] = "ritorni";
 $locale["saved as "] = "salvata a ";
 $locale["saved as %s"] = "salvata a %s";
 $locale["today"] = "oggi";
 $locale["version %d"] = "versione %d";
 $locale["version %s"] = "versione %s";
 $locale["version <em>%s</em>"] = "versione <em>%s</em>";
+$locale["version <em>%s</em> not affected"] = "versione <em>%s</em>";
 $locale["yesterday"] =
    "ieri";
 

Modified: trunk/src/plugins/wiki/www/locale/ja/LC_MESSAGES/phpwiki.mo
===================================================================
(Binary files differ)

Modified: trunk/src/plugins/wiki/www/locale/ja/LC_MESSAGES/phpwiki.php
===================================================================
--- trunk/src/plugins/wiki/www/locale/ja/LC_MESSAGES/phpwiki.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/locale/ja/LC_MESSAGES/phpwiki.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -13,7 +13,7 @@
 $locale["<none>"] = "<なし>";
 $locale["<system language>"] = "<システム言語>";
 $locale["<system theme>"] = "<システムテーマ>";
-$locale["Action page"] = "操作ページ";
+$locale["Add %s"] = "ヒット数";
 $locale["Adjust"] = "調整";
 $locale["Admin"] = "管理";
 $locale["AllPages"] = "全ページ";
@@ -24,6 +24,7 @@
 $locale["Arguments"] = "引数一覧";
 $locale["Auth Level"] = "認証レベル";
 $locale["Auth Method"] = "認証方法";
+$locale["Author"] = "編集者";
 $locale["Available plugins"] = "有効なプラグイン一覧";
 $locale["Bad Version"] = "バージョンが正しくありません。";
 $locale["Blog page"] = "Blogページ";
@@ -35,6 +36,7 @@
 $locale["Change country"] = "国名変更";
 $locale["Comment"] = "コメント";
 $locale["Complete."] = "完了しました。";
+$locale["Content"] = "コンテンツ";
 $locale["Contents"] = "コンテンツ";
 $locale["Count"] = "カウント";
 $locale["Create: %s"] = "作成: %s";
@@ -52,36 +54,41 @@
 $locale["Diff: %s"] = "差分: %s";
 $locale["Diffing pages"] = "ページの差分を出力しています。";
 $locale["Dump Pages as XHTML"] = "XHTMLで出力";
+$locale["Dump pages as XHTML"] = "XHTMLで出力";
 $locale["Dumping html pages"] = "HTMLページを出力しています。";
 $locale["Dumping serial pages"] = "シリアライズページを出力しています。";
-$locale["E-Mail"] = "メール";
 $locale["Edit"] = "編集";
 $locale["Edit %s"] = "%s を編集";
 $locale["Edit Area Size"] = "編集エリアのサイズ";
 $locale["Edit Old Revision"] = "古いリビジョンを編集する";
 $locale["Edit aborted."] = "編集を中断しました。";
 $locale["Edit metadata for %s"] = "%s のMETAデータの編集";
+$locale["Edit this page"] = "ページを編集しています。";
 $locale["Edit: %s"] = "編集: %s";
 $locale["EditMetaData"] = "METAデータの編集";
+$locale["Edited by: %s"] = "編集: %s";
 $locale["Editing pages"] = "ページを編集しています。";
 $locale["Email not yet verified."] = "メールアドレスを確認出来ませんでした。";
 $locale["Email verified."] = "メールアドレスを確認出来ました。";
 $locale["Empty pagename!"] = "ページ名が未指定です!";
 $locale["Enter your UserId to sign in"] = "ユーザーIDを入力してサインインしてください。";
 $locale["Fatal PhpWiki Error"] = "致命的なPhpWikiのエラーです。";
+$locale["File '%s' not found."] = "%s: ファイルが見つかりません。";
 $locale["FindPage"] = "ページ検索";
 $locale["First"] = "最初へ";
 $locale["FullTextSearch"] = "全文検索";
+$locale["GooglePlugin"] = "Googleプラグイン";
 $locale["H"] = "高さ";
 $locale["Height"] = "高さ";
+$locale["Hide %s"] = "ヒット数";
 $locale["History of changes."] = "変更履歴";
 $locale["Hit statistics"] = "ヒット統計";
 $locale["Hits"] = "ヒット";
-$locale["Hits:"] = "ヒット数:";
 $locale["HomePage"] = "ホームページ";
 $locale["Included from %s"] = "%s から読込まれました。";
 $locale["Index"] = "インデックス";
 $locale["Inline images"] = "インライン画像一覧";
+$locale["Insert Plugin"] = "プラグインを追加";
 $locale["InterWiki Address"] = "InterWikiアドレス";
 $locale["InterWikiSearch"] = "InterWiki検索";
 $locale["Invalid password or userid."] = "ユーザーIDかパスワードが無効です。";
@@ -90,6 +97,7 @@
 $locale["Last Author"] = "最終編集者";
 $locale["Last Modified"] = "最終更新日時";
 $locale["Last Summary"] = "最終要約";
+$locale["LdapSearch"] = "LDAP検索";
 $locale["List PageHistory for %s"] = "%s のページ履歴一覧";
 $locale["Load File"] = "ファイル読込み";
 $locale["Loading '%s'"] = "'%s' を読込み中です。";
@@ -97,11 +105,9 @@
 $locale["Lock Page"] = "ページロック";
 $locale["Locked"] = "ロックしました";
 $locale["Locking pages"] = "ページをロック中です。";
-$locale["Login"] = "ログイン";
 $locale["MIME file %s"] = "MIMEファイル %s";
 $locale["Markup"] = "マークアップ";
 $locale["Markup cache purged!"] = "マークアップキャッシュを破棄しました!";
-$locale["Markup:"] = "マークアップ:";
 $locale["Name"] = "名称";
 $locale["New comment."] = "新規コメント";
 $locale["New password"] = "新規パスワード";
@@ -112,13 +118,11 @@
 $locale["No revisions found"] = "リビジョンが見つかりません。";
 $locale["None"] = "なし";
 $locale["Note:"] = "ノート:";
-$locale["Okay"] = "おっけー";
 $locale["OldStyleTable"] = "旧スタイルのテーブル";
 $locale["PHP syntax highlighting"] = "PHP構文ハイライト";
 $locale["Page Locked"] = "ページをロックしました。";
 $locale["Page Name"] = "ページ名";
-$locale["Page Type:"] = "ページの種類<:";
-$locale["Page Version:"] = "ページバージョン:";
+$locale["Page Version"] = "ページバージョン";
 $locale["Page now locked."] = "ページはロック中です。";
 $locale["Page now unlocked."] = "ページはロック解除中です。";
 $locale["Page statistics"] = "ページ統計";
@@ -157,8 +161,11 @@
 $locale["Return to %s"] = "%s に戻る";
 $locale["Revision Not Found"] = "リビジョンが見つかりません";
 $locale["Save"] = "保存する";
+$locale["Saved: %s"] = "保存しました: %s";
 $locale["Score"] = "スコア";
 $locale["Search"] = "検索";
+$locale["Search for"] = "検索";
+$locale["Search:"] = "検索:";
 $locale["See %s"] = "%s を参照";
 $locale["See: %s"] = "参照: %s";
 $locale["Select: "] = "選択:";
@@ -167,10 +174,8 @@
 $locale["Sign In"] = "サインイン";
 $locale["Sign Out"] = "サインサウト";
 $locale["SiteMap"] = "サイトマップ";
-$locale["Size:"] = "サイズ:";
 $locale["Sort by %s"] = "%sでソートします。";
 $locale["Sound Score"] = "サウンドスコア";
-$locale["Status:"] = "状況:";
 $locale["Submit"] = "送信";
 $locale["Submit country"] = "国名送信";
 $locale["Submit location"] = "所在地変更";
@@ -191,8 +196,10 @@
 $locale["Type it again"] = "もう一度入力";
 $locale["Unlock Page"] = "ページロック解除";
 $locale["Unlocking pages"] = "ページのロックを解除中です。";
+$locale["UpLoad"] = "アップロード";
 $locale["Update Preferences"] = "設定を更新しました";
 $locale["Upload"] = "アップロード";
+$locale["Upload File"] = "ファイル読込み";
 $locale["Uploading %s"] = "%s をアップロード中です。";
 $locale["Use old markup"] = "古いマークアップを使用";
 $locale["User page"] = "ユーザーページ";
@@ -202,36 +209,39 @@
 $locale["UserPreferences"] = "ユーザー設定";
 $locale["Using directory '%s'"] = "ディレクトリ '%s' を使用しています。";
 $locale["Version"] = "バージョン";
+$locale["Version "] = "バージョン";
 $locale["Version %d"] = "バージョン %d";
 $locale["Version %s"] = "バージョン %s";
 $locale["View Source"] = "ソースを見る";
 $locale["View Source: %s"] = "ソースを見る: %s";
 $locale["View the current version"] = "現在のバージョンを表示する";
+$locale["View the current version."] = "現在のバージョンを表示する";
 $locale["W"] = "幅";
 $locale["Warning: You are editing an old revision."] = "警告: あなたは古いリビジョンを編集しています。";
 $locale["Width"] = "幅";
 $locale["Wiki Name"] = "Wiki名";
 $locale["WikiForm: %s: unknown action"] = "WikiForm: '%s' は未知の操作です。";
-$locale["Your E-Mail:"] = "あなたのメールアドレス:";
 $locale["cached pagedata:"] = "ページデータをキャッシュ:";
 $locale["cached versiondata:"] = "バージョンデータをキャッシュ:";
 $locale["compare revisions"] = "リビジョン比較";
 $locale["current version"] = "現在のバージョン";
 $locale["diff"] = "差分";
 $locale["edit area"] = "編集エリア";
+$locale["edit this page"] = "ページを編集しています。";
+$locale["file %s not found"] = "%s: ファイルが見つかりません。";
 $locale["from %s"] = "%s から";
-$locale["home page"] = "ホームページ";
 $locale["locked"] = "ロックしました";
 $locale["max: %d"] = "最大: %d";
 $locale["no cache used"] = "キャッシュを使いません";
 $locale["plain file %s"] = "プレインファイル %s";
 $locale["previous revision"] = "前のリビジョン";
+$locale["saved as "] = "を保存しました。";
 $locale["saved as %s"] = "%s を保存しました。";
 $locale["today"] = "今日";
-$locale["too long"] = "長すぎます。";
 $locale["use this plugin"] = "このプラグインを使う";
 $locale["version %d"] = "バージョン %d";
 $locale["version %s"] = "バージョン %s";
+$locale["version <em>%s</em>"] = "バージョン <em>%s</em>";
 $locale["yesterday"] =
    "昨日";
 

Modified: trunk/src/plugins/wiki/www/locale/nl/LC_MESSAGES/phpwiki.mo
===================================================================
(Binary files differ)

Modified: trunk/src/plugins/wiki/www/locale/nl/LC_MESSAGES/phpwiki.php
===================================================================
--- trunk/src/plugins/wiki/www/locale/nl/LC_MESSAGES/phpwiki.php	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/locale/nl/LC_MESSAGES/phpwiki.php	2011-12-19 07:11:37 UTC (rev 15022)
@@ -1,5 +1,8 @@
 <?php
 
+$locale[" Skipped"] = "Overgeslagen";
+$locale[" is identical."] = " zijn identiek";
+$locale[" to "] = " naar ";
 $locale["%4d  %s\n"] = "%4d  %s\n";
 $locale["%s: %s"] = "%s: %s";
 $locale["(Copy your changes to the clipboard. You can try editing a different page or save your text in a text editor.)"] = "Kopier je veranderingen naar het klipbord of een andere tijdelijke plaats (bijv. een tekst editor).";
@@ -7,6 +10,7 @@
 $locale["- saved to database as version %d"] = "- bewaard in de data base als versie %d";
 $locale["Administration"] = "Beheer";
 $locale["An unnamed PhpWiki"] = "Naamloos PhpWiki";
+$locale["Back"] = "Terug";
 $locale["Back Links"] = "Terug Links";
 $locale["BackLinks"] = "TerugLinks";
 $locale["Cancel"] = "Annuleer";
@@ -22,6 +26,7 @@
 $locale["EditText"] = "VeranderTekst";
 $locale["Edited by: %s"] = "Verander von: %s";
 $locale["Fatal PhpWiki Error"] = "PhpWiki Fatale Fout";
+$locale["Find page"] = "Zoek Pagina";
 $locale["FindPage"] = "ZoekPagina";
 $locale["Full text search results for '%s'"] = "Volledige tekst zoek resultaten naar '%s'";
 $locale["FullTextSearch"] = "VolledigeTekstZoek";
@@ -35,14 +40,11 @@
 $locale["Help/WikiWikiWeb"] = "Help/WikiWikiWeb";
 $locale["History"] = "Geschiedenis";
 $locale["Hits"] = "Teller";
-$locale["Hits:"] = "Teller:";
 $locale["Home"] = "Thuis";
 $locale["Home Page"] = "Thuis Pagina";
-$locale["Home page"] = "Thuis Pagina";
 $locale["HomePage"] = "ThuisPagina";
 $locale["Last Author"] = "Vorige Auteur";
 $locale["Last Modified"] = "meest recente verandering";
-$locale["Last edited %s"] = "Meest recente verandering %s";
 $locale["Last edited on %s"] = "Meest recente verandering op %s";
 $locale["LdapSearch"] = "LdapZoek";
 $locale["Links"] = "Links";
@@ -53,6 +55,7 @@
 $locale["MIME file %s"] = "MIME bestand %s";
 $locale["MostPopular"] = "MeestBezocht";
 $locale["My Changes"] = "Mijn Veranderingen";
+$locale["My Preferences"] = "Mijn Voorkeuren";
 $locale["MyRecentChanges"] = "MijnRecenteVeranderingen";
 $locale["New page"] = "Nieuw pagina";
 $locale["Newer page:"] = "Nieuw pagina:";
@@ -61,6 +64,7 @@
 $locale["Page"] = "Pagina";
 $locale["Page Locked"] = "Sidan är Låst";
 $locale["Page Name"] = "Pagina Naam";
+$locale["Page Version"] = "Pagina Versie";
 $locale["PageHistory"] = "PaginaGeschiedenis";
 $locale["PhpWikiAdministration"] = "PhpWikiBeheer";
 $locale["PhpWikiAdministration/Chmod"] = "PhpWikiBeheer/Chmod";
@@ -71,6 +75,8 @@
 $locale["Previous"] = "Vorige";
 $locale["Previous Author"] = "Vorige Auteur";
 $locale["Printer"] = "Drukker";
+$locale["Purge this page"] = "Verwijder pagina";
+$locale["Purged page '%s' successfully."] = "Pagina '%s' verwijderd.";
 $locale["Recent Changes"] = "Recente Veranderingen";
 $locale["Recent changes"] = "Recente Veranderingen";
 $locale["RecentChanges"] = "RecenteVeranderingen";
@@ -79,49 +85,67 @@
 $locale["ReleaseNotes"] = "UitgaveNoten";
 $locale["Remove Page"] = "Verwijder Pagina";
 $locale["Removed page '%s' successfully."] = "Pagina '%s' verwijderd.";
+$locale["Replace"] = "Vervangt";
 $locale["Return to %s"] = "Terug naar %s";
 $locale["SandBox"] = "ZandBak";
 $locale["Save"] = "Bewaar";
 $locale["Saved: %s"] = "Bewaard: %s";
 $locale["Search"] = "Zoek";
 $locale["Search & Replace"] = "Zoek & Vervangt";
+$locale["Search for"] = "Zoek";
+$locale["Search:"] = "Zoek:";
+$locale["SearchReplace"] = "ZoekVervangt";
 $locale["See %s"] = "Zie %s";
 $locale["See %s tips for editing."] = "%s tips for veranderen.";
 $locale["Serialized file %s"] = "Geserialiseerd bestand %s";
+$locale["Sidebar"] = "Zoek";
 $locale["Skipping"] = "Overgeslagen";
 $locale["Sorry for the inconvenience."] = "Excuses voor het ongemak.";
+$locale["Template Name"] = "Template Naam";
 $locale["TextFormattingRules"] = "TekstFormatteringsRegels";
 $locale["Thank you for editing %s."] = "Bedankt voor het veranderen van %s.";
 $locale["The %d most popular pages of this wiki:"] = "De %d meestbezochte pagina's van deze Wiki:";
 $locale["The %d most recent %s are listed below."] = "De %d meest recent %s staan hieronder.";
+$locale["This page has been locked and cannot be edited."] = "Deze pagina is afgesloten en kan niet veranderd worden.";
 $locale["This page has been locked by the administrator so your changes can not be saved."] = "Deze pagina is afgesloten door de beheerder en je veranderingen kan niet bewaar worden.";
+$locale["Title 1"] = "Titel 1";
+$locale["Title 2"] = "Titel 2";
+$locale["Title 3"] = "Titel 3";
 $locale["Title Search"] = "Titel Zoek";
 $locale["Title search results for '%s'"] = "Titel zoek resultaten naar '%s'";
+$locale["Title search results for '%s' (%d total)"] = "Titel zoek resultaten naar '%s' (%d total)";
 $locale["TitleSearch"] = "TitelZoek";
 $locale["Unlock Page"] = "Sluit Pagina Af";
 $locale["Update Preferences"] = "Zet Voorkeuren";
 $locale["UserPreferences"] = "GebruikersVoorkeuren";
 $locale["Version"] = "Versie";
+$locale["Version "] = "Versie ";
 $locale["Version %d"] = "Versie %d";
 $locale["Version %s, saved on %s"] = "Versie %s, bewarrd op %s";
 $locale["Versions are identical"] = "Versies zijn identiek";
 $locale["View Source"] = "Bron Tekst";
 $locale["View Source: %s"] = "Bron tekst: %s";
 $locale["W"] = "B";
+$locale["Wanted Pages in this wiki (%d total):"] = "De %d meestbezochte pagina's van deze Wiki:";
 $locale["Width"] = "Breedte";
 $locale["Wiki Admin"] = "PhpWiki Beheer";
+$locale["You are about to purge '%s'!"] = "Je staat te verwijderen '%s'!";
 $locale["You are about to remove '%s'!"] = "Je staat te verwijderen '%s' op het punt!";
 $locale["You must specify a directory to dump to"] = "Je moet een directory specificeren om in te storten";
 $locale["Your careful attention to detail is much appreciated."] = "Je zorgvuldige aandacht voor detail wordt erg gewaardeerd.";
 $locale["Your home page has not been created yet so your preferences cannot not be saved."] = "Deze pagina is afgesloten door de beheerder en je veranderingen kan niet bewaar worden.";
+$locale["Your home page is locked so your preferences cannot not be saved."] = "Deze pagina is afgesloten en je veranderingen kan niet bewaar worden.";
 $locale["[%d] See [%s]"] = "[%d] Zie [%s]";
 $locale["by %s"] = "door %s";
 $locale["current version"] = "huidige versie";
 $locale["diff"] = "diff";
 $locale["from %s"] = "van %s";
+$locale["from '%s'"] = "van %s";
 $locale["locked"] = "låst";
+$locale["new pages"] = "nieuw pagina";
 $locale["plain file %s"] = "plat bestand %s";
 $locale["saved as %s"] = "bewaard als %s";
+$locale["to '%s'."] = "naar '%s'.";
 $locale["version %d"] = "versie %d";
 $locale["version %s"] = "versie %s";
 $locale["version <em>%s</em>"] =

Modified: trunk/src/plugins/wiki/www/locale/po/de.po
===================================================================
--- trunk/src/plugins/wiki/www/locale/po/de.po	2011-12-19 06:53:46 UTC (rev 15021)
+++ trunk/src/plugins/wiki/www/locale/po/de.po	2011-12-19 07:11:37 UTC (rev 15022)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PhpWiki 1.4.0RC1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-18 20:17+0200\n"
+"POT-Creation-Date: 2011-12-16 14:29+0100\n"
 "PO-Revision-Date: 2000-10-31 02:23+0200\n"
 "Last-Translator: Reini Urban <rurban at x-ray.at>, Carsten Klapp "
 "<carstenklapp at users.sourceforge.net>, Helmer Pardun <pardunpress at t-online."
@@ -17,26 +17,26 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../lib/CachedMarkup.php:536
+#: ../lib/CachedMarkup.php:535
 msgid "BAD semantic relation link"
 msgstr ""
 
-#: ../lib/CachedMarkup.php:568
+#: ../lib/CachedMarkup.php:566
 #, php-format
 msgid "Attribute %s, base value: %s"
 msgstr "Attribut %s, Basis: %s"
 
-#: ../lib/CachedMarkup.php:569
+#: ../lib/CachedMarkup.php:567
 #, php-format
 msgid "Attribute %s, value: %s"
 msgstr "Attribut %s, Wert: %s"
 
-#: ../lib/CachedMarkup.php:577
+#: ../lib/CachedMarkup.php:574
 #, php-format
 msgid "Relation %s to page %s"
 msgstr "Relation %s zu Seite %s"
 
-#: ../lib/CachedMarkup.php:632
+#: ../lib/CachedMarkup.php:629
 msgid "Found by "
 msgstr "Gefunden von "
 
@@ -149,10 +149,20 @@
 msgid "Older page:"
 msgstr "Ältere Seite:"
 
-#: ../lib/display.php:55 ../lib/display.php:321
-#: ../lib/plugin/HelloWorld.php:65 ../lib/plugin/PageGroup.php:158
-#: ../lib/plugin/PageGroup.php:169 ../lib/plugin/PageGroup.php:185
-#: ../lib/plugin/PageGroup.php:192 ../lib/plugin/PageHistory.php:236
+#: ../lib/diff.php:320
+#, php-format
+msgid "Content of versions %1$s and %2$s is identical."
+msgstr ""
+
+#: ../lib/diff.php:327
+#, php-format
+msgid "Version %1$s was created because: %2$s"
+msgstr ""
+
+#: ../lib/display.php:74 ../lib/display.php:344
+#: ../lib/plugin/HelloWorld.php:65 ../lib/plugin/PageGroup.php:154
+#: ../lib/plugin/PageGroup.php:165 ../lib/plugin/PageGroup.php:181
+#: ../lib/plugin/PageGroup.php:188 ../lib/plugin/PageHistory.php:236
 #: ../lib/plugin/UnfoldSubpages.php:154 ../themes/Crao/templates/head.tmpl:40
 #: ../themes/default/templates/head.tmpl:46
 #: ../themes/default/templates/top.tmpl:11
@@ -166,7 +176,7 @@
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: ../lib/display.php:86 ../lib/display.php:187 ../lib/display.php:425
+#: ../lib/display.php:105 ../lib/display.php:206 ../lib/display.php:448
 #: ../lib/plugin/LinkDatabase.php:42
 msgid "LinkDatabase"
 msgstr "LinkDatenbank"
@@ -174,7 +184,7 @@
 # (Im Wortsinne heißt das eigentlich: "jüngste = eben gemachte
 # Änderungen"; in terms of newspapers or journalism it's traditionally
 # "NeuesteNachrichten" or much more better "DasNeueste").
-#: ../lib/display.php:151 ../lib/display.php:387 ../lib/loadsave.php:1579
+#: ../lib/display.php:170 ../lib/display.php:410 ../lib/loadsave.php:1574
 #: ../lib/plugin/RecentChanges.php:62 ../lib/plugin/RecentChanges.php:210
 #: ../lib/plugin/RecentChanges.php:217 ../lib/plugin/RecentChanges.php:393
 #: ../lib/plugin/RecentChanges.php:681 ../lib/plugin/RecentChanges.php:1160
@@ -197,13 +207,13 @@
 msgid "RecentChanges"
 msgstr "NeuesteÄnderungen"
 
-#: ../lib/display.php:188 ../lib/display.php:426
-#: ../lib/plugin/FileInfo.php:124 ../lib/TextSearchQuery.php:115
+#: ../lib/display.php:207 ../lib/display.php:449
+#: ../lib/plugin/FileInfo.php:126 ../lib/TextSearchQuery.php:115
 #, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr "Nicht unterstütztes Argument: %s=%s"
 
-#: ../lib/display.php:258 ../lib/display.php:265
+#: ../lib/display.php:276 ../lib/display.php:283
 #: ../lib/plugin/BackLinks.php:29 ../lib/plugin/_WikiTranslation.php:50
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/Crao/templates/navbar.tmpl:18
@@ -216,19 +226,19 @@
 msgid "BackLinks"
 msgstr "BackLinks"
 
-#: ../lib/display.php:261 ../lib/display.php:268
+#: ../lib/display.php:279 ../lib/display.php:286
 #, php-format
 msgid "BackLinks for %s"
 msgstr "BackLinks für %s"
 
 # versandet (=full of sand) ;)
 # weitergeleitet von
-#: ../lib/display.php:276
+#: ../lib/display.php:294
 #, php-format
 msgid "(Redirected from %s)"
 msgstr "(Weitergeleitet von %s)"
 
-#: ../lib/display.php:344 ../themes/Crao/templates/head.tmpl:63
+#: ../lib/display.php:367 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/head.tmpl:64
 #: ../themes/default/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:72
@@ -354,13 +364,13 @@
 "(Kopieren Sie Ihre Veränderungen in die Zwischenablage. Sie können versuchen "
 "eine andere Seite zu edieren oder Ihr Text in einem Texteditor speichern.)"
 
-#: ../lib/editpage.php:568 ../lib/editpage.php:569 ../lib/main.php:800
-#: ../lib/main.php:1167 ../lib/plugin/ModeratedPage.php:42
-#: ../lib/plugin/ModeratedPage.php:146 ../lib/plugin/ModeratedPage.php:216
-#: ../lib/plugin/ModeratedPage.php:256 ../lib/plugin/ModeratedPage.php:259
-#: ../lib/plugin/ModeratedPage.php:261 ../lib/plugin/ModeratedPage.php:263
-#: ../lib/plugin/ModeratedPage.php:347 ../lib/plugin/ModeratedPage.php:351
-#: ../lib/plugin/ModeratedPage.php:406 ../lib/plugin/ModeratedPage.php:431
+#: ../lib/editpage.php:568 ../lib/editpage.php:569 ../lib/main.php:808
+#: ../lib/main.php:1175 ../lib/plugin/ModeratedPage.php:42
+#: ../lib/plugin/ModeratedPage.php:147 ../lib/plugin/ModeratedPage.php:217
+#: ../lib/plugin/ModeratedPage.php:257 ../lib/plugin/ModeratedPage.php:260
+#: ../lib/plugin/ModeratedPage.php:262 ../lib/plugin/ModeratedPage.php:264
+#: ../lib/plugin/ModeratedPage.php:348 ../lib/plugin/ModeratedPage.php:352
+#: ../lib/plugin/ModeratedPage.php:407 ../lib/plugin/ModeratedPage.php:432
 msgid "ModeratedPage"
 msgstr "ModerierteSeite"
 
@@ -373,7 +383,7 @@
 
 #: ../lib/editpage.php:571 ../lib/plugin/PasswordReset.php:154
 #: ../lib/plugin/UserPreferences.php:39 ../lib/plugin/WatchPage.php:122
-#: ../lib/plugin/WatchPage.php:142 ../themes/blog/templates/navbar.tmpl:17
+#: ../lib/plugin/WatchPage.php:144 ../themes/blog/templates/navbar.tmpl:17
 #: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
 #: ../themes/Crao/templates/navbar.tmpl:24
 #: ../themes/default/templates/head.tmpl:87
@@ -441,13 +451,13 @@
 msgid "Convert"
 msgstr "Konvertieren"
 
-#: ../lib/editpage.php:698 ../lib/EditToolbar.php:211
-#: ../lib/EditToolbar.php:213 ../lib/WysiwygEdit/Wikiwyg.php:79
+#: ../lib/editpage.php:698 ../lib/EditToolbar.php:210
+#: ../lib/EditToolbar.php:212 ../lib/WysiwygEdit/Wikiwyg.php:79
 msgid "Preview"
 msgstr "Vorschau"
 
-#: ../lib/editpage.php:705 ../lib/EditToolbar.php:204
-#: ../lib/EditToolbar.php:206 ../lib/WysiwygEdit/Wikiwyg.php:80
+#: ../lib/editpage.php:705 ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:205 ../lib/WysiwygEdit/Wikiwyg.php:80
 msgid "Save"
 msgstr "Speichern"
 
@@ -506,8 +516,8 @@
 msgid "String \"%s\" not found."
 msgstr "Zeichenkette \"%s\" nicht gefunden."
 
-#: ../lib/EditToolbar.php:54 ../lib/EditToolbar.php:256
-#: ../lib/EditToolbar.php:257 ../lib/plugin/WikiAdminSearchReplace.php:193
+#: ../lib/EditToolbar.php:54 ../lib/EditToolbar.php:255
+#: ../lib/EditToolbar.php:256 ../lib/plugin/WikiAdminSearchReplace.php:193
 msgid "Search & Replace"
 msgstr "Suchen & Ersetzen"
 
@@ -521,181 +531,165 @@
 
 #: ../lib/EditToolbar.php:57 ../lib/plugin/SyncWiki.php:299
 #: ../lib/plugin/SyncWiki.php:325 ../lib/plugin/SyncWiki.php:348
-#: ../lib/plugin/WikiPoll.php:220 ../lib/upgrade.php:195
-#: ../lib/upgrade.php:398 ../lib/upgrade.php:412 ../lib/upgrade.php:432
-#: ../lib/upgrade.php:441 ../lib/upgrade.php:465 ../lib/upgrade.php:493
-#: ../lib/upgrade.php:543 ../lib/upgrade.php:546 ../lib/upgrade.php:578
-#: ../lib/upgrade.php:580 ../lib/upgrade.php:607 ../lib/upgrade.php:667
-#: ../lib/upgrade.php:692 ../lib/upgrade.php:835 ../lib/upgrade.php:838
-#: ../lib/upgrade.php:905
+#: ../lib/plugin/WikiPoll.php:221 ../lib/stdlib.php:1954
+#: ../lib/upgrade.php:195 ../lib/upgrade.php:398 ../lib/upgrade.php:412
+#: ../lib/upgrade.php:432 ../lib/upgrade.php:441 ../lib/upgrade.php:465
+#: ../lib/upgrade.php:493 ../lib/upgrade.php:543 ../lib/upgrade.php:546
+#: ../lib/upgrade.php:578 ../lib/upgrade.php:580 ../lib/upgrade.php:607
+#: ../lib/upgrade.php:667 ../lib/upgrade.php:692 ../lib/upgrade.php:835
+#: ../lib/upgrade.php:838 ../lib/upgrade.php:905
 msgid "OK"
 msgstr "OK"
 
-#: ../lib/EditToolbar.php:58 ../lib/EditToolbar.php:323
-#: ../lib/EditToolbar.php:373 ../lib/EditToolbar.php:403
-#: ../lib/EditToolbar.php:441 ../lib/EditToolbar.php:476
+#: ../lib/EditToolbar.php:58 ../lib/EditToolbar.php:322
+#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:402
+#: ../lib/EditToolbar.php:440 ../lib/EditToolbar.php:475
 msgid "Close"
 msgstr "Schließen"
 
-#: ../lib/EditToolbar.php:126
+#: ../lib/EditToolbar.php:125
 msgid "Bold text"
 msgstr "Fetter Text"
 
-#: ../lib/EditToolbar.php:127
+#: ../lib/EditToolbar.php:126
 msgid "Bold text [alt-b]"
 msgstr "Fetter Text [alt-f]"
 
-#: ../lib/EditToolbar.php:131
+#: ../lib/EditToolbar.php:130
 msgid "Italic text"
 msgstr "Kursiver Text"
 
-#: ../lib/EditToolbar.php:132
+#: ../lib/EditToolbar.php:131
 msgid "Italic text [alt-i]"
 msgstr "Kursiver Text [alt-k]"
 
-#: ../lib/EditToolbar.php:136
+#: ../lib/EditToolbar.php:135
 msgid "Strike-through text"
 msgstr "Durchgestrichen"
 
-#: ../lib/EditToolbar.php:137
+#: ../lib/EditToolbar.php:136
 msgid "Strike"
 msgstr "Durchstreichen"
 
-#: ../lib/EditToolbar.php:141
+#: ../lib/EditToolbar.php:140
 msgid "Color text"
 msgstr "Farbiger Text"
 
-#: ../lib/EditToolbar.php:142
+#: ../lib/EditToolbar.php:141
 msgid "Color"
 msgstr "Farbe"
 
-#: ../lib/EditToolbar.php:146
+#: ../lib/EditToolbar.php:145
 msgid "PageName|optional label"
 msgstr "SeitenName|optionaler Name"
 
-#: ../lib/EditToolbar.php:147
+#: ../lib/EditToolbar.php:146
 msgid "Link to page"
 msgstr "Link auf Seite"
 
-#: ../lib/EditToolbar.php:151
+#: ../lib/EditToolbar.php:150
 msgid "http://www.example.com|optional label"
 msgstr "http://www.example.com|optionaler Name"
 
-#: ../lib/EditToolbar.php:152
+#: ../lib/EditToolbar.php:151
 msgid "External link (remember http:// prefix)"
 msgstr "Externer Link (http:// prefix)"
 
-#: ../lib/EditToolbar.php:156
+#: ../lib/EditToolbar.php:155
 msgid "Headline text"
 msgstr "Überschrift"
 
-#: ../lib/EditToolbar.php:157
+#: ../lib/EditToolbar.php:156
 msgid "Level 1 headline"
 msgstr "H1 Überschrift"
 
-#: ../lib/EditToolbar.php:161
+#: ../lib/EditToolbar.php:160
 msgid "Insert non-formatted text here"
 msgstr "Füge unformatierten Text hier ein"
 
-#: ../lib/EditToolbar.php:162
+#: ../lib/EditToolbar.php:161
 msgid "Ignore wiki formatting"
 msgstr "Keine Wiki Formatierung"
 
-#: ../lib/EditToolbar.php:167
+#: ../lib/EditToolbar.php:166
 msgid "Your signature"
 msgstr "Deine Signatur"
 
-#: ../lib/EditToolbar.php:172
+#: ../lib/EditToolbar.php:171
 msgid "Horizontal line"
 msgstr "Horizontale Trennlinie"
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:176
 msgid "Sample table"
 msgstr "Beispieltabelle"
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:181
 msgid "Enumeration"
 msgstr "Num. Liste"
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:186
 msgid "List"
 msgstr "Liste"
 
-#: ../lib/EditToolbar.php:192 ../lib/plugin/CreateToc.php:479
-#: ../lib/plugin/CreateToc.php:494
+#: ../lib/EditToolbar.php:191 ../lib/plugin/CreateToc.php:479
+#: ../lib/plugin/CreateToc.php:494 ../lib/WysiwygEdit/Wikiwyg.php:75
 msgid "Table of Contents"
 msgstr "Inhaltsverzeichnis"
 
-#: ../lib/EditToolbar.php:196 ../lib/PageList.php:491
+#: ../lib/EditToolbar.php:195 ../lib/PageList.php:491
 #: ../lib/plugin/AuthorHistory.php:152 ../lib/plugin/WantedPagesOld.php:143
 msgid "Page Name"
 msgstr "Seitenname"
 
-#: ../lib/EditToolbar.php:197 ../themes/default/templates/redirect.tmpl:17
+#: ../lib/EditToolbar.php:196 ../themes/default/templates/redirect.tmpl:17
 #: ../themes/default/templates/redirect.tmpl:40
 msgid "Redirect"
 msgstr "Weiterleiten"
 
-#: ../lib/EditToolbar.php:201
+#: ../lib/EditToolbar.php:200
 msgid "Template Name"
 msgstr "Vorlagenname"
 
-#: ../lib/EditToolbar.php:202 ../lib/plugin/PopularTags.php:57
+#: ../lib/EditToolbar.php:201 ../lib/plugin/PopularTags.php:57
 #: ../lib/plugin/Template.php:61
 msgid "Template"
 msgstr "Vorlage"
 
-#: ../lib/EditToolbar.php:234
+#: ../lib/EditToolbar.php:233
 msgid "Click a button to get an example text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:248 ../lib/EditToolbar.php:249
+#: ../lib/EditToolbar.php:247 ../lib/EditToolbar.php:248
 msgid "Undo Search & Replace"
 msgstr "Suchen & Ersetzen rückgängig machen"
 
-#: ../lib/EditToolbar.php:317
-msgid "AddCategory"
-msgstr "NeueKategorie"
-
-#: ../lib/EditToolbar.php:320
+#: ../lib/EditToolbar.php:316 ../lib/EditToolbar.php:319
 msgid "Insert Categories"
 msgstr "Neue Kategorie"
 
-#: ../lib/EditToolbar.php:322 ../lib/EditToolbar.php:372
-#: ../lib/EditToolbar.php:402 ../lib/EditToolbar.php:440
-#: ../lib/EditToolbar.php:475
+#: ../lib/EditToolbar.php:321 ../lib/EditToolbar.php:371
+#: ../lib/EditToolbar.php:401 ../lib/EditToolbar.php:439
+#: ../lib/EditToolbar.php:474
 msgid "Insert"
 msgstr "Einfügen"
 
-#: ../lib/EditToolbar.php:367 ../lib/EditToolbar.php:368
-msgid "AddPlugin"
-msgstr "Plugin einfügen"
-
-#: ../lib/EditToolbar.php:370
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
+#: ../lib/EditToolbar.php:369
 msgid "Insert Plugin"
 msgstr "Zusatzprogramme einfügen"
 
-#: ../lib/EditToolbar.php:397 ../lib/EditToolbar.php:398
-msgid "AddPageLink"
-msgstr "SeitenLink einfügen"
-
-#: ../lib/EditToolbar.php:400
+#: ../lib/EditToolbar.php:396 ../lib/EditToolbar.php:397
+#: ../lib/EditToolbar.php:399
 msgid "Insert PageLink"
 msgstr "SeitenLink einfügen"
 
-#: ../lib/EditToolbar.php:435 ../lib/EditToolbar.php:436
-msgid "Add Image or Video"
-msgstr "Bild oder Video einfügen"
-
-#: ../lib/EditToolbar.php:438
+#: ../lib/EditToolbar.php:434 ../lib/EditToolbar.php:435
+#: ../lib/EditToolbar.php:437
 msgid "Insert Image or Video"
 msgstr "Bild oder Video einfügen"
 
-#: ../lib/EditToolbar.php:470 ../lib/EditToolbar.php:471
-msgid "AddTemplate"
-msgstr "NeueVorlage"
-
-#: ../lib/EditToolbar.php:473
+#: ../lib/EditToolbar.php:469 ../lib/EditToolbar.php:470
+#: ../lib/EditToolbar.php:472
 msgid "Insert Template"
 msgstr "Vorlage einfügen"
 
@@ -704,7 +698,7 @@
 msgid "%s: error while handling error:"
 msgstr "%s: Fehler während der Fehlerbehandlung von:"
 
-#: ../lib/FileFinder.php:187 ../lib/loadsave.php:1158
+#: ../lib/FileFinder.php:187 ../lib/loadsave.php:1153
 #, php-format
 msgid "%s: file not found"
 msgstr "»%s«: Datei nicht gefunden"
@@ -720,7 +714,7 @@
 
 #: ../lib/IniConfig.php:997 ../lib/upgrade.php:70
 #: ../themes/blog/templates/browse-footer.tmpl:6
-#: ../themes/default/templates/userprefs.tmpl:132
+#: ../themes/default/templates/userprefs.tmpl:130
 #: ../themes/fusionforge/templates/navbar.tmpl:9
 #: ../themes/Wordpress/templates/actionbar.tmpl:21
 msgid "HomePage"
@@ -730,8 +724,8 @@
 msgid "Invalid [] syntax ignored"
 msgstr "Ungültige [] syntax ignoriert"
 
-#: ../lib/InlineParser.php:344 ../lib/plugin/ModeratedPage.php:256
-#: ../lib/plugin/ModeratedPage.php:259 ../lib/plugin/ModeratedPage.php:351
+#: ../lib/InlineParser.php:344 ../lib/plugin/ModeratedPage.php:257
+#: ../lib/plugin/ModeratedPage.php:260 ../lib/plugin/ModeratedPage.php:352
 #: ../lib/plugin/SemanticSearch.php:157 ../lib/plugin/SemanticSearch.php:240
 #: ../lib/plugin/SpellCheck.php:178 ../lib/plugin/WikiAdminRename.php:268
 #: ../lib/plugin/WikiAdminRename.php:272
@@ -742,12 +736,21 @@
 #: ../lib/upgrade.php:1112 ../themes/blog/templates/blogform.tmpl:10
 #: ../themes/default/templates/blogform.tmpl:10
 #: ../themes/fusionforge/templates/blogform.tmpl:10
-#: ../themes/fusionforge/themeinfo.php:55
+#: ../themes/fusionforge/themeinfo.php:51
 msgid ": "
 msgstr ": "
 
-#: ../lib/InlineParser.php:911
+#: ../lib/InlineParser.php:394 ../lib/main.php:769 ../lib/stdlib.php:970
+msgid "Page name too long"
+msgstr "Seite Name zu lang"
+
+#: ../lib/InlineParser.php:399 ../lib/main.php:776
 #, php-format
+msgid "Illegal character '%s' in page name."
+msgstr "Ungültiges Zeichen '%s' in Seitenname."
+
+#: ../lib/InlineParser.php:923
+#, php-format
 msgid "unknown color %s ignored"
 msgstr "unbekannte Farbe %s ignoriert"
 
@@ -760,6 +763,8 @@
 msgstr "Wiki Seiten als Dateien in lokales Verzeichnis speichern"
 
 #: ../lib/loadsave.php:75 ../themes/fusionforge/templates/navbar.tmpl:19
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/Sidebar/templates/navbar.tmpl:51
 msgid "Upload File"
 msgstr "Datei Hochladen"
 
@@ -778,8 +783,8 @@
 # Any better translation? The locale/de/pgsrc/PhpWikiSystemverwalten
 # must also be renamed to match what is here.
 #: ../lib/loadsave.php:85 ../lib/loadsave.php:475 ../lib/loadsave.php:1037
-#: ../lib/loadsave.php:1043 ../lib/loadsave.php:1051 ../lib/main.php:1063
-#: ../lib/main.php:1185 ../lib/main.php:1197 ../lib/PagePerm.php:190
+#: ../lib/loadsave.php:1043 ../lib/loadsave.php:1051 ../lib/main.php:1071
+#: ../lib/main.php:1193 ../lib/main.php:1205 ../lib/PagePerm.php:190
 #: ../lib/PagePerm.php:191 ../lib/plugin/WikiAdminRename.php:142
 #: ../lib/plugin/WikiAdminSelect.php:218
 #: ../themes/blog/templates/navbar.tmpl:14
@@ -803,7 +808,7 @@
 
 # (Wrong Translation; sorry, but the German term for edit is NOT
 # editieren, but  e d i e r e n).
-#: ../lib/loadsave.php:96 ../lib/MailNotify.php:288 ../lib/MailNotify.php:305
+#: ../lib/loadsave.php:96 ../lib/MailNotify.php:292 ../lib/MailNotify.php:309
 #, php-format
 msgid "Edited by: %s"
 msgstr "Bearbeitet von: %s"
@@ -866,7 +871,7 @@
 msgid "Dumping Pages"
 msgstr "Die Seiten werden geschrieben"
 
-#: ../lib/loadsave.php:367 ../lib/loadsave.php:630 ../lib/stdlib.php:1020
+#: ../lib/loadsave.php:367 ../lib/loadsave.php:630 ../lib/stdlib.php:1027
 msgid "Skipped."
 msgstr "Ausgelassen."
 
@@ -910,16 +915,17 @@
 msgid "Empty pagename!"
 msgstr "Leerer Seitenname!"
 
-#: ../lib/loadsave.php:907
-msgid "Invalid pagename!"
-msgstr "Ungültiger Seitenname!"
+#: ../lib/loadsave.php:907 ../lib/WikiTheme.php:688
+#, php-format
+msgid "'%s': Bad page name"
+msgstr "»%s«: Ungültiger Seitenname"
 
-#: ../lib/loadsave.php:913 ../lib/loadsave.php:1560 ../lib/PageType.php:136
+#: ../lib/loadsave.php:913 ../lib/loadsave.php:1555 ../lib/PageType.php:136
 #: ../lib/plugin/InterWikiSearch.php:52 ../lib/plugin/WantedPagesOld.php:73
-#: ../lib/plugin/WantedPages.php:51 ../themes/default/templates/info.tmpl:160
-#: ../themes/default/templates/info.tmpl:161
-#: ../themes/MonoBook/templates/info.tmpl:168
-#: ../themes/MonoBook/templates/info.tmpl:169
+#: ../lib/plugin/WantedPages.php:51 ../themes/default/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:159
+#: ../themes/MonoBook/templates/info.tmpl:164
+#: ../themes/MonoBook/templates/info.tmpl:165
 msgid "InterWikiMap"
 msgstr "InterWikiListe"
 
@@ -928,7 +934,7 @@
 msgid "from %s"
 msgstr "von %s"
 
-#: ../lib/loadsave.php:979 ../lib/MailNotify.php:284
+#: ../lib/loadsave.php:979 ../lib/MailNotify.php:288
 #: ../lib/plugin/RecentChanges.php:137
 msgid "New page"
 msgstr "Neue Seite"
@@ -958,17 +964,17 @@
 msgid "- saved to database as version %d"
 msgstr "- in der Datenbank gespeichert als Version %d."
 
-#: ../lib/loadsave.php:1027 ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1027 ../lib/loadsave.php:1293
 #, php-format
 msgid "MIME file %s"
 msgstr "MIME-Datei %s"
 
-#: ../lib/loadsave.php:1028 ../lib/loadsave.php:1309
+#: ../lib/loadsave.php:1028 ../lib/loadsave.php:1304
 #, php-format
 msgid "Serialized file %s"
 msgstr "Serialisierte Datei %s"
 
-#: ../lib/loadsave.php:1029 ../lib/loadsave.php:1331
+#: ../lib/loadsave.php:1029 ../lib/loadsave.php:1326
 #, php-format
 msgid "plain file %s"
 msgstr "Nur-Text-Datei %s"
@@ -992,34 +998,27 @@
 msgid " Sorry, cannot merge."
 msgstr " Konnte leider nicht automatisch einpflegen."
 
-#: ../lib/loadsave.php:1077 ../lib/loadsave.php:1087 ../lib/loadsave.php:1094
-#: ../lib/loadsave.php:1101 ../themes/default/templates/actionbar.tmpl:31
-#: ../themes/fusionforge/templates/actionbar.tmpl:77
-#: ../themes/fusionforge/templates/userprefs.tmpl:253
-#: ../themes/MonoBook/templates/actionbar.tmpl:73
-#: ../themes/Sidebar/templates/actionbar.tmpl:47
-#: ../themes/smaller/templates/actionbar.tmpl:31
-#: ../themes/Wordpress/templates/actionbar.tmpl:60
-msgid "Revert"
-msgstr "Zurückspeichern"
-
-#: ../lib/loadsave.php:1078
-msgid "missing required version argument"
+#: ../lib/loadsave.php:1080
+#, fuzzy
+msgid "Revert: missing required version argument"
 msgstr "Parameter version muß angegeben werden"
 
-#: ../lib/loadsave.php:1086
-msgid "no page content"
+#: ../lib/loadsave.php:1087
+#, fuzzy
+msgid "No revert: no page content"
 msgstr "leerer Seiteninalt"
 
-#: ../lib/loadsave.php:1093
-msgid "same version page"
+#: ../lib/loadsave.php:1092
+#, fuzzy
+msgid "No revert: same version page"
 msgstr "selbe Version der Seite"
 
-#: ../lib/loadsave.php:1100
-msgid "Cancelled"
+#: ../lib/loadsave.php:1097
+#, fuzzy
+msgid "Revert cancelled"
 msgstr "Abgebrochen"
 
-#: ../lib/loadsave.php:1112 ../lib/plugin/PasswordReset.php:102
+#: ../lib/loadsave.php:1106 ../lib/plugin/PasswordReset.php:102
 #: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/UserPreferences.php:116
 #: ../lib/plugin/WatchPage.php:83 ../lib/plugin/WikiAdminChmod.php:141
 #: ../lib/plugin/WikiAdminChown.php:170 ../lib/plugin/WikiAdminMarkup.php:162
@@ -1027,85 +1026,85 @@
 #: ../lib/plugin/WikiAdminRename.php:208
 #: ../lib/plugin/WikiAdminSearchReplace.php:187
 #: ../lib/plugin/WikiAdminSetAcl.php:197
-#: ../themes/default/templates/info.tmpl:134
+#: ../themes/default/templates/info.tmpl:132
 msgid "Yes"
 msgstr "Ja"
 
-#: ../lib/loadsave.php:1114 ../lib/plugin/PasswordReset.php:105
+#: ../lib/loadsave.php:1108 ../lib/plugin/PasswordReset.php:105
 #: ../lib/plugin/PasswordReset.php:148 ../lib/plugin/TranslateText.php:113
 #: ../lib/plugin/UserPreferences.php:118 ../lib/plugin/WatchPage.php:85
 #: ../lib/plugin/WatchPage.php:90 ../lib/plugin/WikiAdminChmod.php:154
-#: ../lib/plugin/WikiAdminChown.php:183 ../lib/plugin/WikiAdminMarkup.php:175
-#: ../lib/plugin/WikiAdminPurge.php:154 ../lib/plugin/WikiAdminRemove.php:219
+#: ../lib/plugin/WikiAdminChown.php:184 ../lib/plugin/WikiAdminMarkup.php:176
+#: ../lib/plugin/WikiAdminPurge.php:155 ../lib/plugin/WikiAdminRemove.php:220
 #: ../lib/plugin/WikiAdminRename.php:231
 #: ../lib/plugin/WikiAdminSearchReplace.php:199
 #: ../lib/plugin/WikiAdminSelect.php:148 ../lib/plugin/WikiAdminSetAcl.php:210
 #: ../lib/plugin/WikiAdminSetExternal.php:131
 #: ../lib/plugin/WikiAdminUtils.php:293 ../lib/plugin/WikiFormRich.php:307
-#: ../lib/purgepage.php:23 ../lib/removepage.php:23 ../lib/upgrade.php:791
+#: ../lib/purgepage.php:25 ../lib/removepage.php:25 ../lib/upgrade.php:791
 #: ../themes/default/templates/login.tmpl:88
-#: ../themes/default/templates/userprefs.tmpl:278
-#: ../themes/fusionforge/templates/userprefs.tmpl:367
+#: ../themes/default/templates/userprefs.tmpl:291
+#: ../themes/fusionforge/templates/userprefs.tmpl:391
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: ../lib/loadsave.php:1128
+#: ../lib/loadsave.php:1122
 #, php-format
 msgid "revert to version %d"
 msgstr "Speichere Version %d zurück."
 
-#: ../lib/loadsave.php:1134
+#: ../lib/loadsave.php:1129
 #, php-format
 msgid "Revert: %s"
 msgstr "Zurückspeichern: %s"
 
-#: ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1130
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr "- version %d in der Datenbank gespeichert als Version %d."
 
-#: ../lib/loadsave.php:1153 ../lib/WikiGroup.php:838
+#: ../lib/loadsave.php:1148 ../lib/WikiGroup.php:838
 #, php-format
 msgid "%s: not defined"
 msgstr "%s: nicht definiert"
 
-#: ../lib/loadsave.php:1163
+#: ../lib/loadsave.php:1158
 msgid "Default InterWiki map file not loaded."
 msgstr "Standard-Datei der InterWikiListe nicht geladen."
 
-#: ../lib/loadsave.php:1170 ../lib/PageType.php:298
+#: ../lib/loadsave.php:1165 ../lib/PageType.php:298
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr "Die InterWikiListe wird von der externen Datei %s geladen."
 
-#: ../lib/loadsave.php:1346 ../lib/loadsave.php:1359
+#: ../lib/loadsave.php:1341 ../lib/loadsave.php:1354
 msgid "Skipping"
 msgstr "Übersprungen"
 
-#: ../lib/loadsave.php:1460
+#: ../lib/loadsave.php:1455
 #, php-format
 msgid "Empty or not existing source. Unable to load: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1467
+#: ../lib/loadsave.php:1462
 #, php-format
 msgid "Bad file type: %s"
 msgstr "Ungültiger Dateityp: %s"
 
-#: ../lib/loadsave.php:1484
+#: ../lib/loadsave.php:1479
 #, php-format
 msgid "Loading '%s'"
 msgstr "»%s« wird geladen"
 
-#: ../lib/loadsave.php:1516
+#: ../lib/loadsave.php:1511
 msgid "Loading up virgin wiki"
 msgstr "Lade neue Seiten in das frische Wiki"
 
-#: ../lib/loadsave.php:1572
+#: ../lib/loadsave.php:1567
 msgid "No uploaded file to upload?"
 msgstr "Keine Datei zum Hochladen?"
 
-#: ../lib/loadsave.php:1575
+#: ../lib/loadsave.php:1570
 #, php-format
 msgid "Uploading %s"
 msgstr "%s wird hochgeladen"
@@ -1115,40 +1114,41 @@
 msgid "PageChange Notification of %s"
 msgstr "SeitenÄnderung Benachrichtigung von %s"
 
-#: ../lib/MailNotify.php:229
+#: ../lib/MailNotify.php:233
 #, php-format
 msgid "sent to %s"
 msgstr "an %s gesendet"
 
-#: ../lib/MailNotify.php:235
+#: ../lib/MailNotify.php:239
 #, php-format
 msgid "Error: Couldn't send %s to %s"
 msgstr "Fehler: Konnte nicht %s an %s senden"
 
-#: ../lib/MailNotify.php:257
+#: ../lib/MailNotify.php:261
 msgid "Page change"
 msgstr "Seiten Änderung"
 
-#: ../lib/MailNotify.php:289
+#: ../lib/MailNotify.php:293
 #, php-format
 msgid "Summary: %s"
 msgstr "Zusammenfassung: %s"
 
-#: ../lib/MailNotify.php:306
+#: ../lib/MailNotify.php:310
 #, php-format
 msgid "Page rename %s to %s"
 msgstr "Seite »%s« nach umbenennen »%s«"
 
-#: ../lib/MailNotify.php:343
+#: ../lib/MailNotify.php:347
 #, php-format
 msgid "User %s removed page %s"
 msgstr "Seite gelöscht %s von Benutzer %s"
 
-#: ../lib/MailNotify.php:379
-msgid "E-Mail address confirmation"
+#: ../lib/MailNotify.php:383 ../lib/plugin/WikiAdminUtils.php:113
+#: ../lib/WikiUserNew.php:1782
+msgid "E-mail address confirmation"
 msgstr "E-Mail Bestätigung"
 
-#: ../lib/MailNotify.php:382
+#: ../lib/MailNotify.php:386
 #, php-format
 msgid ""
 "Someone, probably you from IP address %s, has registered an\n"
@@ -1393,55 +1393,47 @@
 msgstr ""
 "Das Herunterladen aller Wiki-Seiten als HTML-Dateien in einer Zip-Datei"
 
-#: ../lib/main.php:769
-msgid "Illegal character '"
-msgstr "Ungültiges Zeichen"
-
-#: ../lib/main.php:769
-msgid "' in page name."
-msgstr "' in Seitenname."
-
-#: ../lib/main.php:788
+#: ../lib/main.php:796
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:791
+#: ../lib/main.php:799
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:796
+#: ../lib/main.php:804
 msgid "You must wait for moderator approval."
 msgstr "Sie müssen auf die Zustimmung des Moderators warten."
 
-#: ../lib/main.php:816 ../lib/plugin/ModeratedPage.php:308
+#: ../lib/main.php:824 ../lib/plugin/ModeratedPage.php:309
 #, php-format
 msgid "%s: Bad action"
 msgstr "%s: Ungültige Aktion"
 
-#: ../lib/main.php:833
+#: ../lib/main.php:841
 msgid "Fatal PhpWiki Error"
 msgstr "Fataler PhpWiki-Fehler"
 
-#: ../lib/main.php:1084
+#: ../lib/main.php:1092
 msgid "Chown"
 msgstr "Chown"
 
-#: ../lib/main.php:1088
+#: ../lib/main.php:1096
 msgid "SetAcl"
 msgstr "AclSetzen"
 
-#: ../lib/main.php:1092
+#: ../lib/main.php:1100
 msgid "SetAclSimple"
 msgstr ""
 
-#: ../lib/main.php:1096 ../lib/PagePerm.php:190
+#: ../lib/main.php:1104 ../lib/PagePerm.php:190
 #: ../lib/plugin/WikiAdminRename.php:142 ../lib/plugin/WikiAdminRename.php:268
 #: ../themes/fusionforge/templates/actionbar.tmpl:120
 msgid "Rename"
 msgstr "Umbenennen"
 
-#: ../lib/main.php:1100 ../lib/main.php:1105 ../lib/plugin/PageDump.php:56
+#: ../lib/main.php:1108 ../lib/main.php:1113 ../lib/plugin/PageDump.php:56
 #: ../themes/Crao/templates/actionbar.tmpl:32
 #: ../themes/default/templates/actionbar.tmpl:40
 #: ../themes/MonoBook/templates/actionbar.tmpl:80
@@ -1453,13 +1445,13 @@
 msgid "PageDump"
 msgstr "SeiteSpeichern"
 
-#: ../lib/main.php:1123 ../lib/plugin/FullTextSearch.php:46
+#: ../lib/main.php:1131 ../lib/plugin/FullTextSearch.php:46
 #: ../lib/plugin/WantedPagesOld.php:126
 msgid "FullTextSearch"
 msgstr "VolltextSuche"
 
-#: ../lib/main.php:1131 ../lib/plugin/RecentChanges.php:808
-#: ../lib/plugin/TitleSearch.php:44 ../lib/WikiTheme.php:1475
+#: ../lib/main.php:1139 ../lib/plugin/RecentChanges.php:808
+#: ../lib/plugin/TitleSearch.php:44 ../lib/WikiTheme.php:1472
 #: ../themes/Crao/templates/navbar.tmpl:5
 #: ../themes/Crao/templates/navbar.tmpl:9
 #: ../themes/Crao/templates/navbar.tmpl:52
@@ -1473,37 +1465,37 @@
 msgid "TitleSearch"
 msgstr "TitelSuche"
 
-#: ../lib/main.php:1305 ../lib/main.php:1318 ../lib/Request.php:821
+#: ../lib/main.php:1313 ../lib/main.php:1326 ../lib/Request.php:821
 #, php-format
 msgid "%s is not writable."
 msgstr "%s is nicht änderbar."
 
-#: ../lib/main.php:1306
+#: ../lib/main.php:1314
 msgid "The session.save_path directory"
 msgstr "Das session.save_path Verzeichnis"
 
-#: ../lib/main.php:1308 ../lib/Request.php:823
+#: ../lib/main.php:1316 ../lib/Request.php:823
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 "Bitte überprüfen Sie, dass %s änderbar ist, oder ändern Sie %s in config/"
 "config.ini."
 
-#: ../lib/main.php:1309
+#: ../lib/main.php:1317
 #, php-format
 msgid "the session.save_path directory '%s'"
 msgstr "das session.save_path Verzeichnis »%s«"
 
-#: ../lib/main.php:1313
+#: ../lib/main.php:1321
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr "Versuche stattdessen das Verzeichnis »%s« zu verwenden."
 
-#: ../lib/main.php:1320
+#: ../lib/main.php:1328
 msgid "Users will not be able to sign in."
 msgstr "Benutzer werden sich nicht anmelden können."
 
-#: ../lib/main.php:1332
+#: ../lib/main.php:1340
 msgid "Your PHP version is too old. You must have at least PHP 4.3.9"
 msgstr ""
 
@@ -1546,20 +1538,20 @@
 
 #: ../lib/PageList.php:530 ../lib/plugin/WikiAdminSetAcl.php:242
 #: ../themes/default/templates/info.tmpl:73
-#: ../themes/MonoBook/templates/info.tmpl:87
+#: ../themes/MonoBook/templates/info.tmpl:86
 #, php-format
 msgid "page permission inherited from %s"
 msgstr "Zugriffsrecht geerbt von %s"
 
 #: ../lib/PageList.php:532 ../lib/plugin/WikiAdminSetAcl.php:244
 #: ../themes/default/templates/info.tmpl:75
-#: ../themes/MonoBook/templates/info.tmpl:89
+#: ../themes/MonoBook/templates/info.tmpl:88
 msgid "individual page permission"
 msgstr "individuelles Zugriffsrecht"
 
 #: ../lib/PageList.php:534 ../lib/plugin/WikiAdminSetAcl.php:246
 #: ../themes/default/templates/info.tmpl:77
-#: ../themes/MonoBook/templates/info.tmpl:91
+#: ../themes/MonoBook/templates/info.tmpl:90
 msgid "default page permission"
 msgstr "Vorgabe Zugriffsrecht"
 
@@ -1579,6 +1571,8 @@
 
 #: ../lib/PageList.php:1178 ../lib/plugin/WikiAdminSetAcl.php:193
 #: ../lib/plugin/WikiAdminSetAcl.php:248
+#: ../themes/default/templates/info.tmpl:140
+#: ../themes/MonoBook/templates/info.tmpl:146
 msgid "ACL"
 msgstr "ACL"
 
@@ -1587,23 +1581,26 @@
 msgstr ""
 
 #: ../lib/PageList.php:1184 ../themes/default/templates/info.tmpl:57
-#: ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/MonoBook/templates/info.tmpl:71
 msgid "Last Modified"
 msgstr "Zuletzt geändert"
 
-#: ../lib/PageList.php:1186
+#: ../lib/PageList.php:1186 ../themes/default/templates/info.tmpl:116
+#: ../themes/MonoBook/templates/info.tmpl:128
 msgid "Hits"
 msgstr "Treffer"
 
 #: ../lib/PageList.php:1188 ../themes/Crao/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:40
+#: ../themes/default/templates/info.tmpl:111
 #: ../themes/fusionforge/templates/editpage.tmpl:35
+#: ../themes/MonoBook/templates/info.tmpl:123
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 msgid "Size"
 msgstr "Größe"
 
 #: ../lib/PageList.php:1191 ../themes/default/templates/info.tmpl:59
-#: ../themes/MonoBook/templates/info.tmpl:74
+#: ../themes/MonoBook/templates/info.tmpl:73
 msgid "Last Summary"
 msgstr "Letzte Zusammenfassung"
 
@@ -1613,7 +1610,7 @@
 msgstr "Version"
 
 #: ../lib/PageList.php:1196 ../themes/default/templates/info.tmpl:58
-#: ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/MonoBook/templates/info.tmpl:72
 msgid "Last Author"
 msgstr "Letzter Autor"
 
@@ -1627,9 +1624,9 @@
 
 #: ../lib/PageList.php:1206 ../themes/Crao/templates/editpage.tmpl:62
 #: ../themes/default/templates/editpage.tmpl:81
-#: ../themes/default/templates/info.tmpl:129
+#: ../themes/default/templates/info.tmpl:127
 #: ../themes/fusionforge/templates/editpage.tmpl:62
-#: ../themes/MonoBook/templates/info.tmpl:143
+#: ../themes/MonoBook/templates/info.tmpl:139
 #: ../themes/Wordpress/templates/editpage.tmpl:62
 msgid "Locked"
 msgstr "Gesperrt"
@@ -1654,7 +1651,8 @@
 msgid "minor"
 msgstr "kleinere"
 
-#: ../lib/PageList.php:1215
+#: ../lib/PageList.php:1215 ../themes/default/templates/info.tmpl:107
+#: ../themes/MonoBook/templates/info.tmpl:119
 msgid "Markup"
 msgstr "Quelltext"
 
@@ -1755,7 +1753,7 @@
 msgid "WARNING: InterWikiMap page is unlocked, so not using those links."
 msgstr "ACHTUNG: Die InterWikiListe Seite ist ungesperrt. Ignoriert."
 
-#: ../lib/PageType.php:259 ../lib/PageType.php:262 ../lib/stdlib.php:834
+#: ../lib/PageType.php:259 ../lib/PageType.php:262 ../lib/stdlib.php:841
 #: ../themes/default/templates/navbar.tmpl:8
 #: ../themes/default/templates/navbar.tmpl:10
 #: ../themes/fusionforge/templates/actionbar.tmpl:16
@@ -1788,23 +1786,32 @@
 msgid "Show and add comments for %s"
 msgstr "Kommentare für %s zeigen und hinzufügen"
 
-#: ../lib/plugin/AddComment.php:73 ../lib/plugin/WikiForum.php:71
-msgid "No pagename specified"
-msgstr "Keine Seite angegeben"
+#: ../lib/plugin/AddComment.php:73 ../lib/plugin/Chart.php:77
+#: ../lib/plugin/CreateBib.php:111 ../lib/plugin/CreateToc.php:378
+#: ../lib/plugin/FileInfo.php:61 ../lib/plugin/FileInfo.php:64
+#: ../lib/plugin/GoogleMaps.php:91 ../lib/plugin/GoogleMaps.php:94
+#: ../lib/plugin/IncludePage.php:78 ../lib/plugin/ModeratedPage.php:63
+#: ../lib/plugin/PageGroup.php:95 ../lib/plugin/SyncWiki.php:70
+#: ../lib/plugin/SyntaxHighlighter.php:126 ../lib/plugin/Template.php:108
+#: ../lib/plugin/WikiFormRich.php:173 ../lib/plugin/WikiFormRich.php:190
+#: ../lib/plugin/WikiForum.php:71 ../lib/plugin/WikiPoll.php:143
+#, php-format
+msgid "A required argument '%s' is missing."
+msgstr "Erforderliches Argument »%s« fehlt."
 
-#: ../lib/plugin/AddComment.php:98
+#: ../lib/plugin/AddComment.php:99
 msgid "Click to hide the comments"
 msgstr "Klicken um Kommentare zu verstecken"
 
-#: ../lib/plugin/AddComment.php:101
+#: ../lib/plugin/AddComment.php:102
 msgid "Click to display all comments"
 msgstr "Klicken um Kommentare anzuzeigen"
 
-#: ../lib/plugin/AddComment.php:106 ../lib/plugin/CreateToc.php:492
+#: ../lib/plugin/AddComment.php:107 ../lib/plugin/CreateToc.php:492
 msgid "Click to display"
 msgstr "Klicken um anzuzeigen"
 
-#: ../lib/plugin/AddComment.php:108
+#: ../lib/plugin/AddComment.php:109
 msgid "Comments"
 msgstr "Kommentare"
 
@@ -1817,32 +1824,32 @@
 msgid "List all pages in this wiki."
 msgstr "Alle Seiten in diesem Wiki auflisten."
 
-#: ../lib/plugin/AllPages.php:69
+#: ../lib/plugin/AllPages.php:68
 #, php-format
 msgid "All pages in this wiki (%d total):"
 msgstr "Alle Seiten in diesem Wiki (%d insgesamt):"
 
-#: ../lib/plugin/AllPages.php:75
+#: ../lib/plugin/AllPages.php:74
 #, php-format
 msgid "List of user-created pages (%d total):"
 msgstr "Liste der Benutzer erzeugten Seiten (%d insgesamt):"
 
-#: ../lib/plugin/AllPages.php:84 ../lib/plugin/LinkDatabase.php:81
+#: ../lib/plugin/AllPages.php:83 ../lib/plugin/LinkDatabase.php:81
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr "Liste der Seiten owned by [%s] (%d insgesamt):"
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:88
+#: ../lib/plugin/AllPages.php:96 ../lib/plugin/LinkDatabase.php:88
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr "Liste der Seiten last edited by [%s] (%d insgesamt):"
 
-#: ../lib/plugin/AllPages.php:110 ../lib/plugin/LinkDatabase.php:95
+#: ../lib/plugin/AllPages.php:109 ../lib/plugin/LinkDatabase.php:95
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr "Liste der Seiten erzeugt von [%s] (%d insgesamt):"
 
-#: ../lib/plugin/AllPages.php:140 ../lib/plugin/AllUsers.php:102
+#: ../lib/plugin/AllPages.php:139 ../lib/plugin/AllUsers.php:102
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr "Dauer: %s s"
@@ -1988,8 +1995,8 @@
 
 #: ../lib/plugin/AppendText.php:89
 #, php-format
-msgid "Page could not be updated. %s doesn't exist!\n"
-msgstr "Seite konnte nicht geändert werden. %s existiert nicht!\n"
+msgid "Page could not be updated. %s doesn't exist!"
+msgstr "Seite konnte nicht geändert werden. %s existiert nicht!"
 
 #: ../lib/plugin/AppendText.php:123
 #, php-format
@@ -2052,7 +2059,7 @@
 
 #: ../lib/plugin/AuthorHistory.php:65 ../themes/blog/templates/info.tmpl:6
 #: ../themes/MonoBook/templates/actionbar.tmpl:78
-#: ../themes/MonoBook/templates/info.tmpl:187
+#: ../themes/MonoBook/templates/info.tmpl:183
 #: ../themes/Sidebar/templates/actionbar.tmpl:57
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "AuthorHistory"
@@ -2074,7 +2081,7 @@
 #: ../lib/plugin/AuthorHistory.php:113
 #: ../themes/default/templates/info.tmpl:63
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/MonoBook/templates/info.tmpl:78
+#: ../themes/MonoBook/templates/info.tmpl:77
 msgid "Author"
 msgstr "Autor"
 
@@ -2083,7 +2090,7 @@
 #: ../themes/default/templates/editpage.tmpl:51
 #: ../themes/default/templates/info.tmpl:64
 #: ../themes/fusionforge/templates/editpage.tmpl:42
-#: ../themes/MonoBook/templates/info.tmpl:79
+#: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:47
 msgid "Summary"
@@ -2109,7 +2116,7 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/actionbar.tmpl:31
 #: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/MonoBook/templates/info.tmpl:193
+#: ../themes/MonoBook/templates/info.tmpl:189
 #: ../themes/Portland/templates/actionbar.tmpl:18
 #: ../themes/smaller/templates/info.tmpl:17
 #: ../themes/Wordpress/templates/actionbar.tmpl:77
@@ -2242,7 +2249,7 @@
 msgstr "Bearbeite %s"
 
 #: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../lib/WikiTheme.php:1530 ../lib/WikiUser.php:478
+#: ../lib/WikiTheme.php:1527 ../lib/WikiUser.php:478
 #: ../themes/blog/templates/sidebar.tmpl:16
 #: ../themes/Crao/templates/head.tmpl:83
 #: ../themes/Crao/templates/navbar.tmpl:29
@@ -2299,11 +2306,6 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:111 ../lib/plugin/IncludePage.php:78
-#: ../lib/plugin/RateIt.php:212
-msgid "no page specified"
-msgstr "Keine Seite angegeben"
-
 #: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr "NeueSeite"
@@ -2355,10 +2357,6 @@
 msgid "Create a Table of Contents and automatically link to headers"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:378 ../lib/plugin/Template.php:108
-msgid "No page specified."
-msgstr "Keine Seite angegeben."
-
 #: ../lib/plugin/CreateToc.php:389
 msgid "Error: firstlevelstyle must be 'number', 'letter' or 'roman'"
 msgstr ""
@@ -2379,7 +2377,7 @@
 msgstr ""
 
 #: ../lib/plugin/CreateToc.php:411 ../lib/plugin/IncludePage.php:107
-#: ../lib/plugin/PageGroup.php:124 ../lib/plugin/Template.php:145
+#: ../lib/plugin/PageGroup.php:120 ../lib/plugin/Template.php:145
 #, php-format
 msgid "%s: no such revision %d."
 msgstr "%s(%d): keine solche Version"
@@ -2404,7 +2402,7 @@
 msgid "DeadEndPages"
 msgstr "VerwaisteSeiten"
 
-#: ../lib/plugin/Diff.php:36 ../lib/WikiTheme.php:1031
+#: ../lib/plugin/Diff.php:36 ../lib/WikiTheme.php:1028
 #: ../themes/blog/themeinfo.php:67
 msgid "Diff"
 msgstr "Diff"
@@ -2513,24 +2511,17 @@
 msgid "Display file information like version, size, date... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:61 ../lib/plugin/FileInfo.php:63
-#: ../lib/plugin/PageGroup.php:98 ../lib/plugin/SyncWiki.php:70
-#: ../lib/plugin/WikiFormRich.php:173 ../lib/plugin/WikiFormRich.php:190
+#: ../lib/plugin/FileInfo.php:78
 #, php-format
-msgid "A required argument '%s' is missing."
-msgstr "Erforderliches Argument »%s« fehlt."
-
-#: ../lib/plugin/FileInfo.php:76
-#, php-format
 msgid "File '%s' not found."
 msgstr "Datei '%s' nicht gefunden"
 
-#: ../lib/plugin/FileInfo.php:90
+#: ../lib/plugin/FileInfo.php:92
 msgid ""
 "Output suppressed. FileInfoPlugin with local files require a locked page."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:91
+#: ../lib/plugin/FileInfo.php:93
 msgid "page not locked"
 msgstr "Seite nicht gesperrt"
 
@@ -2596,9 +2587,9 @@
 msgstr ""
 
 #: ../lib/plugin/FrameInclude.php:89 ../lib/plugin/Template.php:123
-#, fuzzy, php-format
+#, php-format
 msgid "Recursive inclusion of page %s"
-msgstr "Fehler beim Einbetten der Seite %s: Rekursiver Selbstaufruf der Seite"
+msgstr "Rekursiver Selbstaufruf der Seite %s"
 
 # (??? Parameter = Hilfsgröße!!!Bezugseinheit!!! Bezugsgröße!!!)
 #: ../lib/plugin/FrameInclude.php:95
@@ -2607,9 +2598,9 @@
 msgstr "%s oder %s Argument fehlt"
 
 #: ../lib/plugin/FrameInclude.php:101 ../lib/plugin/Transclude.php:88
-#, fuzzy, php-format
+#, php-format
 msgid "Recursive inclusion of url %s"
-msgstr "Fehler beim Aufruf der Seite %s: Rekursion (sich selbst aufrufend)"
+msgstr "Rekursiver Selbstaufruf der URL %s"
 
 #: ../lib/plugin/FrameInclude.php:108 ../lib/plugin/SemanticSearch.php:287
 #: ../lib/plugin/TeX2png.php:228 ../lib/plugin/text2png.php:81
@@ -2686,15 +2677,12 @@
 "Displays a marker with further infos (when clicking) on given coordinates"
 msgstr ""
 
-#: ../lib/plugin/GoogleMaps.php:91 ../lib/plugin/GoogleMaps.php:94
-#: ../lib/plugin/Transclude.php:73
+#: ../lib/plugin/GoogleMaps.php:103 ../lib/plugin/YouTube.php:104
+#: ../lib/plugin/YouTube.php:106 ../lib/plugin/YouTube.php:108
+#: ../lib/plugin/YouTube.php:110 ../lib/plugin/YouTube.php:134
+#: ../lib/plugin/YouTube.php:136
 #, php-format
-msgid "%s parameter missing"
-msgstr "%s Argument fehlt"
-
-#: ../lib/plugin/GoogleMaps.php:103
-#, php-format
-msgid "invalid argument %s"
+msgid "Invalid argument %s"
 msgstr "Ungültiger Parameter %s"
 
 #: ../lib/plugin/GoogleMaps.php:123
@@ -2745,7 +2733,7 @@
 msgstr ""
 
 #: ../lib/plugin/GraphViz.php:278 ../lib/plugin/GraphViz.php:286
-#: ../lib/plugin/SpellCheck.php:139 ../lib/plugin/SyntaxHighlighter.php:142
+#: ../lib/plugin/SpellCheck.php:139 ../lib/plugin/SyntaxHighlighter.php:144
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr "Konnte Programm »%s« nicht starten"
@@ -2803,29 +2791,29 @@
 #: ../lib/plugin/IncludePage.php:85 ../lib/plugin/IncludePage.php:128
 #: ../lib/plugin/ListSubpages.php:94 ../lib/plugin/Template.php:167
 #: ../lib/plugin/UnfoldSubpages.php:100 ../lib/plugin/UnfoldSubpages.php:130
-#, fuzzy, php-format
+#, php-format
 msgid "Recursive inclusion of page %s ignored"
-msgstr "Fehler beim Einfügen der Seite %s: rekursiver Selbstaufruf ignoriert"
+msgstr "Rekursiver Selbstaufruf der Seite %s ignoriert"
 
 #: ../lib/plugin/IncludePage.php:91
-#, fuzzy, php-format
+#, php-format
 msgid "Page '%s' does not exist"
-msgstr "Gruppenseite »%s« existiert nicht"
+msgstr "Seite »%s« existiert nicht"
 
 #: ../lib/plugin/IncludePage.php:96 ../lib/plugin/UnfoldSubpages.php:107
 #: ../lib/plugin/UnfoldSubpages.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Illegal inclusion of page %s: no read access"
-msgstr "Fehler beim Einfügen der Seite %s: rekursiver Selbstaufruf ignoriert"
+msgstr ""
 
 #: ../lib/plugin/IncludePage.php:103 ../lib/plugin/Template.php:141
 msgid "Error: rev must be a positive integer."
 msgstr ""
 
 #: ../lib/plugin/IncludePage.php:157
-#, fuzzy, php-format
+#, php-format
 msgid "Included from %s (revision %d)"
-msgstr "Eingefügter Text von %s"
+msgstr "Eingefügter Text von %s (Version %d)"
 
 #: ../lib/plugin/IncludePage.php:159
 #, php-format
@@ -2855,14 +2843,12 @@
 msgstr "Bette rekursiv alle verlinkten Seiten ein, angefangen mit %s"
 
 #: ../lib/plugin/IncludeTree.php:39
-#, fuzzy
 msgid "IncludeTree"
-msgstr "SeiteEinfügen"
+msgstr ""
 
 #: ../lib/plugin/IncludeTree.php:43
-#, fuzzy
 msgid "Dynamic Category Tree"
-msgstr "Kategorie"
+msgstr ""
 
 #: ../lib/plugin/InterWikiSearch.php:31
 msgid "InterWikiSearch"
@@ -3072,12 +3058,12 @@
 msgid "Support moderated pages"
 msgstr "Unterstütze moderierte Seiten"
 
-#: ../lib/plugin/ModeratedPage.php:150 ../lib/plugin/ModeratedPage.php:175
-#: ../lib/plugin/ModeratedPage.php:221
+#: ../lib/plugin/ModeratedPage.php:151 ../lib/plugin/ModeratedPage.php:176
+#: ../lib/plugin/ModeratedPage.php:222
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr "ModerierteSeite: Keine E-Mails für Moderatoren definiert"
 
-#: ../lib/plugin/ModeratedPage.php:156
+#: ../lib/plugin/ModeratedPage.php:157
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -3085,12 +3071,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:161
+#: ../lib/plugin/ModeratedPage.php:162
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr "'%s' ist keine ModeratierteSeite mehr."
 
-#: ../lib/plugin/ModeratedPage.php:181
+#: ../lib/plugin/ModeratedPage.php:182
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -3098,42 +3084,42 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:248
+#: ../lib/plugin/ModeratedPage.php:249
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:274
+#: ../lib/plugin/ModeratedPage.php:275
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr "ModerierteSeite Benachrichtigungsfehler: Konnte kein E-Mail versenden"
 
-#: ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:354
 #, php-format
 msgid "%s approved your wiki action from %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:365
+#: ../lib/plugin/ModeratedPage.php:366
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:401
+#: ../lib/plugin/ModeratedPage.php:402
 msgid "Reason: "
 msgstr "Grund: "
 
-#: ../lib/plugin/ModeratedPage.php:402
+#: ../lib/plugin/ModeratedPage.php:403
 msgid "Approve"
 msgstr "Akzeptieren"
 
-#: ../lib/plugin/ModeratedPage.php:404
+#: ../lib/plugin/ModeratedPage.php:405
 msgid "Reject"
 msgstr "Ablehnen"
 
-#: ../lib/plugin/ModeratedPage.php:432 ../lib/plugin/ModeratedPage.php:439
+#: ../lib/plugin/ModeratedPage.php:433 ../lib/plugin/ModeratedPage.php:440
 #, php-format
 msgid "<<ModeratedPage ... >> not found in first line of %s"
 msgstr "<<ModeratedPage ... >> nicht in erster Zeile von %s gefunden"
 
-#: ../lib/plugin/ModeratedPage.php:435
+#: ../lib/plugin/ModeratedPage.php:436
 #, php-format
 msgid "%s is not locked!"
 msgstr "%s ist nicht gesperrt!"
@@ -3318,30 +3304,30 @@
 msgid "PageGroup for %s"
 msgstr "SeitenGruppe für »%s«"
 
-#: ../lib/plugin/PageGroup.php:56 ../lib/plugin/PageGroup.php:103
+#: ../lib/plugin/PageGroup.php:56 ../lib/plugin/PageGroup.php:99
 #: ../lib/plugin/PrevNext.php:65
 msgid "Contents"
 msgstr "Inhalt"
 
-#: ../lib/plugin/PageGroup.php:87 ../lib/stdlib.php:2175
+#: ../lib/plugin/PageGroup.php:87 ../lib/stdlib.php:2182
 #, php-format
 msgid "<%s: no such section>"
 msgstr "<%s: unbekannte Sektion>"
 
-#: ../lib/plugin/PageGroup.php:101 ../lib/plugin/PrevNext.php:62
+#: ../lib/plugin/PageGroup.php:97 ../lib/plugin/PrevNext.php:62
 #: ../themes/default/templates/pagelink.tmpl:26
 msgid "Next"
 msgstr "Nächste"
 
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PrevNext.php:61
+#: ../lib/plugin/PageGroup.php:98 ../lib/plugin/PrevNext.php:61
 msgid "Previous"
 msgstr "Vorherige"
 
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/PrevNext.php:60
+#: ../lib/plugin/PageGroup.php:100 ../lib/plugin/PrevNext.php:60
 msgid "First"
 msgstr "Erste"
 
-#: ../lib/plugin/PageGroup.php:105 ../lib/plugin/PrevNext.php:63
+#: ../lib/plugin/PageGroup.php:101 ../lib/plugin/PrevNext.php:63
 msgid "Last"
 msgstr "Letzte"
 
@@ -3372,7 +3358,7 @@
 #: ../themes/Crao/templates/actionbar.tmpl:26
 #: ../themes/default/templates/actionbar.tmpl:34
 #: ../themes/MonoBook/templates/actionbar.tmpl:43
-#: ../themes/MonoBook/templates/info.tmpl:186
+#: ../themes/MonoBook/templates/info.tmpl:182
 #: ../themes/Portland/templates/actionbar.tmpl:15
 #: ../themes/Portland/templates/viewsource.tmpl:19
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
@@ -3501,10 +3487,8 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:165
-#, fuzzy
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr ""
-"Sie müssen Administratorrechte haben, um dieses Zusatzprogramm zu benutzen."
 
 #: ../lib/plugin/PasswordReset.php:177
 #, php-format
@@ -3607,7 +3591,7 @@
 msgstr ""
 
 #: ../lib/plugin/Ploticus.php:266 ../lib/plugin/SpellCheck.php:119
-#: ../lib/plugin/SyntaxHighlighter.php:147
+#: ../lib/plugin/SyntaxHighlighter.php:149
 msgid "empty source"
 msgstr "fehlender Quelltext"
 
@@ -3616,9 +3600,8 @@
 msgstr "ZusatzprogrammManager"
 
 #: ../lib/plugin/PluginManager.php:36
-#, fuzzy
 msgid "List of plugins on this wiki"
-msgstr "Alle Seiten in diesem Wiki auflisten."
+msgstr "Alle Zusatzprogrammen in diesem Wiki auflisten."
 
 #: ../lib/plugin/PluginManager.php:50
 msgid "Plugins"
@@ -3670,14 +3653,12 @@
 msgstr "Die %d meistbesuchten Seiten in der Nähe: "
 
 #: ../lib/plugin/PopularTags.php:33
-#, fuzzy
 msgid "PopularTags"
-msgstr "MeistBesuchtNahe"
+msgstr ""
 
 #: ../lib/plugin/PopularTags.php:37
-#, fuzzy
 msgid "List the most popular tags."
-msgstr "Die meistbesucht Seiten werden aufgelistet."
+msgstr "Die meistbesucht Tags werden aufgelistet."
 
 #: ../lib/plugin/PopularTags.php:52 ../lib/plugin/_WikiTranslation.php:51
 msgid "CategoryCategory"
@@ -3700,9 +3681,8 @@
 msgstr ""
 
 #: ../lib/plugin/PreferenceApp.php:53
-#, fuzzy
 msgid "PreferenceApp"
-msgstr "Voreinstellungen"
+msgstr ""
 
 #: ../lib/plugin/PreferenceApp.php:57
 msgid "Analyzes preferences based on voting budget and ratings."
@@ -3714,21 +3694,19 @@
 msgstr ""
 
 #: ../lib/plugin/PreferenceApp.php:198
-#, fuzzy
 msgid "Total Units"
-msgstr "Anzahl aller Seitenaufrufe %d"
+msgstr ""
 
 #: ../lib/plugin/PreferenceApp.php:201
-#, fuzzy
 msgid "Total Voters"
-msgstr "%d Benutzeroberfläche gesamt: "
+msgstr ""
 
 #: ../lib/plugin/PreferenceApp.php:272
 msgid "Total Budget"
 msgstr ""
 
 #: ../lib/plugin/_PreferencesInfo.php:30
-#: ../themes/default/templates/userprefs.tmpl:13
+#: ../themes/default/templates/userprefs.tmpl:11
 #: ../themes/fusionforge/templates/userprefs.tmpl:11
 msgid "PreferencesInfo"
 msgstr "EinstellungenInfo"
@@ -3756,9 +3734,8 @@
 msgstr ""
 
 #: ../lib/plugin/Processing.php:31
-#, fuzzy
 msgid "Processing"
-msgstr "Zugriffsrecht"
+msgstr ""
 
 #: ../lib/plugin/Processing.php:35
 msgid "Render inline Processing"
@@ -3791,50 +3768,46 @@
 msgstr ""
 
 #: ../lib/plugin/RateIt.php:148
-#, fuzzy
 msgid "Your current rating: "
-msgstr "Deine Bewertung "
+msgstr "Deine Bewertung: "
 
-# (verify=verwirklichen, in die Tat umsetzen, durch- oder ausführen)
 #: ../lib/plugin/RateIt.php:149
-#, fuzzy
 msgid "Your current prediction: "
-msgstr "um die gegenwärtige Aktion durchzuführen"
+msgstr ""
 
 #: ../lib/plugin/RateIt.php:150
-#, fuzzy
 msgid "Change your rating from "
-msgstr "Deine Bewertung "
+msgstr "Ändern Sie Ihre Bewertung ab "
 
 #: ../lib/plugin/RateIt.php:151
-#, fuzzy
 msgid " to "
-msgstr "nach"
+msgstr " nach "
 
 #: ../lib/plugin/RateIt.php:152
-#, fuzzy
 msgid "Add your rating: "
-msgstr "Deine Bewertung "
+msgstr ""
 
 #: ../lib/plugin/RateIt.php:153
 msgid "Thanks!"
-msgstr ""
+msgstr "Danke!"
 
 #: ../lib/plugin/RateIt.php:154
 msgid "Rating deleted!"
 msgstr ""
 
+#: ../lib/plugin/RateIt.php:212
+msgid "no page specified"
+msgstr "Keine Seite angegeben"
+
 #: ../lib/plugin/RateIt.php:259 ../lib/plugin/RateIt.php:263
 #, php-format
 msgid "Your rating was %.1f"
 msgstr "Deine Bewertung war %.1f"
 
-# (Wrong Translation; sorry, but the German term for edit is NOT
-# editieren, but  e d i e r e n).
 #: ../lib/plugin/RateIt.php:269
-#, fuzzy, php-format
+#, php-format
 msgid "Prediction: %s"
-msgstr "Bearbeite: %s"
+msgstr ""
 
 #: ../lib/plugin/RateIt.php:273
 #, php-format
@@ -3846,7 +3819,6 @@
 msgstr "Bewerte es"
 
 #: ../lib/plugin/RateIt.php:388
-#, fuzzy
 msgid "Cancel your rating"
 msgstr "Bewertung löschen"
 
@@ -3879,9 +3851,8 @@
 #: ../lib/plugin/RecentChanges.php:59
 #: ../themes/MonoBook/templates/navbar.tmpl:18
 #: ../themes/Sidebar/templates/navbar.tmpl:46
-#, fuzzy
 msgid "RecentNewPages"
-msgstr "NeuesteÄnderungen"
+msgstr ""
 
 # KleineÄnderungen?
 #: ../lib/plugin/RecentChanges.php:61 ../lib/plugin/RecentChanges.php:393
@@ -3902,19 +3873,16 @@
 msgstr "diff"
 
 #: ../lib/plugin/RecentChanges.php:171
-#, fuzzy
 msgid "hist"
-msgstr "(protok.)"
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:214
-#, fuzzy
 msgid "contribs"
-msgstr "Kommentare"
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:221
-#, fuzzy
 msgid "new pages"
-msgstr "Neue Seite"
+msgstr "neue Seiten"
 
 #: ../lib/plugin/RecentChanges.php:278
 msgid "edits"
@@ -3939,29 +3907,28 @@
 
 # Erzeugen??
 #: ../lib/plugin/RecentChanges.php:286
-#, fuzzy
 msgid "created new pages"
-msgstr "um diese Seite zu erzeugen"
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:292
-#, fuzzy, php-format
+#, php-format
 msgid " for pages changed by %s"
-msgstr "Keine Änderungen."
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:298
-#, fuzzy, php-format
+#, php-format
 msgid " for pages owned by %s"
-msgstr "Liste der Seiten owned by [%s] (%d insgesamt):"
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:301
-#, fuzzy, php-format
+#, php-format
 msgid " for all pages linking to %s"
-msgstr "Keine Seiten sind mit %s verlinkt."
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:304
-#, fuzzy, php-format
+#, php-format
 msgid " for all pages matching '%s'"
-msgstr "Alle Seiten, die mit %s verlinkt sind."
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:329
 #, php-format
@@ -4027,9 +3994,8 @@
 msgstr "TitelSuche"
 
 #: ../lib/plugin/RecentChanges.php:1164
-#, fuzzy
 msgid "List all recent changes in this wiki."
-msgstr "Alle Seiten in diesem Wiki auflisten."
+msgstr "Alle Änderungen in diesem Wiki auflisten."
 
 #: ../lib/plugin/RecentChanges.php:1370
 msgid "Show changes for:"
@@ -4070,33 +4036,27 @@
 msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:1472
-#, fuzzy
 msgid "All modifications"
-msgstr "E-Mail Bestätigung"
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:1483
-#, fuzzy
 msgid "Page once only"
-msgstr "Inhalt: "
+msgstr ""
 
 # (Im Wortsinne heißt das eigentlich: "jüngste = eben gemachte
 # Änderungen"; in terms of newspapers or journalism it's traditionally
 # "NeuesteNachrichten" or much more better "DasNeueste").
 #: ../lib/plugin/RecentChanges.php:1483
-#, fuzzy
 msgid "Full changes"
-msgstr "AlleNeuesteÄnderungen"
+msgstr ""
 
-# Erzeugen??
 #: ../lib/plugin/RecentChanges.php:1494
-#, fuzzy
 msgid "Old and new pages"
-msgstr "um diese Seite zu erzeugen"
+msgstr ""
 
 #: ../lib/plugin/RecentChanges.php:1494
-#, fuzzy
 msgid "New pages only"
-msgstr "Neue Seite"
+msgstr "Nur neue Seiten"
 
 #: ../lib/plugin/RecentComments.php:36 ../lib/plugin/RecentComments.php:53
 #: ../themes/MonoBook/templates/navbar.tmpl:17
@@ -4112,9 +4072,8 @@
 msgstr "Letzter Kommentar von "
 
 #: ../lib/plugin/RecentEdits.php:33
-#, fuzzy
 msgid "List all recent edits in this wiki."
-msgstr "Alle Seiten in diesem Wiki auflisten."
+msgstr "Alle geringfügige Änderungen in diesem Wiki auflisten."
 
 # KleineÄnderungen?
 #: ../lib/plugin/RecentEdits.php:54
@@ -4134,24 +4093,22 @@
 msgstr "WeiterLeiten"
 
 #: ../lib/plugin/RedirectTo.php:47
-#, fuzzy
 msgid "Redirects to another URL or page."
-msgstr "Weiterleitung zu einer externen Webseite oder localer Seite."
+msgstr ""
 
 #: ../lib/plugin/RedirectTo.php:68
 msgid "Illegal characters in external URL."
 msgstr ""
 
 #: ../lib/plugin/RedirectTo.php:72
-#, fuzzy
 msgid "Redirect to an external URL is only allowed in locked pages."
-msgstr "%s wird/werden nur in gesperrten Seiten erlaubt."
+msgstr ""
+"Weiterleitung zu einer externen URL ist nur in gesperrten Seiten erlaubt."
 
 # (??? Parameter = Hilfsgröße!!!Bezugseinheit!!! Bezugsgröße!!!)
 #: ../lib/plugin/RedirectTo.php:81
-#, fuzzy
 msgid "'href' or 'page' parameter missing."
-msgstr "%s oder %s Argument fehlt"
+msgstr ""
 
 #: ../lib/plugin/RedirectTo.php:85
 #, php-format
@@ -4172,9 +4129,9 @@
 msgstr "(auf Seiten verlinkt von \"%s\")"
 
 #: ../lib/plugin/RelatedChanges.php:49
-#, fuzzy
 msgid "List of changes on all pages which are linked to from this page."
-msgstr "Liste aller Seiten, die von keiner anderen Seite verlinkt sind."
+msgstr ""
+"Liste der Änderungen auf allen Seiten, die von diese Seite verlinkt sind."
 
 #: ../lib/plugin/RelatedChanges.php:57 ../lib/plugin/RelatedChanges.php:86
 msgid "Related Changes"
@@ -4198,9 +4155,9 @@
 msgstr ""
 
 #: ../lib/plugin/_Retransform.php:48
-#, fuzzy, php-format
+#, php-format
 msgid "Retransform page '%s'"
-msgstr "ACL für Seite '%s' geändert."
+msgstr ""
 
 #: ../lib/plugin/RichTable.php:34
 msgid "RichTable"
@@ -4241,9 +4198,8 @@
 msgstr "SemantischeBeziehungen"
 
 #: ../lib/plugin/SemanticRelations.php:38
-#, fuzzy
 msgid "Display the list of relations and attributes on this page."
-msgstr "Ändern von Eigenschaften"
+msgstr ""
 
 #: ../lib/plugin/SemanticRelations.php:88
 #: ../lib/plugin/SemanticRelations.php:108 ../lib/plugin/SemanticSearch.php:58
@@ -4271,9 +4227,8 @@
 
 #: ../lib/plugin/SemanticSearchAdvanced.php:62
 #: ../lib/plugin/SemanticSearch.php:220
-#, fuzzy
 msgid "SemanticSearchAdvanced"
-msgstr "SemantischeSuche"
+msgstr ""
 
 #: ../lib/plugin/SemanticSearchAdvanced.php:65
 msgid "Parse and execute a full query expression"
@@ -4288,9 +4243,8 @@
 msgstr ""
 
 #: ../lib/plugin/SemanticSearchAdvanced.php:117
-#, fuzzy
 msgid "Pagename(s): "
-msgstr "Seitenname"
+msgstr "Seitenname(n): "
 
 #: ../lib/plugin/SemanticSearchAdvanced.php:135
 msgid "Help/SemanticSearchAdvancedPlugin"
@@ -4308,9 +4262,8 @@
 msgstr ""
 
 #: ../lib/plugin/SemanticSearch.php:61
-#, fuzzy
 msgid "Search relations and attributes"
-msgstr "Ändern von Eigenschaften"
+msgstr ""
 
 #: ../lib/plugin/SemanticSearch.php:104
 msgid "Filter by this relation. With autocompletion."
@@ -4349,9 +4302,8 @@
 msgstr ""
 
 #: ../lib/plugin/SemanticSearch.php:216
-#, fuzzy
 msgid "Attributes"
-msgstr "Attribute für %s"
+msgstr "Attribute"
 
 #: ../lib/plugin/SemanticSearch.php:217
 msgid "Search in pages for an attribute with that numeric value."
@@ -4409,9 +4361,8 @@
 msgstr ""
 
 #: ../lib/plugin/SpellCheck.php:120
-#, fuzzy
 msgid "SpellCheck"
-msgstr "Auswahl"
+msgstr ""
 
 #: ../lib/plugin/SpellCheck.php:121
 msgid "Cannot SpellCheck myself"
@@ -4483,9 +4434,8 @@
 msgstr ""
 
 #: ../lib/plugin/SyncWiki.php:209
-#, fuzzy
 msgid "Now upload all locally newer uploads."
-msgstr "Keine Datei zum Hochladen?"
+msgstr ""
 
 #: ../lib/plugin/SyncWiki.php:211
 #, php-format
@@ -4493,31 +4443,30 @@
 msgstr ""
 
 #: ../lib/plugin/SyncWiki.php:274
-#, fuzzy, php-format
+#, php-format
 msgid "%s force"
-msgstr "%s Wörter"
+msgstr ""
 
 #: ../lib/plugin/SyncWiki.php:278
-#, fuzzy, php-format
+#, php-format
 msgid "Postponed %s for %s."
-msgstr "Fehlender %s für %s"
+msgstr ""
 
 #: ../lib/plugin/SyncWiki.php:285 ../lib/plugin/SyncWiki.php:294
 #: ../lib/plugin/SyncWiki.php:309 ../lib/plugin/SyncWiki.php:318
 #: ../lib/plugin/SyncWiki.php:337
-#, fuzzy
 msgid "skipped"
-msgstr " ausgelassen"
+msgstr "ausgelassen"
 
 #: ../lib/plugin/SyncWiki.php:294 ../lib/plugin/SyncWiki.php:318
-#, fuzzy
 msgid "same content"
-msgstr "leerer Seiteninalt"
+msgstr "gleiche Seiteninalt"
 
 #: ../lib/plugin/SyncWiki.php:301 ../lib/plugin/SyncWiki.php:327
 #: ../lib/plugin/SyncWiki.php:329 ../lib/plugin/SyncWiki.php:350
 #: ../lib/plugin/SyncWiki.php:352 ../lib/upgrade.php:197
-#: ../lib/upgrade.php:538 ../lib/upgrade.php:576 ../lib/upgrade.php:1110
+#: ../lib/upgrade.php:538 ../lib/upgrade.php:576 ../lib/upgrade.php:681
+#: ../lib/upgrade.php:889 ../lib/upgrade.php:1110
 msgid "FAILED"
 msgstr "FEHLER"
 
@@ -4529,11 +4478,7 @@
 msgid "Source code syntax highlighter (via http://www.andre-simon.de)"
 msgstr ""
 
-#: ../lib/plugin/SyntaxHighlighter.php:125
-msgid "Syntax language not specified."
-msgstr "Keine Syntax angegeben."
-
-#: ../lib/plugin/SyntaxHighlighter.php:134
+#: ../lib/plugin/SyntaxHighlighter.php:136
 #, php-format
 msgid "invalid %s ignored"
 msgstr "ungültiges %s ignoriert"
@@ -4642,14 +4587,14 @@
 msgstr "%d Seite(n) die mehr als %d aufgerufen haben (>%d%%)."
 
 #: ../lib/plugin/SystemInfo.php:400
-#, fuzzy, php-format
+#, php-format
 msgid "Application size: %d KiB"
-msgstr "Anwendungsplatzbedarf: %d KB"
+msgstr "Anwendungsplatzbedarf: %d KiB"
 
 #: ../lib/plugin/SystemInfo.php:402
-#, fuzzy, php-format
+#, php-format
 msgid "Pagedata size: %d KiB"
-msgstr "Größe der Seitendaten: %d KB"
+msgstr "Größe der Seitendaten: %d KiB"
 
 #: ../lib/plugin/SystemInfo.php:420
 #, php-format
@@ -4756,9 +4701,9 @@
 msgstr ""
 
 #: ../lib/plugin/Template.php:134
-#, fuzzy, php-format
+#, php-format
 msgid "Illegal inclusion of page %s: no read access."
-msgstr "Fehler beim Einfügen der Seite %s: rekursiver Selbstaufruf ignoriert"
+msgstr "Fehler beim Einfügen der Seite %s: kein Lesezugriff."
 
 #: ../lib/plugin/TeX2png.php:45
 msgid "TeX2png"
@@ -4775,9 +4720,8 @@
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:185
-#, fuzzy
 msgid "TeX imagepath not writable."
-msgstr "Keine Schreibrechte für das TeX Verzeichnis."
+msgstr "Keine Schreibrechte für das TeX Bildpath"
 
 #: ../lib/plugin/TeX2png.php:226 ../lib/plugin/text2png.php:79
 msgid "Sorry, this version of PHP cannot create PNG image files."
@@ -4821,9 +4765,9 @@
 msgstr "Die Titeln aller Seiten dieses Wikis durchsuchen."
 
 #: ../lib/plugin/TitleSearch.php:92
-#, fuzzy, php-format
+#, php-format
 msgid "Title search results for '%s' (%d total)"
-msgstr "Titel-Suchresultate nach »%s«"
+msgstr "Titel-Suchresultate nach »%s« (%d total)"
 
 #: ../lib/plugin/TitleSearch.php:94
 #, php-format
@@ -4842,6 +4786,11 @@
 msgid "Transcluded page"
 msgstr "Eingebettete Seite"
 
+#: ../lib/plugin/Transclude.php:73
+#, php-format
+msgid "%s parameter missing"
+msgstr "%s Argument fehlt"
+
 #: ../lib/plugin/Transclude.php:103
 #, php-format
 msgid "See: %s"
@@ -4943,12 +4892,10 @@
 msgstr ""
 
 #: ../lib/plugin/UpLoad.php:178
-#, fuzzy
 msgid "You cannot upload files."
-msgstr "Die Upload-Logdatei konnte nicht geöffnet worden."
+msgstr ""
 
 #: ../lib/plugin/UpLoad.php:180
-#, fuzzy
 msgid "Check you are logged in."
 msgstr "Sie sollten jetzt angemeldet sein."
 
@@ -4966,9 +4913,9 @@
 "ZUGRIFF VERWEIGERT: Bitte melden Sie sich erst an, um Dateien hochzuladen."
 
 #: ../lib/plugin/UpLoad.php:212
-#, fuzzy, php-format
+#, php-format
 msgid "ERROR uploading '%s'"
-msgstr "FEHLER beim Hochladen von »%s«: "
+msgstr "FEHLER beim Hochladen von »%s«"
 
 #: ../lib/plugin/UpLoad.php:217
 #, php-format
@@ -4976,18 +4923,17 @@
 msgstr "Dateien mit der Endung %s sind nicht erlaubt."
 
 #: ../lib/plugin/UpLoad.php:225
-#, fuzzy, php-format
+#, php-format
 msgid "Only files with the extension %s are allowed."
-msgstr "Nur Dateien mit der Endung HTML sind erlaubt"
+msgstr "Nur Dateien mit der Endung %s sind erlaubt"
 
 #: ../lib/plugin/UpLoad.php:231
-#, fuzzy
 msgid ""
 "Invalid filename. File names may only contain alphanumeric characters and "
 "dot, underscore, space or dash."
 msgstr ""
 "Dateinamen dürfen nur folgende Zeichen enthalten: alphanumerische Zeichen, "
-"Punkt, Unterstrich und Bindestrich."
+"Punkt, Unterstrich, Leerzeichen und Bindestrich."
 
 #: ../lib/plugin/UpLoad.php:235
 #, php-format
@@ -5016,7 +4962,6 @@
 msgstr ""
 
 #: ../lib/plugin/UpLoad.php:290
-#, fuzzy
 msgid "The upload logfile exists but is not writable."
 msgstr "Die Upload Logdatei ist nicht schreibbar."
 
@@ -5049,7 +4994,6 @@
 "BenutzerEinstellungen können deshalb leider nicht gespeichert werden."
 
 #: ../lib/plugin/UserPreferences.php:106
-#, fuzzy
 msgid "Your UserPreferences have been successfully reset to default."
 msgstr "Ihre BenutzerEinstellungen wurden erfolgreich gelöscht."
 
@@ -5078,9 +5022,8 @@
 msgstr "Keine Änderungen."
 
 #: ../lib/plugin/UserPreferences.php:154
-#, fuzzy
 msgid "One UserPreferences field successfully updated."
-msgstr "%d BenutzerEinstellungen erfolgreich auf neuesten Stand gebracht."
+msgstr "Eined BenutzerEinstellung erfolgreich auf neuesten Stand gebracht."
 
 #: ../lib/plugin/UserPreferences.php:156
 #, php-format
@@ -5124,9 +5067,8 @@
 msgstr "Bewerte"
 
 #: ../lib/plugin/Video.php:49
-#, fuzzy
 msgid "Video"
-msgstr "QuellTextAnsicht"
+msgstr ""
 
 #: ../lib/plugin/Video.php:53
 msgid "Display video in Flash"
@@ -5134,9 +5076,8 @@
 
 # (??? Parameter = Hilfsgröße!!!Bezugseinheit!!! Bezugsgröße!!!)
 #: ../lib/plugin/Video.php:72
-#, fuzzy
 msgid "Both 'url' or 'file' parameters missing."
-msgstr "%s oder %s Argument fehlt"
+msgstr ""
 
 #: ../lib/plugin/Video.php:74
 msgid "Choose only one of 'url' or 'file' parameters."
@@ -5236,7 +5177,7 @@
 msgid "The page %s is already watched!"
 msgstr "Diese Seite %s is schon beobachtet"
 
-#: ../lib/plugin/WatchPage.php:88 ../lib/WikiTheme.php:1030
+#: ../lib/plugin/WatchPage.php:88 ../lib/WikiTheme.php:1027
 #: ../themes/blog/templates/actionbar.tmpl:19 ../themes/blog/themeinfo.php:66
 #: ../themes/Crao/templates/actionbar.tmpl:5
 #: ../themes/default/templates/actionbar.tmpl:16
@@ -5261,7 +5202,12 @@
 msgid "ERROR: No email defined! You need to do this in your "
 msgstr ""
 
-#: ../lib/plugin/WatchPage.php:158
+#: ../lib/plugin/WatchPage.php:138
+#, fuzzy
+msgid "WatchPage cancelled"
+msgstr "SeiteBeobarten"
+
+#: ../lib/plugin/WatchPage.php:160
 msgid ""
 "E-Mail Notification for the current page successfully stored in your "
 "preferences."
@@ -5276,7 +5222,7 @@
 msgstr "Zeige Überblick über alle aktuellen Benutzersessions."
 
 #: ../lib/plugin/WhoIsOnline.php:75
-msgid "Who is online"
+msgid "Who is Online"
 msgstr "Wer ist Online"
 
 #: ../lib/plugin/WhoIsOnline.php:78
@@ -5404,20 +5350,24 @@
 msgid "PhpWikiAdministration/Chown"
 msgstr "PhpWikiSystemverwalten/Chown"
 
-#: ../lib/plugin/WikiAdminChown.php:173
+#: ../lib/plugin/WikiAdminChown.php:171
+msgid "Confirm ownership change"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminChown.php:174
 msgid "Are you sure you want to change the owner of the selected pages?"
 msgstr ""
 "Sind Sie sicher, dass Sie die ausgewählen Seiten wirklich ändern wollen?"
 
-#: ../lib/plugin/WikiAdminChown.php:177
+#: ../lib/plugin/WikiAdminChown.php:178
 msgid "Change owner of selected pages"
 msgstr "Den Besitzer der ausgewählte Seiten ändern"
 
-#: ../lib/plugin/WikiAdminChown.php:178
+#: ../lib/plugin/WikiAdminChown.php:179
 msgid "Select the pages to change the owner"
 msgstr "Wählen Sie die Seiten zum Ändern:"
 
-#: ../lib/plugin/WikiAdminChown.php:200
+#: ../lib/plugin/WikiAdminChown.php:201
 msgid "Change owner to: "
 msgstr "Besitzer ändern zu:"
 
@@ -5450,20 +5400,24 @@
 msgid "PhpWikiAdministration/Markup"
 msgstr "PhpWikiSystemverwalten/Formatierung"
 
-#: ../lib/plugin/WikiAdminMarkup.php:165
+#: ../lib/plugin/WikiAdminMarkup.php:163
+msgid "Confirm markup change"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminMarkup.php:166
 msgid "Are you sure you want to change the markup type of the selected files?"
 msgstr ""
 "Sind Sie sicher, dass Sie die ausgewählen Seiten wirklich ändern wollen?"
 
-#: ../lib/plugin/WikiAdminMarkup.php:169
+#: ../lib/plugin/WikiAdminMarkup.php:170
 msgid "Change markup type"
 msgstr "Ändere Formatierungs-Typ"
 
-#: ../lib/plugin/WikiAdminMarkup.php:170
+#: ../lib/plugin/WikiAdminMarkup.php:171
 msgid "Select the pages to change the markup type"
 msgstr "Wählen Sie die Seiten zum Ändern:"
 
-#: ../lib/plugin/WikiAdminMarkup.php:192
+#: ../lib/plugin/WikiAdminMarkup.php:193
 msgid "Change markup to: "
 msgstr "Ändere Formatierung zu:"
 
@@ -5475,7 +5429,7 @@
 msgid "Permanently purge all selected pages."
 msgstr "Endgültige Löschung aller ausgewählten Seiten."
 
-#: ../lib/plugin/WikiAdminPurge.php:67 ../lib/purgepage.php:53
+#: ../lib/plugin/WikiAdminPurge.php:67 ../lib/purgepage.php:56
 #, php-format
 msgid "Purged page '%s' successfully."
 msgstr "Seite »%s« erfolgreich gelöscht."
@@ -5504,16 +5458,20 @@
 msgid "PhpWikiAdministration/Purge"
 msgstr "PhpWikiSystemverwalten/Purge"
 
-#: ../lib/plugin/WikiAdminPurge.php:146
+#: ../lib/plugin/WikiAdminPurge.php:145 ../lib/purgepage.php:27
+msgid "Confirm purge"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminPurge.php:147
 msgid "Are you sure you want to permanently purge the following files?"
 msgstr ""
 "Sind Sie sicher, dass Sie die ausgewählen Seiten wirklich löschen wollen?"
 
-#: ../lib/plugin/WikiAdminPurge.php:149
+#: ../lib/plugin/WikiAdminPurge.php:150
 msgid "Permanently purge selected pages"
 msgstr "Endgültige Löschung aller ausgewählten Seiten."
 
-#: ../lib/plugin/WikiAdminPurge.php:150
+#: ../lib/plugin/WikiAdminPurge.php:151
 msgid "Select the files to purge"
 msgstr "Wählen Sie die Seiten zum Löschen:"
 
@@ -5525,7 +5483,7 @@
 msgid "Permanently remove all selected pages."
 msgstr "Endgültige Löschung aller ausgewählten Seiten."
 
-#: ../lib/plugin/WikiAdminRemove.php:111 ../lib/removepage.php:53
+#: ../lib/plugin/WikiAdminRemove.php:111 ../lib/removepage.php:56
 #, php-format
 msgid "Removed page '%s' successfully."
 msgstr "Seite »%s« erfolgreich gelöscht."
@@ -5554,30 +5512,34 @@
 msgid "PhpWikiAdministration/Remove"
 msgstr "PhpWikiSystemverwalten/Löschen"
 
-#: ../lib/plugin/WikiAdminRemove.php:192 ../lib/plugin/WikiAdminRemove.php:237
+#: ../lib/plugin/WikiAdminRemove.php:192 ../lib/plugin/WikiAdminRemove.php:238
 #: ../themes/blog/themeinfo.php:72
 msgid "Remove"
 msgstr "Löschen"
 
-#: ../lib/plugin/WikiAdminRemove.php:199
+#: ../lib/plugin/WikiAdminRemove.php:198 ../lib/removepage.php:27
+msgid "Confirm removal"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminRemove.php:200
 msgid "Are you sure you want to remove the selected files?"
 msgstr ""
 "Sind Sie sicher, dass Sie die ausgewählen Seiten wirklich löschen wollen?"
 
-#: ../lib/plugin/WikiAdminRemove.php:202
+#: ../lib/plugin/WikiAdminRemove.php:203
 msgid "Remove selected pages"
 msgstr "Ausgewählte Seiten löschen"
 
-#: ../lib/plugin/WikiAdminRemove.php:203
+#: ../lib/plugin/WikiAdminRemove.php:204
 msgid "Select the files to remove"
 msgstr "Wähle Seiten zum Umbenennen aus:"
 
-#: ../lib/plugin/WikiAdminRemove.php:206
+#: ../lib/plugin/WikiAdminRemove.php:207
 #, php-format
 msgid "Also pages which have been deleted at least %s days."
 msgstr "Auch Seiten, die in den letzten %s Tagen gelöscht wurden."
 
-#: ../lib/plugin/WikiAdminRemove.php:213
+#: ../lib/plugin/WikiAdminRemove.php:214
 #, php-format
 msgid "Pages which have been deleted at least %s days are already checked."
 msgstr ""
@@ -5601,9 +5563,9 @@
 msgid "Access denied to rename page '%s'."
 msgstr "Zugang verweigert um Seite '%s' zu ändern."
 
-#: ../lib/plugin/WikiAdminRename.php:92
+#: ../lib/plugin/WikiAdminRename.php:92 ../lib/plugin/WikiAdminRename.php:107
 #, php-format
-msgid "Renamed page from '%s' to '%s'"
+msgid "Renamed page from '%s' to '%s'."
 msgstr "Seite '%s' auf '%s' umbenannt."
 
 #: ../lib/plugin/WikiAdminRename.php:101
@@ -5611,11 +5573,6 @@
 msgid "Renaming created redirect page from '%s' to '%s'"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminRename.php:107
-#, php-format
-msgid "Renamed page '%s' to '%s'."
-msgstr "Seite '%s' auf '%s' umbenannt."
-
 #: ../lib/plugin/WikiAdminRename.php:111 ../lib/plugin/WikiAdminRename.php:115
 #, php-format
 msgid "Couldn't rename page '%s' to '%s'."
@@ -5644,8 +5601,9 @@
 "Sind Sie sicher, dass Sie die ausgewählen Seiten wirklich umbenennen wollen?"
 
 #: ../lib/plugin/WikiAdminRename.php:215 ../lib/plugin/WikiAdminRename.php:241
-msgid "Rename page"
-msgstr "Seite umbenennen"
+#: ../lib/WikiTheme.php:1031
+msgid "Rename Page"
+msgstr "Seite Umbenennen"
 
 #: ../lib/plugin/WikiAdminRename.php:225
 msgid "Select the pages to rename:"
@@ -5850,19 +5808,16 @@
 # Any better translation? The locale/de/pgsrc/PhpWikiSystemverwalten
 # must also be renamed to match what is here.
 #: ../lib/plugin/WikiAdminSetExternal.php:95
-#, fuzzy
 msgid "PhpWikiAdministration/SetExternal"
-msgstr "PhpWikiSystemverwalten/AclSetzen"
+msgstr ""
 
 #: ../lib/plugin/WikiAdminSetExternal.php:127
-#, fuzzy
 msgid "Set pages to external"
-msgstr "Wähle Seiten zum Umbenennen aus:"
+msgstr ""
 
 #: ../lib/plugin/WikiAdminSetExternal.php:128
-#, fuzzy
 msgid "Select the pages to set as external"
-msgstr "Seiten auswählen:"
+msgstr ""
 
 #: ../lib/plugin/WikiAdminUtils.php:39
 msgid "WikiAdminUtils"
@@ -5873,9 +5828,9 @@
 msgstr "Verschiedene Dienstfunktionen für den Administrator."
 
 #: ../lib/plugin/WikiAdminUtils.php:61
-#, fuzzy, php-format
+#, php-format
 msgid "Bad action requested: %s"
-msgstr "Edieren abgebrochen: %s"
+msgstr ""
 
 #: ../lib/plugin/WikiAdminUtils.php:73
 msgid "You must be an administrator to use this plugin."
@@ -5907,10 +5862,6 @@
 msgid "Access Restrictions"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:113 ../lib/WikiUserNew.php:1782
-msgid "Email Verification"
-msgstr "E-Mail Bestätigung"
-
 #: ../lib/plugin/WikiAdminUtils.php:114
 msgid "Convert cached_html"
 msgstr ""
@@ -5974,8 +5925,9 @@
 msgstr ""
 
 #: ../lib/plugin/WikiAdminUtils.php:232
-#: ../themes/default/templates/userprefs.tmpl:133
-msgid "E-Mail"
+#: ../themes/default/templates/userprefs.tmpl:131
+#: ../themes/default/templates/userprefs.tmpl:151
+msgid "E-mail"
 msgstr "E-Mail"
 
 #: ../lib/plugin/WikiAdminUtils.php:234
@@ -6025,9 +5977,15 @@
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiForm.php:74 ../themes/MonoBook/templates/signin.tmpl:19
+#: ../lib/plugin/WikiForm.php:74 ../lib/WikiTheme.php:1030
+#: ../lib/WikiUserNew.php:510 ../lib/WikiUser.php:228
+#: ../themes/blog/themeinfo.php:69 ../themes/Crao/templates/signin.tmpl:53
+#: ../themes/default/templates/login.tmpl:71
+#: ../themes/default/templates/login.tmpl:86
+#: ../themes/MonoBook/templates/signin.tmpl:19
 #: ../themes/Sidebar/templates/signin.tmpl:17
-msgid "Login"
+#: ../themes/smaller/templates/signin.tmpl:54
+msgid "Sign In"
 msgstr "Anmelden"
 
 #: ../lib/plugin/WikiForm.php:82
@@ -6064,33 +6022,33 @@
 msgid "argument '%s' not declared by plugin"
 msgstr "Argument »%s« nicht im Zusatzprogramm deklariert"
 
-#: ../lib/plugin/WikiPoll.php:157 ../lib/plugin/WikiPoll.php:226
+#: ../lib/plugin/WikiPoll.php:158 ../lib/plugin/WikiPoll.php:227
 msgid "Sorry! You must wait at least 20 minutes until you can vote again!"
 msgstr "Leider! Du kannst erst wieder in 20 Minuten wählen!"
 
-#: ../lib/plugin/WikiPoll.php:183
+#: ../lib/plugin/WikiPoll.php:184
 msgid "Not enough questions answered!"
 msgstr "Nicht genügend Fragen beantwortet!"
 
-#: ../lib/plugin/WikiPoll.php:192 ../lib/plugin/WikiPoll.php:253
+#: ../lib/plugin/WikiPoll.php:193 ../lib/plugin/WikiPoll.php:254
 #, php-format
 msgid "Missing %s for %s"
 msgstr "Fehlender %s für %s"
 
-#: ../lib/plugin/WikiPoll.php:223
+#: ../lib/plugin/WikiPoll.php:224
 msgid "Reset"
 msgstr "Zurücksetzen"
 
-#: ../lib/plugin/WikiPoll.php:269 ../lib/plugin/WikiPoll.php:283
+#: ../lib/plugin/WikiPoll.php:270 ../lib/plugin/WikiPoll.php:284
 #, php-format
 msgid "  %d%% (%d/%d)"
 msgstr "  %d%% (%d/%d)"
 
-#: ../lib/plugin/WikiPoll.php:299 ../lib/plugin/WikiPoll.php:301
+#: ../lib/plugin/WikiPoll.php:300 ../lib/plugin/WikiPoll.php:302
 msgid "The result of this poll so far:"
 msgstr "Aktuelle Ergebnisse der Umfrage:"
 
-#: ../lib/plugin/WikiPoll.php:299
+#: ../lib/plugin/WikiPoll.php:300
 msgi